Tìm hiểu về giao thức quản lý mạng SNMP và thực hiện giám sát, quản trị mạng với phần mềm Solarwinds Orion Network Performance Monitor (NPM)

Đây gồm 2 đồ án khác nhau nhưng cùng chung một mục đích các bạn tham khảo MỤC LỤC CHƯƠNG 1. TỔNG QUAN VỀ GIAO THỨC SNMP 1 1.1. Hai phương thức giám sát Poll và Alert 1 1.1.1. Phương thức Poll 1 1.1.2. Phương thức Alert 2 1.2. Giới thiệu giao thức SNMP 3 1.2.1. Ưu điểm trong thiết kế của SNMP 4 1.2.2. Nhược điểm của SNMP. 4 1.2.3. Các phiên bản của SNMP 4 1.3. Điều hành SNMP 5 1.3.1. Các thành phần trong SNMP 5 1.3.2. Bộ phận quản lý (manager) 5 1.3.3. Agent 6 1.3.4. Cơ sở thông tin quản lý - MIB 6 1.3.5. Các lệnh cơ bản trong SNMP 7 1.4. Quản lí liên lạc giữa management với các agent 9 1.5. Cơ chế vận chuyển thông tin giữa management và agent 9 1.6. Bảo vệ truyền thông liên lạc giữa management và các agent khỏi sự cố 9 1.7. Các phương thức của SNMP 11 1.7.1. GetRequest 11 1.7.2. GetNextRequest 11 1.7.3. SetRequest 12 1.7.4. GetResponse 12 1.7.5. Trap 12 1.8. Các cơ chế bảo mật cho SNMP 14 1.8.1. Community string 15 1.8.2. View 15 1.8.3. SNMP access control list 16 1.9. Cấu trúc bản tin SNMP 16 CHƯƠNG 2. TỔNG QUAN VỀ PHẦN MỀM GIÁM SÁT VÀ QUẢN TRỊ MẠNG SOLARWINDS 18 2.1. Giới thiệu về solarwinds 18 2.2. Các chức năng quản trị của Solarwinds. 18 2.3. Cài đặt và cấu hình Solarwinds Orion NetWork Performance Monitor (NPM) 19 2.3.1. Giới thiệu về Orion Network Porformance Monitor (NPM). 19 2.4. Cài đặt và cấu hình 20 2.4.1.1. Yêu cầu cần thiết trước khi cài đặt. 20 2.4.1.2. Cài đặt. 21 2.4.1.3. Cấu hình 25 CHƯƠNG 3. HƯỚNG DẨN SỬ DỤNG CÁC TÍNH NĂNG CHÍNH TRONG SOLARWINDS ORION NETWORK PERFORMANCE MONITOR (NPM) 30 3.1. Đăng Nhập Lần Đầu Tiên 30 3.2. Giao Diện Chính Của Chương Trình: 30 3.3. Giới Thiệu Giao Diện Home: 31 3.3.1. Summary 31 3.3.2. Group 32 3.3.3. Top 10 32 3.3.4. Event (sự kiện) 33 3.3.5. Alerts (cảnh báo) 34 3.3.6. Syslog 34 3.3.7. Trap (bẩy lỗi) 34 3.4. Giới thiệu giao diện Network: 34 3.4.1. Wireless 34 3.4.2. VSAN (Virtual Storage Area Network): 35 3.4.3. Overview 35 3.4.3.1. IP Network Browser 36 3.4.3.2. Trace route 37 3.4.3.3. Ping 38 3.4.3.4. Enhanced ping 38 3.4.3.5. Port Scanner 38 3.4.3.6. Telnet 39 3.4.3.7. WatchIt! 39 3.4.3.8. Subnet list 39 3.4.3.9. CPU Gauge 40 3.4.3.10. Real-Time Interface Monitor 40 3.4.3.11. MIB Browser 40 3.4.3.12. DOS Ping 41 3.4.3.13. Remote Desktop 41 3.5. Thực hành giám sát mạng với Solarwinds NPM 42 3.5.1. Mô hình giả lập 42 3.5.2. Cấu hình Router cisco hỗ trợ giám sát mạng 42 3.5.3. Thực hiện tìm kiếm phát hiện thiết bị mạng sử dụng Network Sonar Winzad 44 3.5.4. Thực hiện giám sát router Cisco 3620 51 3.5.5. Thiết lập một cảnh báo (Alerts) 54

doc65 trang | Chia sẻ: banmai | Lượt xem: 2878 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Tìm hiểu về giao thức quản lý mạng SNMP và thực hiện giám sát, quản trị mạng với phần mềm Solarwinds Orion Network Performance Monitor (NPM), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỞ ĐẦU Cùng với sự phát triển mạnh mẽ của các giải pháp công nghệ hạ tầng mạng truyền thông, hàng loạt các yêu cầu mới được đặt ra đối với các vấn đề khai thác và triển khai hệ thống trong môi trường mạng thực tiễn. Bài toán quản lí mạng luôn là mối quan tâm hàng đầu và là một trong những vấn đề quan trọng nhất cần giải quyết của các nhà khai thác viễn thông. Tùy thuộc vào các giải pháp công nghệ và các ứng dụng triển khai mà các nhà khai thác lựa chọn và xây dựng các hệ thống quản lí mạng thích hợp để nâng cao hiệu quả vận hành và khai thác mạng. Vì vậy, các giải pháp quản lí mạng luôn là một bài toán mang tính động và sát với công nghệ mạng lưới. Nhằm cung cấp cho học viên những kiến thức cơ bản trong quản lí mạng viễn thông, bài giảng này cung cấp cho sinh viên những kiến thức cơ bản về quản lí mạng viễn thông để qua đó hiểu được các cơ chế, kĩ thuật cũng như giao thức quản lí và giám sát mạng viễn thông. Môn học Quản lý mạng máy tính cung cấp cho sinh viên các kiến thức về các giao thức quản lý mạng cũng như các phần mềm, công cụ cần thiết để quản lý hệ thống mạng. Nắm bắt được trạng thái hệ thống mạng để đảm bảo hệ thống mạng được hoạt động xuyên suốt.... Vì vậy, việc tìm hiểu lý thuyết về các giao thức quản lý mạng cũng như chọn công cụ thích hợp để nghiên cứu, thực hành trong quá trình học tập là điều không thể thiếu. MỤC LỤC I. Tổng quan về solarwinds 1.1 Giới thiệu Solarwinds: Solarwinds là bộ công cụ hổ trợ đắc lực cho cho nhà quản trị: phân tích lỗi cũng như các công cụ quản lý việc thực thi trên hệ thống mạng. Phần lớn các ứng dụng trong Solarwinds đều sử dụng giao thức SNMP để truyền thông. Bao gồm 32 ứng dụng chia làm 6 phần lớn: Network Discovery Tools Ping Diagnostic Tools Tools for Cisco Routers IP Address Management Tools Fault & Performance Monitoring Tools Miscellaneous Tools 1.2. Giao thức SNPM 1.2. 1. Giám sát thiết bị mạng Chúng ta sẽ đề cập đến 3 bài toán thuộc hàng phổ biến nhất trong các ứng dụng của SolarWinds. Bài toán thứ nhất : Giám sát tài nguyên máy chủ + Giả sử bạn có nhiều máy chủ chạy các hệ điều hành (HĐH) khác nhau. Làm thế nào có thể giám sát tài nguyên của tất cả máy chủ hàng ngày, hàng giờ để kịp thời phát hiện các máy chủ sắp bị quá tải ? (Giám sát tài nguyên máy chủ nghĩa là theo dõi tỷ lệ chiếm dụng CPU, dung lượng còn lại của ổ cứng, tỷ lệ sử dụng bộ nhớ RAM, ….) + Bạn không thể kết nối vào từng máy để xem vì số lượng máy nhiều và vì các HĐH khác nhau có cách thức kiểm tra khác nhau. + Để giải quyết vấn đề này bạn có thể dùng một ứng dụng SNMP giám sát được máy chủ, nó sẽ lấy được thông tin từ nhiều HĐH khác nhau. Bài toán thứ hai : Giám sát lưu lượng trên các port của switch, router + Bạn có hàng ngàn thiết bị mạng (network devices) của nhiều hãng khác nhau, mỗi thiết bị có nhiều port. Làm thế nào để giám sát lưu lượng đang truyền qua tất cả các port của các thiết bị suốt 24/24, kịp thời phát hiện các port sắp quá tải ? + Bạn cũng không thể kết nối vào từng thiết bị để gõ lệnh lấy thông tin vì thiết bị của các hãng khác nhau có lệnh khác nhau. + Để giải quyết vấn đề này bạn có thể dùng một ứng dụng SNMP giám sát lưu lượng, nó sẽ lấy được thông tin lưu lượng đang truyền qua các thiết bị của nhiều hãng khác nhau. Bài toán thứ ba : Hệ thống tự động cảnh báo sự cố tức thời + Bạn có hàng ngàn thiết bị mạng và chúng có thể gặp nhiều vấn đề trong quá trình hoạt động như : một port nào đó bị mất tín hiệu (port down), có ai đó đã cố kết nối (login) vào thiết bị nhưng nhập sai username và password, thiết bị vừa mới bị khởi động lại (restart), …. Làm thế nào để người quản trị biết được sự kiện khi nó vừa mới xảy ra ? + Vấn đề này khác với hai vấn đề ở trên. Ở trên là làm thế nào cập nhật liên tục một số thông tin nào đó (biết trước sẽ lấy cái gì), còn ở đây là làm thế nào biết được cái gì xảy ra (chưa biết cái gì sẽ đến). + Để giải quyết bài toán này bạn có thể dùng ứng dụng thu thập sự kiện (event) và cảnh báo (warning) nó sẽ nhận cảnh báo từ tất cả các thiết bị và thông báo cho ngườiquản trị. 1.2.2. Hai phương thức giám sát Poll và Alert ( Note : Có tài liệu gọi là Poll và Trap, hoặc Get và Trap ) Trước khi tìm hiểu SNMP cũng như SolarWind , tôi muốn trình bày hai phương thức giám sát “Poll” và “Alert” Đây là 2 phương thức cơ bản của các kỹ thuật giám sát hệ thống, nhiều phần mềm và giao thức được xây dựng dựa trên 2 phương thức này, trong đó có SNMP. Việc hiểu rõ hoạt động của Poll & Alert và ưu nhược điểm của chúng sẽ giúp bạn dễ dàng tìm hiểu nguyên tắc hoạt động của các giao thức hay phần mềm giám sát khác. Hoặc nếu bạn muốn tự phát triển một cơ chế giám sát của riêng bạn thì nó cũng là cơ sở để bạn xây dựng một nguyên tắc hoạt động đúng đắn. Phương thức Poll : Nguyên tắc hoạt động : Trung tâm giám sát (manager) sẽ thường xuyên hỏi thông tin của thiết bị cần giám sát (device). Nếu Manager không hỏi thì Device không trả lời, nếu Manager hỏi thì Device phải trả lời. Bằng cách hỏi thường xuyên, Manager sẽ luôn cập nhật được thông tin mới nhất từ Device. Ví dụ : Người quản lý cần theo dõi khi nào thợ làm xong việc. Anh ta cứ thường xuyên hỏi người thợ “Anh đã làm xong chưa ?”, và người thợ sẽ trả lời “Xong” hoặc “Chưa”. Phương thức Alert Nguyên tắc hoạt động : Mỗi khi trong Device xảy ra một sự kiện (event) nào đó thì Device sẽ tự động gửi thông báo cho Manager, gọi là Alert. Manager không hỏi thông tin định kỳ từ Device. Device chỉ gửi những thông báo mang tính sự kiện chứ không gửi những thông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện gì xảy ra. Chẳng hạn khi một port down/up thì Device sẽ gửi cảnh báo, còn tổng số byte truyền qua port đó sẽ không được Device gửi đi vì đó là thông tin thường xuyên thay đổi. Muốn lấy những thông tin thường xuyên thay đổi thì Manager phải chủ động đi hỏi Device, tức là phải thực hiện phương thức Poll. Hai phương thức Poll và Alert có điểm thuận lợi và bất lợi ngược nhau, do đó nhiều trường hợp ta nên sử dụng kết hợp cả Poll lẫn Alert để đạt được hiệu quả kết hợp của cả hai. + Trong quản lý người ta luôn thực hiện song song chế độ kiểm tra và báo cáo, thường xuyên kiểm tra để phát hiện vấn đề và báo cáo ngay khi xảy ra vấn đề. 1.2.3. Giới thiệu giao thức SNMP SNMP là “giao thức quản lý mạng đơn giản”, dịch từ cụm từ “Simple Network Management Protocol”. Thế nào là giao thức quản lý mạng đơn giản ? Giao thức là một tập hợp các thủ tục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau. Trong lĩnh vực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu trao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó. Nếu một bên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bên khác sẽ không hiểu hoặc từ chối trao đổi thông tin. SNMP là một giao thức, do đó nó có những quy định riêng mà các thành phần trong mạng phải tuân theo. Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là “có hỗ trợ SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMP compartible). SNMP dùng để quản lý, nghĩa là có thể theo dõi, có thể lấy thông tin, có thể được thông báo, và có thể tác động để hệ thống hoạt động như ý muốn. VD một số khả năng của phần mềm SNMP :+ Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã truyền/nhận. + Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu. + Tự động nhận cảnh báo khi switch có một port bị down. + Điều khiển tắt (shutdown) các port trên switch. SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng TCP/IP. Các thiết bị mạng không nhất thiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một số phần mềm cho phép quản trị bằng SNMP. Giả sử bạn có một cái máy giặt có thể nối mạng IP và nó hỗ trợ SNMP thì bạn có thể quản lý nó từ xa bằng SNMP. SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version 3). Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập trung từ xa toàn mạng của mình. Ưu điểm trong thiết kế của SNMP SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong mạng. SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát. Không có giới hạn rằng SNMP có thể quản lý được cái gì. Khi có một thiết bị mới với các thuộc tính, tính năng mới thì người ta có thể thiết kế “custom” SNMP để phục vụ cho riêng mình SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế của các thiết bị hỗ trợ SNMP. Các thiết bị khác nhau có hoạt động khác nhau nhưng đáp ứng SNMP là giống nhau. VD bạn có thể dùng 1 phần mềm để theo dõi dung lượng ổ cứng còn trống của các máy chủ chạy HĐH Windows và Linux; trong khi nếu không dùng SNMP mà làm trực tiếp trên các HĐH này thì bạn phải thực hiện theo các cách khác nhau. Các phiên bản của SNMP SNMP có 4 phiên bản : SNMPv1, SNMPv2c, SNMPv2u và SNMPv3. Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động. Hiện tại SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm hỗ trợ nhất. Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ SNMPv3. Object ID Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi thông tin đó gọi là một object. Ví dụ : + Máy tính có thể cung cấp các thông tin : tổng số ổ cứng, tổng số port nối mạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đang chạy, …. + Router có thể cung cấp các thông tin : tổng số card, tổng số port, tổng số byte đã truyền/nhận, tên router, tình trạng các port của router, …. Mỗi object có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là Object ID (OID). VD : + Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5 4. + Tổng số port giao tiếp (interface) được gọi là ifNumber, OID là 1.3.6.1.2.1.2.1. + Địa chỉ Mac Address của một port được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6. + Số byte đã nhận trên một port được gọi là ifInOctets, OID là 1.3.6.1.2.1.2.2.1.10. Note : ý nghĩa của từng chữ số trong OID, chúng sẽ được giải thích trong phần sau. Một object chỉ có một OID, chẳng hạn tên của thiết bị là một object. Tuy nhiên nếu một thiết bị lại có nhiều tên thì làm thế nào để phân biệt ? Lúc này người ta dùng thêm 1 chỉ số gọi là “scalar instance index” (cũng có thể gọi là “sub-id”) đặt ngay sau OID. Ví dụ : + Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2 tên thì chúng sẽ được gọi là sysName.0 & sysName.1 và có OID lần lượt là 1.3.6.1.2.1.1.5.0 & 1.3.6.1.2.1.1.5.1. + Địa chỉ Mac address được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6; nếu thiết bị có 2 mac address thì chúng sẽ được gọi là ifPhysAddress.0 & ifPhysAddress.1 và có OID lần lượt là 1.3.6.1.2.1.2.2.1.6.0 & .3.6.1.2.1.2.2.1.6.1. + Tổng số port được gọi là ifNumber, giá trị này chỉ có 1 (duy nhất) nên OID của nó không có phân cấp con và vẫn là 1.3.6.1.2.1.2.1. Ở hầu hết các thiết bị, các object có thể có nhiều giá trị thì thường được viết dưới dạng có sub-id. VD một thiết bị dù chỉ có 1 tên thì nó vẫn phải có OID là sysName.0 hay 1.3.6.1.2.1.1.5.0. Sub-id không nhất thiết phải liên tục hay bắt đầu từ 0. VD một thiết bị có 2 mac address thì có thể chúng được gọi là ifPhysAddress.23 và ifPhysAddress.125645. OID của các object phổ biến có thể được chuẩn hóa, OID của các object do bạn tạo ra thì bạn phải tự mô tả chúng. Để lấy một thông tin có OID đã chuẩn hóa thì SNMP application phải gửi một bản tin SNMP có chứa OID của object đó cho SNMP agent, SNMP agent khi nhận được thì nó phải trả lời bằng thông tin ứng với OID đó. VD : Muốn lấy tên của một PC chạy Windows, tên của một PC chạy Linux hoặc tên của một router thì SNMP application chỉ cần gửi bản tin có chứa OID là 1.3.6.1.2.1.1.5.0. Khi SNMP agent chạy trên PC Windows, PC Linux hay router nhận được bản tin có chứa OID 1.3.6.1.2.1.1.5.0, agent lập tức hiểu rằng đây là bản tin hỏi sysName.0, và agent sẽ trả lời bằng tên của hệ thống. Nếu SNMP agent nhận được một OID mà nó không hiểu (không hỗ trợ) thì nó sẽ không trả lời. Một trong các ưu điểm của SNMP là nó được thiết kế để chạy độc lập với các thiết bị khác nhau. Chính nhờ việc chuẩn hóa OID mà ta có thể dùng SolarWind để lấy thông tin các loại device của các hãng khác nhau. Object access Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE. Mọi object đều có thể đọc được nhưng chỉ những object có quyền READ_WRITE mới có thể thay đổi được giá trị. VD : Tên của một thiết bị (sysName) là READ_WRITE, ta có thể thay đổi tên của thiết bị thông qua giao thức SNMP. Tổng số port củathiết bị (ifNumber) là READ_ONLY, dĩ nhiên ta không thể thay đổi số port của nó. Management Information Base MIB (cơ sở thông tin quản lý) là một cấu trúc dữ liệu gồm các đối tượng được quản lý (managed object), được dùng cho việc quản lý các thiết bị chạy trên nền TCP/IP. MIB là kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuân theo, trong đó có SNMP. MIB được thể hiện thành 1 file (MIB file), và có thể biểudiễn thành 1 cây (MIB tree). MIB có thể được chuẩn hóa hoặc tự tạo. Hình sau minh họa MIB tree : Một node trong cây là một object, có thể được gọi bằng tên hoặc id. Ví dụ : + Node iso.org.dod.internet.mgmt.mib-2.system có OID là 1.3.6.1.2.1.1, chứa tất cả các object lien quan đến thông tin của một hệ thống như tên của thiết bị (iso.org.dod.internet.mgmt.mib-2.system.sysName hay 1.3.6.1.2.1.1.5). + Các OID của các hãng tự thiết kế nằm dưới iso.org.dod.internet.private.enterprise. Ví dụ : Cisco nằm dưới iso.org.dod.internet.private.enterprise.cisco hay 1.3.6.1.4.1.9, Microsoft nằm dưới iso.org.dod.internet.private.enterprise.microsoft hay 1.3.6.1.4.1.311. Số 9 (Cisco) hay 311 (Microsoft) là số dành riêng cho các công ty do IANA cấp 5. Nếu Cisco hay Microsoft chế tạo ra một thiết bị nào đó, thì thiết bị này có thể hỗ trợ các MIB chuẩn đã được định nghĩa sẵn (như mib-2) hay hỗ trợ MIB được thiết kế riêng. Các MIB được công ty nào thiết kế riêng thì phải nằm bên dưới OID của công ty đó. Các objectID trong MIB được sắp xếp thứ tự nhưng không phải là liên tục, khi biết một OID thì không chắc chắn có thể xác định được OID tiếp theo trong MIB. VD trong chuẩn mib-2 6 thì object ifSpecific và object atIfIndex nằm kề nhau nhưng OID lần lượt là 1.3.6.1.2.1.2.2.1.22 và 1.3.6.1.2.1.3.1.1.1. Muốn hiểu được một OID nào đó thì bạn cần có file MIB mô tả OID đó. Một MIB file không nhất thiết phải chứa toàn bộ cây ở trên mà có thể chỉ chứa mô tả cho một nhánh con. Bất cứ nhánh con nào và tất cả lá của nó đều có thể gọi là một mib. Một manager có thể quản lý được một device chỉ khi ứng dụng SNMP manager và ứng dụng SNMP agent cùng hỗ trợ một MIB. Các ứng dụng này cũng có thể hỗ trợ cùng lúc nhiều MIB. Trong chương này chúng ta chỉ đề cập đến khái niệm MIB ngắn gọn như trên. II. 5 chức năng quản trị: Performance Mgmt: quản lý việc thực thi của hệ thống mạng: Độ tin cậy. Tính hiệu quả. Thời gian truyền Công cụ giới thiệu: Network Perormance Monitor ( Alert + SNMP Trap recieiever) Configuration Mgmt: quản lý các thông số cấu hình của hệ thống mạng: Install Update Fault Mgmt: quản lý lỗi cho hệ thống mạng: Preactive : khi có sự cố thì bắt tay vào khắc phục. Proactive: tác động đến hệ thống trước khi hệ thống xãy ra lỗi, điều này dựa nhiều vào kinh nghiệm của nhà quản trị. Công cụ giới thiệu: Network Performance Monitor (Alert+SNMPTrap receiver) Security Mgmt: Packet filter. Access Control. Tài nguyên mạng. Service: Xác thực ai muốn dùng tài nguyên Bất kỳ ai muốn sử dụng tài nguyên cũng phải giới hạn quyền Bất kỳ dữ liệu lưu trữ nào cũng cấp quyền Tính toàn vẹn dữ liệu trên đường truyền Tính không chối cãi của công việc chia sẻ Công cụ giới thiệu: Port Scanner: xác định trên Agent có những dịch vụ nào đang mở (thông qua cổng dịch vụ) SNMP Brute Force Attack: công cụ quét Community của một Agent Edit Dictionaries: xây dựng cơ sở dữ liệu gồm các từ dùng cho SNMP Remote TCP Reset: thiết lập lại các phiên kết nối trên các thiết bị ở xa như router, server đầu cuối, server truy cập … Router Password Decryption: giải mã password của Cisco loại 7 Security Check: tấn công thử để kiểm tra tính an toàn của chuỗi community có thuộc tính read-write SNMP Brute Force Attack: dùng các câu truy vấn SNMP với các ký tự tuần tự để cố găng xác định chuỗi community SNMP Dictionary Attack tấn công dùng dictionary đã biết để tìm chuỗi community 5. Accounting Mgmt: Xác thực. Cấp quyền. Giám sát các quyền hạn trên Agent. Công cụ giới thiệu IP Network Browser V.QUẢN TRỊ CẤU HÌNH Mô hình quản trị: Tìm hiểu công cụ quản trị mạng: SolarWinds Orion Network Configuration Management (NCM) Bước 1: Cài đặt + SQL Server 2005 Express + Orion NCM Bước 2: Tạo cơ sở dữ liệu trong SQL để ghi lại thông tin quản trị: Bước 3: Discover và Import thiết bị quản trị: Bước 4: Xem thiết lập các thông số baseline ban đầu Installed Software: -Running Software: System Mibs: sysDescr: Mô tả nguyên văn của đối tượng quản lý. Giá trị này thường bao gồm tên đầy đủ và version của loại phần cứng của hệ thống, hệ điều hành, thiết bị mạng. sysObjectID: định danh của đối tượng đang được quản lý sysContact: Tên liên lạc của người quản lý node này SysUptime: Thời gian từ lúc mà hệ thống khởi động thiết lập sysLocation: Địa chỉ thật của node đang quản lý sysServices: Tổng số dịch vụ mà node cho phép Interface Mibs: Quản trị performance: ifMtu: Kích thước lớn nhất của một packet có thể được gửi và nhận trên interface này, tính bằng octets. ifSpeed: băng thông hiện thời trên interface theo đơn vị bit/s. Với những interface không có sự thay đổi về băng thông hay những interface không thể ước lượng được chính xác, thì giá trị này sẽ là băng thông hiệu dụng. Nếu băng thông này lớn hơn giá trị cực đại mà biến này có thể biểu diễn (4,294,967,295) thì variable ifHighSpeed sẽ được dùng để biểu diễn tốc độ của interface. Đối với các sub-layer mà không liên quan đến tốc độ thì giá trị này được biểu diễn là 0. ifOperStatus: Trạng thái hoạt động hiện hành trong hệ thống của interface, có cùng trạng thái với ifAdminStatus là up nếu như interface đã sẵn sàng để chuyển và nhận lưu lượng mạng, hoặc đang đợi cho một hành động bên ngoài( ví dụ : như đang đợi cho một kết nối vào), down khi có lỗi xảy ra. ifInUcast Pkts: Tổng số gói unicast được phân phối bởi lớp dưới lên lớp trên của nó IfInNUcast Pkts: Tổng số gói, được phân phối bởi lớp dưới lên lớp trên, là địa chỉ multicast hoặc broadcast của lớp dưới. ifOutOctets: số octet ra khỏi interface ifOutUnicastPkts: Số gói unicast ra khỏi interface ifOutNUcastPkts: số gói không phải unicast ra khỏi interface Quản trị lỗi: ifInErrors: Là số các gói nhận vào mà có lỗi đối với interface hướng gói , là chiều dài tổng số lần đơn vị chuyển tải vào bị lỗi đối với interface hướng ký tự. Ngăn cản chúng không cho phân phối tới lớp giao thức cao hơn. ifOutErrors: lỗi của gói ra ifInUnknownProtos: Tổng số gói được nhận qua interface sẽ bị huỷ bởi vì không có giao thức hoặc giao thức không được hỗ trợ. ifInDiscard: số gói bị hủy ifOutDiscards: gói ra bị hủy ifLastChange: Lần cuối cùng thay đổi trạng thái của interface ifOutQlen: chiều dài gói ra Route Table: ipRouteDest: route đích ipRouteInIndex: số chỉ mục route ipRouteMetric: metric của route. Trường hợp chưa thiết lập mặc định là -1 ipRouteNextHop:hop tiếp theo trên đường đi ipRouteType: kiểu đường đi (direct, indirect) ipRouteProto: giao thức định tuyến ipRouteAge: Thời gian tồn tại của route ipRouteMask: mặt nạ cho subnet của địa chỉ ip Ip Mibs: Quản trị performance: ipInReceives.0: tổng số gói nhận được tại interface này bao gồm các gói bị lỗi. ipInDelivers.0: số gói nhận được phân phối đến lớp trên ipOutRequests.0: số gói yêu cầu cần được truyền đến lớp trên ipReasmTimeout.0: thời gian tối đa (tính bằng giây) để chờ nhận các mảnh mà đang chờ được tái hợp. ipReasmReqds.0: số lượng của các phân mảnh IP nhận mà đang chờ tái hợp. ipReasmOKs.0: số lượng của các gói IP tái hợp thành công. Do không có gói nào bị phân mãnh nên trường này có giá trị là 0. ipReasmFails.0: số lượng các gói không thành công được phát hiện bởi thuật toán tái hợp của IP. ipFragOKs.0: số lượng của các gói IP mà phân mảnh thành công. ipFragFails.0: số lượng của các gói IP mà bị loại bỏ bởi vì chúng không thể bị phân mảnh. ipFragCreates.0: số lượng của các gói IP phân mảnh được tạo trong quá trình phân mảnh. Quản trị fault: ipInHdrErrors.0: lỗi trong Header ipInAddrrErrors.0: lỗi trong địa chỉ ipForwDatagrams.0: số datagram được chuyển tiếp ipInUnknownProtos.0:tổng số gói được nhận sẽ bị huỷ vì không có giao thức hoặc giao thức không được hỗ trợ. ipOutNoRoutes.0: số gói ra không có đường đi ipInDiscards.0: số lượng các gói IP input mà không có vấn đề gì bắt gặp để ngăn chặn chúng được tiếp tục xử lý, nhưng mà bị loại bỏ do khác hơn các lỗi (ví dụ: hết buffer). ipInDelivers.0: tổng số các gói input thành công mà chuyển lên giao thức lớp trên user của IP (bao gồm cả ICMP). ipOutDiscards.0: số lượng các gói output không có vấn đề gì gặp phải để chuyển đi nhưng bị loại bỏ bởi lý do khác lỗi (như hết buffer). ipOutNoRoutes.0: số lượng các gói IP bị loại bỏ do không có tuyến đường nào có thể tìm thấy để chuyển chúng đến đích của chúng. Chú ý rằng các gói này bao gồm bất kỳ gói mà một host không thể định định tuyến bởi vì tất cả các router mặc định của chúng đã bị down. TCP Mibs: Quản trị performance: tcpActiveOpens: số lần các kết nối TCP tạo ra một chuyển tiếp đến trạng thái SYN-SENT từ trạng thái CLOSE tcpPassiveOpens: số lần các kết nối TCP tạo ra một chuyển tiếp trực tiếp tcpAttempptFails: số lần thử kết nối bị lỗi tcpEstabResets: số các reset xuất hiện tcpCurrEstab: số kết nối có trạng thái hiện tại là ESTABLISHED hay CLOSE-WAIT tcpInSegs: tổng số segment đã nhận tcpOutSegs: tổng số segment đã gửi tcpRetransSegs: tổng số segment được truyền lại tcpOutRsts: tổng số segment được gửi Quản trị fault: tcpAttempptFails: số lần thử kết nối bị lỗi tcpEstabResets: số các reset xuất hiện tcpRetransSegs: tổng số segment được truyền lại tcpErrs: tổng số segment nhận được bị lỗi tcpRtoAlgorithm: thuật toán được sử dụng để xác định giá trị timeout sử dụng cho việc truyền lại các octet không hoàn thành tcpRtoMin: giá trị nhỏ nhất được cho phép bởi sự thực thi TCP cho việc truyền lại timeout tcpRtoMax: giá trị lớn nhất được cho phép bởi sự thực thi TCP cho việc truyền lại timeout tcpMaxConn: số liên kết TCP tối đa tcpConnState: trạng thái của kết nối UDP Mibs: Quản trị performance: udpInDatagrams: tổng số gói UDP được phân phát đến các UDP user udpNoPorts: tổng số gói UDP đã nhận không có ứng dụng ở port đích udpInErrors: tổng số goi UDP đã nhận nhưng nó không thể được phát đi cho các nguyên nhân ngoại trừ việc thiếu một ứng dụng ở port đích udpOutDatagrams: tổng số gói UDP đã gửi từ entity này. ICMP Mibs: Quản trị performance icmpInMsgs: tổng số thông điệp ICMP đi vào icmpInErrorss: số các thông điệp ICMP đi vào có chứa lỗi icmpInDestUnreachs: số thông ICMP không đọc được đích đến icmpInTimeExcds: số các thông điệp ICMP vượt quá thời gian icmpInParmProbs: số thông điệp ICMP thông số khó hiểu đi vào icmpInSrcQuenchs: số thông điệp ICMP Source Quench đi vào icmpInRedirects: số thông điệp ICMP Redirect đã nhận icmpInEchos: số các thông điệp ICMP Echo request đi vào icmpInEchoReps: số các thông điệp ICMP Echo reply nhận được icmpInTimestamps: số ICMP Timestamp request đã nhận icmpInTimestampReps : số thông điệp ICMP Timestamp Reply đi vào đã nhận icmpInAddrMasks: số ICMP Adddresss Mask Request đi vào đã nhận icmpInAddrMaskReps: số thông điệp ICMP Adddresss Mask Reply đi vào đã nhận icmpOutMsgs: tổng số thông điệp ICMP mà entity thử nhận icmpOutErrors: tổng số lần thử để gửi thông điệp ICMP bị lỗi icmpOutDestUnreachs: số thông điệp ICMP gửi để báo các đích không đọc được icmpOutTimeExcds: số thông điệp ICMP gửi để báo vượt quá thời gian icmpOutParmProbs: số thông điệp ICMP gửi để báo vấn đề về tham số icmpOutSrcQuenchs: số thông điệp ICMP Soure Quench đã gửi icmpOutRedirects: số thông điệp ICMP Redirect đã gửi icmpOutEchos: số thông điệp Echo Request messages đã gửi icmpOuttEchoReps: số thông điệp Echo Reply messages đã gửi icmpOutAddrMasks: số thông điệp Address Mask Request đã gửi icmpOutAddrMaskReps: số thông điệp Address Mask Reply đã gửi Quản trị fault: icmpOutMsgs: tổng số thông điệp ICMP thử nhận icmpOutErrors: tổng số lần thử để gửi thông điệp ICMP bị lỗi icmpInRedirects: số thông điệp ICMP Redirect đã nhận SNMP Mibs: Quản trị Performance: snmpIn/OutTotalReqVars: Số đối tượng Mib được phục hồi thành công khi nhận được các PDUs get-request và get-next hợp lệ./ được tạo ra snmpIn/OutGetRequests: Số PDU get-request được chấp nhận/ được tạo ra snmpIn/OutGetNexts: Số PDU get-next được chấp nhận nhận và xử lý/ được tạo ra snmpIn/OutGetResponse: Số PDU get-response được chấp nhận và xử lý/ được tạo ra Quản trị Faults: snmpIn/OutTooBigs: Số lượng SNMP PDUs phân phối tới / được tạo bởi thực thể giao thức SNMP có giá trị của trường error-status là “tooBig”. snmpIn/OutNoSuchNames: Số lượng SNMP PDUs phân phối tới/được tạo bởi thực thể giao thức SNMP có giá trị của trường error-status là “noSuchName”. snmpIn/OutBadValues: Số lượng SNMP PDUs phân phối tới/được tạo bởi thực thể giao thức SNMP có giá trị của trường error-status là “badValue”. snmpIn/OutGenErrs: Số lượng SNMP PDUs phân phối tới/được tạo bởi thực thể giao thức SNMP có giá trị của trường error-status là “genErr”. Thiết lập Event Log: Giúp cất giữ các các bản record chi tiết của các sự kiện, giúp cho việc theo dõi và troubleshoot những bất thường xảy ra. NCM cung cấp một chức năng rất tiện lợi cho việc theo dõi và cập nhật thông tin cấu hình là download config. Với chức năng này, admin có thể download các thông tin cấu hình từ device và so sánh với các giá trị baseline đã thiết lập hay các thông tin cấu hình download trước đó, hoặc đơn giản là để backup. Nhưng chức năng này không hoạt động được một cách bình thường vì luôn có lỗi xảy ra, và không thể tự động download bất cứ thông tin cần thiết nào từ thiết bị quản trị. Các chức năng theo dõi và cập nhật dựa vào tập tin syslog vì thế cũng không thể hoạt động.Cho nên tất cả các thay đổi về thông tin cấu hình sẽ được theo dõi thủ công dựa vào các thông số Mib và theo dõi theo thời gian thực cùng với việc theo dõi CPU load. Theo dõi theo thời gian thực các giá trị baseline của thiết bị: CPU load : VI. SECURITY MANAGEMENT Giới thiệu về Security Management : Quản trị Security là một chức năng quản trị rất quan trọng trong hệ thống mạng của chúng ta. Hệ thống hoạt động ổn định với hiệu suất cao và tính an ninh được đảm bảo là điều luôn được mong muốn. Một hệ thống mạng khi đã được Configuration, thì song song với việc quản trị Performance, Fault, Accouting thì chức năng quản trị Security cũng được quan tâm hàng đầu. Phát hiện các xâm nhập trái phép vào hệ thống, thực hiện các biện pháp chống xâm nhập, vá lỗi khi phát hiện một lỗ hổng nào đó. Thực hiện các biện pháp an ninh thông qua việc đưa ra các Policy cụ thể. Nhằm đảm bảo an ninh cho tài khoản người dùng (Users) cũng như tài nguyên của hệ thống mạng (Resources). Quản trị bảo mật trên công cụ Solarwind v9.2: Trên Solarwind hỗ trợ khá nhiều công cụ giúp ích cho việc quản trị an ninh mạng. Một số công cụ như: SNMP Brute Force Attack: dùng các câu truy vấn SNMP với các ký tự tuần tự để cố găng xác định chuỗi community SNMP Dictionay Attack : tấn công dùng dictionary đã biết để tìm chuỗi community string SNMP Port Scanner giám sát từ xa trạng thái port trên thiết bị Remote TCP Session Reset: thiết lập lại các phiên kết nối trên các thiết bị ở xa như router, server đầu cuối, server truy cập … Edit Dictionaries: xây dựng cơ sở dữ liệu gồm các từ dùng cho SNMP Cisco Route Password Decryption : Giải mã mật khẩu của các Router Cisco Bộ công cụ bảo mật trong Solarwind 9.2 Sau đây chúng ta sẽ khảo sát một số công cụ như sau: SNMP Brute Force Attack Giới thiệu: SNMP Brute Force Attack là công cụ cho phép xác định chuỗi community string SNMP là read-only hay read-write bằng việc thử tất cả các kí tự cũng như chữ số có thể. Công cụ này có thể tùy chỉnh để có thể chỉ thử các kí tự nhất định hay các chuỗi community có chiều dài cố định. Sử dụng công cụ này, bạn cần chấp nhận các thỏa thuận và đồng ý chỉ chạy các ứng dụng này trên mạng thuộc quyền quản trị của bạn. Tuy đây là một công cụ tấn công, nhưng các nhà quản trị cũng dùng để tìm kiếm khôi phục lại các SNMP community string. Demo: PC NMS thực hiện Scan để tìm kiếm khôi phục lại chuỗi community string trên PC Agent (IP như hình vẽ) Cấu hình như sau: Trên PC Agent: vào Administrator Tool/ Computer Management -> Chọn Services -> chọn SNMP services -> Ở tab Security chúng ta cấu hình 2 chuỗi community như sau Trên PC NMS cấu hình như sau: Khởi động ứng dụng SNMP Brute Force Attack -> chọn Settings Ở tab General: tùy chọn chiều dài của chuỗi community string (ở đây chúng ta chọn chiều dài la 5) Tab Character Set: sẽ scan chuỗi community bằng việc thử tất cả các kí tự thường Và bắt đầu thực hiện scan, đồng thời thực hiện bắt gói bằng Wireshark Kết quả thu được là 2 chuỗi community: ab và cd Phân tích hoạt động của công cụ trên dựa vào các gói bắt được Nguyên tắc hoạt động là: PC NMS sẽ liên tục gởi ra các gói tin Get-request kèm theo 1 kí tự sinh ra trong chuỗi Custom Character Set mà chúng ta đã cài đặt. Đến khi chuỗi kí tự get-request match với chuỗi kí tự community thì PC Agent sẽ gởi Get-Respont lại cho PC NMS xác nhận đúng community string. Trong gói tin sau, ở gói thứ 133, PC NMS gởi chuỗi ab và match với chuỗi community của PC Agent Và ngay lập tức, PC Agent gởi Respont xác nhận đúng cho PC NMS ở gói 134: Tương tự với chuỗi community cd là ở gói 449 và 450 Sau khi đã scan được chuỗi community string thì tiếp tục kiểm tra chuỗi đó là Read-Only hay là Read-Write. Bằng cách PC NMS gởi 1 gói Set-Request kèm theo 1 giá trị sysContact. PC NMS gởi gói SET để coi thử community string có khả năng Write hay không. Sau đó yêu cầu lấy thông tin sysContact.0 trên máy PC Agent xem việc SET có thành công không. Nếu không thể SET giá trị sysContact thì community string đó là Read-Only. Ngược lại, nếu có thể SET giá trị sysContact thì community string đó là Read-Write Ở community string ab. PC NMS gởi gói Set-Request như sau: Và PC Agent gởi Respont như sau: Giá trị sysContact không thể thay đổi nên ab là community string Read-Only Ở community string cd, cũng tương tự như vậy ta thu được kết quả sau: Và nhận được gói tin Respont như sau: Dễ dàng nhận thấy việc Set sysContact (Test 241246) đã thành công. Suy ra cd là community string Read-Write Nhận xét: Nếu chuỗi community string là chuỗi phức tạp thì việc dò tìm sẽ rất khó khăn và mất nhiều thời gian. Việc dò tìm string thông qua việc gởi Get-request liên tục cho đến khi đúng chuỗi string, có thể sẽ bị Firewall ngăn chặn. Là công cụ có thể dành cho hacker tấn công lấy chuỗi community nên quản trị phải hết sức cẩn thận. Port Scanner Giới thiệu: là công cụ cho phép discover từ xa trạng thái của các Port trên 1 địa chỉ IP hay một danh sách các địa chỉ IP. Quá trình quét đơn giản được mô tả như sau: Thật ra thì Port Scanner là một công cụ trong Solarwind nhưng lại không hỗ trợ giao thức SNMP. Gói tin bắt được như sau: Nhận xét: Công cụ không hỗ trợ giao thức SNMP nhưng lại rất cần thiết cho các nhà quản trị. Các nhà quản trị dễ dàng nhận biết được các cổng nào được bật lên trong hệ thống mạng của mình, các cổng nào khả nghi, cổng nào có thể hacker khai thác để tấn công. Qua đó, có biện pháp ngăn chặn kịp thời Tuy nhiên công cụ này chỉ cho phép thu thập thông tin, người quản trị hoàn toàn không được phép disable một port nào đó từ xa, hay chuyển trạng thái(từ Up sang Down, ngược lại) của Port. Ngoài ra, trong Solarwind còn hỗ trợ một số công cụ Security khác như: SNMP Dictionary Attack: giống như SNMP Brute Force Attack cũng dùng để thực hiện việc dò tìm các community string nhưng theo phương pháp Dictionary. Tức là tạo một thư viện chứa các chuỗi có thể là community string, sao đó scan và đối chiếu 2 string, nếu match thì chuỗi đó là community string. Việc scan có kết quả hay không là tùy thuộc hoàn toàn vào thư viện bạn tạo ra. Remote TCP Session Reset: cho phép quản trị viên hiển thị tất cả các session hoạt động trên server đầu cuối, router, dial server, hoặc truy cập server và dễ dàng reset bất kì session nào. III. Tổng kết : Security Management là chức năng quản trị vô cùng quan trọng trong một hệ thống mạng. Đòi hỏi nhà quản trị cần giám soát chặt chẽ hoạt động của hệ thống mạng, phân tích các hành vi khả nghi, đưa ra các chính sách đảm bảo an ninh tốt. Ở HĐH Windows đã có tích hợp sẵn một số những tiện ích hỗ trợ chức năng quản trị Security cho nhà quản trị mạng. Domain Controller là ứng dụng quan trọng trong việc quản trj bảo mật. Đòi hỏi các chính sách policy phù hợp cũng như sự thực hiện nghiêm túc của các user. Ở công cụ Solarwind, công cụ chuyên dụng để quản trị mạng thì có một số tính năng nâng cao hơn. Solarwinds mục đích chính là quản trị 2 chức năng: performance, fault khá kỹ càng. Ở khía cạnh Security, Solarwinds giúp cho người quản trị thu thập thông tin Port trong tổ chức, cũng như việc phục hồi community… Đối với Security Management, thì việc quản trị không liên quan đến nhiều thông số MIB, có thể khảo sát một số thông số Mib sau đây: sysContact: đoạn text nhận dạng liên lạc đối tượng cho việc quản trị node đó, cùng các thông tin liên lạc với node đó sysObjectID: nhận dạng xác thực nhà cung cấp của hệ thống mạng trong 1 thực thể. Giá trị nhận dạng được phân bổ trong cây SMI (1.3.6.1.4.1). ví dụ nếu nhà cung cấp là Flintstones, Inc. sẽ được gán cây 1.3.6.1.4.1.4242 và có thể gán 1.3.6.1.4.1.4242.1.1 để nhận dạng Red Router ipDefaultTTL: thời gian sống của một gói tin ip. Nếu thời gian sống lớn, nhưng gói tin không thể đến đích được, gói tin sẽ bị loop trong mạng. và nếu có nhiều gói tin bị loop thì hệ thống mạng sẽ hoạt động trì truệ. Hacker có thể lợi dụng điểm yếu này để gởi nhiều gói tin bị loop làm cho hệ thống mạng tắt nghẽn VII. ACCOUNTING MANAGEMENT Tập MIB được sử dụng cho quản trị Accounting : System MIB -sysName(1.3.6.1.2.1.1.5) : Tên của hệ thống -sysDescr(1.3.6.1.2.1.1.1) : Mô tả hệ thống -sysContact(1.3.6.1.2.1.1.4) : Tên kết nối của hệ thống -sysObjectID(1.3.6.1.2.1.1.2) : ID của hệ thống -sysLocation(1.3.6.1.2.1.1.6) : Vị trí của hệ thống -sysUpTime(1.3.6.1.2.1.1.3) : Thời gian sau khi hệ thống quản trị khởi tạo lại -sysServices(1.3.6.1.2.1.1.7) : Tập các giá trị chỉ các dịch vụ mà hệ thống này có khả năng cung cấp -sysORLastChange(1.3.6.1.2.1.1.8) : Giá trị của sysUpTime tại thời điểm có sự thay đổi gần đây nhất trong trạng thái hay giá trị bất kỳ thể hiện nào của sysORID -sysORTable(1.3.6.1.2.1.1.9) : - sysOREntry(1.3.6.1.2.1.1.9.1) : Một mục khái niệm mới trong sysORTable - sysORIndex(1.3.6.1.2.1.1.9.1.1) : Biến phụ trợ được sử dụng để xác định các trường hợp của các đối tượng hình cây cột trong sysORTable - sysORID(1.3.6.1.2.1.1.9.1.2) : Một xác định thẩm quyền của một tuyên bố khả năng đối với các MIB module hỗ trợ bởi các thực thể SNMPv2 tại đó diễn xuất trong một vai trò đại lý. - sysORDescr(1.3.6.1.2.1.1.9.1.3) : Một đoạn mô tả các khả năng xác định bởi các thể hiện tương ứng của sysORID - sysORUpTime(1.3.6.1.2.1.1.9.1.4) : Giá trị của sysUpTime mà lúc đó hàng nhận thức này được thể hiện cuối cùng Case study: - Từ máy quản trị NMS lấy thông tin về các account hiện có trên một máy agent. Cụ thể là từ máy NMS 192.168.188.3 lấy thông tin các account hiện có trên máy Agent 192.168.188.4 Tiến hành: -Sử dụng IP Network Browser của tool Solarwind bắt đầu khảo sát Cài đặt trên máy NMS để khảo sát Nhập địa chỉ 192.168.188.4 của máy agent để khảo sát.Thực hiện Scan Device với community là public.Mở chương trình wireshark để bắt các gói thông tin để phân tích. Các thông tin của gói bắt được khi tiến hành Nhìn vào hình 2 ta thấy được ban đầu: -Máy NMS ping thử cho máy Agent xem địa chỉ cần xác định Scan có tồn tại hay không.Sau đó là gói tin trả lời của máy Agent. Gói tin yêu cầu thông số sysobjectID.0 của NMS -Tiếp đó máy NMS tiến hành lấy các gói tin sysobjectID.0,sysName.0,sysDescr.0 Phân tích kỹ các gói tin này dựa vào thông số mà wireshark bắt được để biết được quá trình quản trị của máy NMS. Thông số của gói tin get-request sysObjectID.0 Hình 4 hiển thị cho các thông tin có trong gói tin get-request được gửi từ máy NMS. -Lúc này xuất hiện phương thức get cua giao thức SNMP,”get” được gửi từ NMS yêu cầu tới agent. Agent nhận yêu cầu và xử lý với khả năng tốt nhất có thể. Nếu một thiết bị nào đó đang bận tải nặng, như router, nó không có khả năng trả lời yêu cầu nên nó sẽ hủy lời yêu cầu này. Nếu agent tập hợp đủ thông tin cần thiết cho lời yêu cầu, nó gửi lại cho NMS một ”get-response”. -Trong gói tin này ta chú ý trường variable-binding.Đây là trường thông tin chứa là một danh sách các đối tượng của MIB mà NMS muốn lấy từ agent. Agent hiểu câu hỏi theo dạng: OID=value để tìm thông tin trả lời.Trên hình 4,cho ta thấy có 1 thông tin mà NMS cần biết.Cụ thể ở đây là MIB sysobjectID. -Dãy số 1.3.6.1.2.1.1.2.0 là OID có ý nghĩa sau: * Với 1.3.6.1.2.1.1 là: Object Identifier chỉ tới tới nhóm ”system” trong MIB. Cụ thể là : 1 : ISO được gán OID 1.3 : tổ chức xác định tiêu chuản ISO 1.3.6 : US Department of Defense 1.3.6.1 : OID assignments from 1.3.6.1 - Internet 1.3.6.1.2 : Quản lý IETF 1.3.6.1.2.1 : SNMP-MIBv2 1.3.6.1.2.1.1 : System-MIB Tiếp theo là .2 : Chỉ tới một trường thứ 2 trong bảng “system” là sysObjectID .0 :là chi sự vô hướng trong bảng “system”,các hang được đánh số từ 1 trở đi. Gói tin trả lời get-respone sysObjectID.0 của máy agent Nhìn vào trường variable-binding của gói tin để ta xác định thông tin chính của gói tin này.Khi máy NMS hỏi thông số của sysObjectID của máy Agent(1.3.6.1.2.1.1.2.0) thì máy Agent tra thông số MIB trong bảng của nó và trả lời lại là 1.3.6.1.4.1.311.1.1.3.1.3-đây là Object Identifier của máy Agent.Tra bảng MSFT-MIB từ Microsoft : Bảng MSFT-MIB của Microsoft Dựa vào bảng trên ta thấy với câu trả lời của máy Agent là 1.3.6.1.4.1.311.1.1.3.1.3 thì ObjectID của máy Agent sẽ là : dc. Phân tích tương tự với các gói tin sysName.0 và sysDescr.0 Gói tin get-request sysName.0 Với OID : 1.3.6.1.2.1.1.5.0 – NMS yêu cầu thông số MIB trong bảng “system”.Với hàng thứ 5 là sysName. Gói tin get-respone sysName.0 của máy Agent Câu trả lời của máy Agent cho NMS khi được hỏi về tên máy là :WEB(Dòng gạch đỏ cuối cùng) Gói tin get-request sysDescr.0 Với OID : 1.3.6.1.2.1.1.1.0 – NMS yêu cầu thông số MIB trong bảng “system”.Hàng thứ 1 là sysDescr. Gói tin get-respone sysDecsr của máy Agent Câu trả lời của máy Agent cho NMS khi được hỏi về cấu hình của máy là :Hardware…(Dòng gạch đỏ cuối cùng) Tiếp theo ta xem xét các gói tin chứa thông tin về các account có trên máy của agent.Tại wireshark ta bắt được các gói có thông tin về account như sau: Các gói tin chứa thông tin về các account Cụ thể các bước tiền hành của NMS như sau: B1 : Máy NMS dùng hàm getnext để hỏi thông tin về account có trên máy Agent. -Lúc này NMS dùng hàm getnext khác với hàm get o trên. ”get-next” đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trong MIB. Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của ”get-next” tương tự như ”get”, cho đến khi nào hết các đối tượng trong dãy -Ở đây trong ta xem xét gói tin đầu tiên của NMS gửi cho Agent khi yêu cầu thông tin về các account trên agent. Gói tin getnext-request đầu tiên của máy NMS Trong trường variable-binding có 1 thông tin yêu cầu.Có OID là 1.3.6.1.4.1.77.1.2.25.1.1.Đối chiếu với bảng LanMgr-MIB LanMgr-MIB(có thể tham khảo thêm ở đây) Chú ý vào dòng gạch đỏ ta nhận thấy OID của gói tin này là yêu cầu các thông tin của account có trên nhánh svUserName trong bảng svUserTable thuộc bảng sv.Phân tích cụ thể OID này rat a co thể hiểu như sau: 1.3.6.1.4.1.77.1/.2.25.1.1 tương đương iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2/.server.svU serTable.svUserEntry.svUserName.Ban đầu đây là gói tin yêu cầu thông số nên giá trị value của nó sẽ là null. Gói tin getnext-respone của máy Agent Khi nhận được yêu cầu từ NMS,Agent sẽ tra bảng MIB của nó và trả về giá trị gần nhất mà nó có,như trên hình là : value(Octet String) : 47775657374-tức là account Guest(dòng đỏ cuối cùng).Phân tích củ thể như sau: -Khi nhận được yêu cầu OID : 1.3.6.1.4.1.77.1.2.25.1.1.Máy Agent sẽ vào nhánh svUserName trong bảng svUserTable thuộc bảng sv ghi lại các thông số và trả lời cho NMS.Câu trả lời cho NMS có OID là : 1.3.6.1.4.1.77.1.2.25.1.1.5.71.117.101.115.116,lúc này Agent đã gửi cho NMS account đầu tiên là 5.71.117.101.115.116 phân tích các octet này ra thì ta được kết quả là account Guest. Tiếp theo thì NMS sau khi nhận được câu trả lời cho câu hỏi account trên nhánh svUserName đầu tiên thì nó sẽ tiếp tục gửi yêu cầu tiếp theo qua gói tin trên wireshark như sau: Gói tin thứ 2 của phương thức getnext-request từ NMS Nhìn vào thông số của gói tin thì NMS dùng phương thức getnext-request.OID của gói tin là 1.3.6.1.4.1.77.1.2.25.1.1.5.71.117.101.115.116.Có nghĩa là NMS yêu cầu Agent gửi thông số của account tiếp theo sao acc Guest vừa nhận được.Đây là gói tin yêu cầu nên giá trị value của nó là null. Gói tin trả lời của Agent khi nhận được getnext-request thứ 2 Khi nhận được yêu cầu từ NMS-gửi thông tin acc tiếp theo sau acc Guest,Agent sẽ tra bảng MIB của nó và trả về giá trị sau Guest,như trên hình là : value(Octet String) : 6B7262746774-tức là account krbtgt(dòng đỏ cuối cùng).Phân tích cụ thể như sau: -Khi nhận được yêu cầu OID : 1.3.6.1.4.1.77.1.2.25.1.1.5.71.117.101.115.116.Máy Agent sẽ vào nhánh svUserName trong bảng svUserTable thuộc bảng sv,tiếp theo sau acc Guest ghi lại các thông số và trả lời cho NMS.Câu trả lời cho NMS có OID là : 1.3.6.1.4.1.77.1.2.25.1.1.6.107.114.98.116.103.116,lúc này Agent đã gửi cho NMS account tiếp theo là 6.107.114.98.116.103.116 phân tích các octet này ra thì ta được kết quả là account krbtgt(acc của service Kerberos Distribution Key). Tương tự như vậy trên máy NMS sẽ nhận được acc tiếp theo trên máy Agent là: Gói tin đáp trả acc IUSR_WEB của Agent Acc IUSR_WEB (tài khoản đặc biệt dùng trong các truy nhập dấu tên trong dịch vụ IIS) có value(octet String) : 49555352F574542-tức là acc ISUR_WEB Gói tin đáp trả acc IWAM_WEB của Agent Acc IWAM_WEB(tài khoản dùng cho IIS khởi động các tiến trình của các ứng dụng trên máy có IIS) có value(octetString) : 4957414D5F574542-tức là acc IWAM_WEB Gói tin đáp trả acc Administrator của Agẹnt Acc Administrator(tài khoản đặc biệt,có toàn quyền trên máy) có value(octetString) : 41646D696Ê873747261746F72-tức là acc Administrator. Gói tin đáp trả acc SUPPORT_388945a0 của Agent Acc SUPPORT_388945a0(tài khoản dùng cho các dịch vụ hỗ trợ) có value(octetString) là 535550504F33383934356130-tức là acc SUPPORT_388945a0 Đến lúc này như trên NMS gửi gói tin getnext-request tiếp tục hỏi acc sau acc SUPPORT_388945a0 thì được Agent đáp trả như sau: Gói tin đáp trả sau khi nhận được getnext-request sau acc SUPPORT_388945a0 Sau khi nhận được yêu cầu tiếp theo của NMS thì Agent tiếp theo dò tiếp bảng svUserName,nhưng lúc này đã ko còn acc nào nữa nên đáp trả lại cho NMS rằng đã dò qua tới 1 bảng khác đó là bảng svShareNumber-OID : 1.3.6.1.4.1.77.1.2.26.Như vậy đã hết acc ma NMS yêu cầu,value lúc này là interger 32:3 tức là interger :0 –hết giá trị. Để kiểm tra lại quá trình trên ta vào IP Network Browser thì được kết quả sau : Thông tin acc của máy Agent khi kiểm tra qua IP Network Browser So sánh với thông só của máy Agent Các account trên máy Agent Nhận xét : Để lấy acc trên máy Agent thì IP Network Browser sử dụng community của máy đó và dùng hàm Get,Getnext để lấy toàn bộ thông tin trong bảng MIB của máy Agent rồi trả về cho NMS VIII. Nhận xét & đánh giá: 1. Solarwinds hổ trợ rất đắc lực cho các nhà quản trị mạng có thể quản trị hệ thống một cách dễ dàng thông qua các chức năng của chương trình mà không cần phải nhớ hết các OID của MIB. 2. Phần lớn Solarwinds dựa vào giao thức SNMP để quản lý. Tuy nhiên cũng có một số ứng dụng có cùng chức năng nhưng không cần dùng SNMP để quản lý. Các ứng dụng như: Port Scanner, DNS & Whois Resolver,… 3. Community truyền thông giữa các máy trong quá trình quản lý chưa được mã hóa vì vậy rất dễ bị Sniff và tiến hành phá hoại. 4. Version đang sử dụng chỉ hổ trợ SNMP v2, nên việc quản lý còn hạn chế nhiều. Phiên bản hiện tại trên website (HUwww.solarwinds.netUH) đã có hổ trợ cho SNMP v3. 5. Dựa theo kiến thức đã học và một số thông tin tìm hiểu thêm, nhóm xin đưa ra một số cách giải quyết đối với Solarwinds. Khi qui định một máy được quản trị bởi SNMP thì ngay tại máy đó phải quản lý kỹ về phần đầu vào: chỉ định chính xác những máy có Ipaddr nào có thể quản trị được. Điều này giảm đáng kể việc tấn công trái phép bằng các công cụ Brute Force. Tuy nhiên việc giả mạo địa chỉ đích để tấn công không phải là chuyện hiếm. Kết hợp sử dụng Firewall ở dạng Statefull. Khi triển khai việc quản lý SNMP trong một mạng lớn nên kết hợp sử dụng Ipsec và các công cụ kể trên để việc quản lý được tốt hơn. 6. Khó khăn mắc phải khi nghiên cứu: Fault Mgmt: đây là công việc rất khó, Solarwinds chỉ hổ trợ chúng ta việc hoạt động của các máy đang ở trạng thái tốt, các trạng thái thất thường của hệ thống mạng được Solarwinds tổng hợp lại và gởi các thông kê thông qua các Action. Tuy nhiên về mặt thực hành, do thiếu điều kiện về phần cứng (chỉ làm việc trên một máy thực và một máy ảo ) nên việc tạo lỗi để bắt các thông báo lỗi của hệ thống mạng đối với nhóm là việc làm rất khó, mặc dù đã cố thử nhiều cách. Không có phiên bản Solarwinds hổ trợ SNMPv3 để thử xem các chức năng mới của SNMPv3 có hổ trợ các khuyết điểm đưa ra ở trên hay không. Lần đầu tiên bắt tay nghiên cứu khá sâu một công cụ quản lý mạng khá mạnh nên nhóm không thể phát huy hết sức mạnh của công cụ. Việc nghiên cứu chỉ dừng ở mức cơ bản: sử dụng thành thạo các chức năng. Việc chia các công cụ của Solarwinds vào các chức năng quản trị mạng cũng là vấn đề của nhóm. Mong Thầy đọc và góp ý để chúng em có những kinh nghiệm nghiên cứu tiếp theo trong tương lại. KẾT LUẬN Kết quả đạt được Về lý thuyết: Nhóm đã tìm hiểu được tổng quan về giao thức giám sát mạng SNMP. các phương thức giám sát mạng. . Tìm hiểu lý thuyết về phần mềm quản trị mạng Solarwinds. Về thực hành Triển khai hệ thống giám sát và quản trị mạng với Solarwinds trên mô hình giả lập, thực hiện một số tiện ích giám sát và quản trị mạng cơ bản. Hạn chế Vì thời gian có hạn nên chưa tìm hiểu hết các tính năng của bộ phần mềm Solarwinds. Chưa đi sâu vào giao thức SNMP. Có sử dụng tài liệu tự dịch từ nước ngoài nên chắc chắn sẽ có chổ sai về ngữ nghĩa cũng như thuật ngữ chuyên môn sử dụng. Bài tập chưa mang tính thực tế cao. Hệ thống mạng ứng dụng phần mềm Solarwinds không triển khai thực tế nên chưa phát hiện được các lỗi cũng như các vấn đề phát sinh. Hướng mở Triển khai phần mềm giám sát và quản lý mạng Solarwind trong môi trường thực tế nếu có điều kiện. Tiếp tục tìm hiểu bộ phần mềm Solarwind một cách triện để hơn nữa. TÀI LIỆU THAM KHẢO Sách, giáo trình, đồ án AdministratorGuide-Orion Common Components – Tài liệu tham khảo từ nhà sản xuất. AdministratorGuide-OrionNPM - tài liệu tham khảo từ nhà sản xuất. EvaluationGuide-OrionNPM - tài liệu tham khảo từ nhà sản xuất. QuickStartGuide-OrionNPM - tài liệu tham khảo từ nhà sản xuất. Báo Cáo Triển Khai Solawind trong mô hình thực tế - Nguyễn Tiến Lực – Học Viện Bưu Chính Viễn Thông. Internet Và một số diễn đàn tin học và mạng máy tính khác…

Các file đính kèm theo tài liệu này:

  • doc2727873 ti Qu7843n tr7883 m7841ng v7899i Solarwin.doc
Tài liệu liên quan