NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Đà Lạt, ngày ….. tháng …… năm …… Giáo viên hướng dẫn [Ký tên và ghi rõ họ tên]
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1 ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Khóa luận đáp ứng yêu cầu của Khóa luận kỹ sư Công nghệ thông tin. Đà Lạt, ngày ….. tháng …… năm …… Giáo viên phản biện [Ký tên và ghi rõ họ tên]
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2 ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Khóa luận đáp ứng yêu cầu của Khóa luận kỹ sư Công nghệ thông tin. Đà Lạt, ngày ….. tháng …… năm …… Giáo viên phản biện [Ký tên và ghi rõ họ tên]
LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả nghiên cứu trong đề tài này chưa được bất kì ai công bố trước đây. Nếu xảy ra bất kỳ trường hợp nào liên quan đến bản quyền, tôi xin chịu hoàn toàn trách nhiệm.
Đà Lạt ngày 24/11/2010 Lương Võ Công Khoa
LỜI CÁM ƠN
Đầu tiên cho em xin gửi lời cảm ơn đến tất cả các thầy cô trong khoa Công Nghệ Thông Tin trường Đại học Đà Lạt đã hỗ trợ, tạo điều kiện về cơ sở vật chất cho em trong quá trình thực hiện khóa luận. Đặc biệt em xin gửi lời cám ơn đến thầy Trần Thống – người đã trực tiếp hướng dẫn em hoàn thành khóa luận này. Bên cạnh đó là những ý kiến đóng góp của bạn bè, đã cho em nguồn động viên lớn để hoàn thành nhiệm vụ của khóa luận. Qua đó, em đã đạt được nhiều tiến bộ về kiến thức cũng như những kĩ năng làm việc bổ ích. Em chân thành gửi lời cám ơn sâu sắc đến toàn thể thầy cô và các bạn!
Đà Lạt ngày 24/11/2010 Lương Võ Công Khoa
Trường Đại Học Đà Lạt Khoa Công Nghệ Thông Tin ĐỀ CƯƠNG NGHIÊN CỨU KHÓA LUẬN TỐT NGHIỆP Tên Đề Tài: Tìm hiểu triển khai giải pháp giám sát mạng Chuyên ngành: Mạng và Truyền thông Sinh viên thực hiện: Lương Võ Công Khoa - 0612237 Khóa: CTK30 Giáo viên hướng dẫn: ThS. Trần Thống 1. Mục tiêu đề tài: Nghiên cứu, triển khai các giải pháp thích hợp để giám sát hoạt động, dịch vụ trong môi trường mạng và tài nguyên của hệ thống. Thông qua đó có thể phát hiện các nguy cơ, mối đe dọa đến hệ thống trong thời gian sớm nhất để có phương án khắc phục kịp thời, nhằm giảm thiểu ảnh hưởng và tăng hiệu quả làm việc của hệ thống mạng. 2. Nội Dung Đề Tài: Tìm hiểu giao thức quản lý mạng. Nghiên cứu các chương trình giám sát hệ thống, dịch vụ, hiệu suất mạng dựa trên mã nguồn mở. Tìm kiếm giải pháp giám sát mạng tối ưu. Triển khai mô hình giám sát hệ thống mạng. 3. Phần mềm và công cụ sử dụng: Nagios CentOS CS-MARS 4. Dự kiến kết quả: dựa trên kết quả nghiên cứu đưa ra thiết kế và triển khai một mô hình giám sát hệ thống mạng tối ưu.
5. Tài liệu tham khảo chính:
[1]
Douglas Mauro & Kevin Schmidt, “Essential SNMP”, O’Reilly,
Sebastopol, CA 95472, 2001.
[2]
Max Schubert & Derrick Bennett & Jonathan Gines & Andrew Hay &
John Strand, “Nagios 3 Enterprise Network Monitoring Including Plug-Ins and Hardware Devices”, Syngress Publishing, Burlington, MA 01803, 2008.
[3]
Woflgang Barth, “Nagios – System and Network Monitoring”,
William Pollock, CA, 2006.
[4]
Americans Headquarters, “Cisco Security MARS Initial Configuration
and Upgrade Guide”, Release 6.x, Cisco System, Inc, San Jose, 2009.
[5]
Gary Halleen & Greg Kellogg, “Security Monitoring with Cisco
Security MARS”, Cisco Press, Indianapolis, 2007.
[6]
Augusto Ciuffoletti & Michalis Polychronakis, “Architecture of a
Network Monitoring Element”, 15th IEEE, 2006 Đà Lạt, ngày 11 tháng 10 năm 2010 Giáo viên hướng dẫn
SV Thực hiện
(Ký tên)
(Ký tên)
Trưởng khoa
Tổ trưởng Bộ môn
(Ký tên)
(Ký tên)
MỤC LỤC NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN......................................................................1 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1.......................................................................2 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2.......................................................................3
LỜI CAM ĐOAN.................................................................................................................4 LỜI CÁM ƠN......................................................................................................................5 ĐỀ CƯƠNG NGHIÊN CỨU KHÓA LUẬN TỐT NGHIỆP...................................................6 TÓM TẮT KHÓA LUẬN....................................................................................................14 LỜI MỞ ĐẦU....................................................................................................................16 CHƯƠNG 1. TỔNG QUAN VÀ TẦM QUAN TRỌNG CỦA VIỆC GIÁM SÁT HỆ THỐNG18 1.1. Giới thiệu...................................................................................................18 1.2. Hiểu biết về hệ thống.................................................................................19 1.3. Cần phải giám sát những gì và tại sao......................................................20 1.4. Những yếu tố cần thiết cho một hệ thống giám sát...................................23 1.5. Tổng kết....................................................................................................23 CHƯƠNG 2. GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN.................................................24 1.6. SNMP là gì?..............................................................................................24 1.6.1. Quản lý và giám sát mạng..................................................................24 1.6.2. RFCs và các phiên bản SNMP............................................................25 1.6.3. Managers và Agents...........................................................................26 1.6.4. Structure of Management Information và MIBS...................................27 1.6.5. Quản lý máy trạm................................................................................28 1.7. Chi tiết về SNMP.......................................................................................28 1.7.1. SNMP và UDP....................................................................................28 1.7.2. SNMP Communities............................................................................31 1.7.3. Structure of Management Information (SMI).......................................32 1.7.4. SMI version 2......................................................................................36 1.7.5. Chi tiết về MIB-II.................................................................................39 1.7.6. Hoạt động của SNMP.........................................................................41 1.8. Tổng kết....................................................................................................53 CHƯƠNG 3. PHẦN MỀM GIÁM SÁT NAGIOS CORE.....................................................54 1.9. Giới thiệu...................................................................................................54 1.9.1. Lợi ích của việc giám sát tài nguyên...................................................55 1.9.2. Các chức năng chính..........................................................................57 1.9.3. Trạng thái tạm thời và cố định.............................................................59 1.10. Tổng kết..................................................................................................60 CHƯƠNG 4 . CISCO SECURITY MONITORING, ANALYSIS, AND RESPONSE SYSTEM .........................................................................................................................................60
1.11. Hệ thống giảm thiểu mối đe dọa an ninh.................................................61 1.12. Mô hình hóa và tính trực quan.................................................................61 1.13. Hệ thống báo cáo – quy tắc mạnh...........................................................62 1.14. Cảnh báo và giảm thiểu nguy cơ.............................................................62 1.15. Mô tả các thuật ngữ trong CS-MARS......................................................62 1.15.1. Sự kiện (Event).................................................................................62 1.15.2. Phiên (Session).................................................................................63 1.15.3. Quy tắc (Rules).................................................................................63 1.15.4. Sự cố (Incident)................................................................................64 1.15.5. False Positive....................................................................................64 1.16. Sự giảm nhẹ rủi ro...................................................................................65 1.17. Giao diện người dùng của CS-MARS......................................................65 1.18. Tổng kết..................................................................................................65 CHƯƠNG 5. TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG GIÁM SÁT.................................66 1.19. Mô hình triển khai....................................................................................66 1.20. Giới thiệu mô hình...................................................................................66 1.21. Nagios.....................................................................................................67 1.21.1. Cài đặt..............................................................................................67 1.21.2. Cấu hình Nagios...............................................................................81 1.21.3. Kết quả giám sát hệ thống của Nagios............................................106 1.22. Cấu hình CS-MARS và các thiết bị giám sát.........................................112 1.22.1. Cấu hình CS-MARS........................................................................113 1.22.2. Cấu hình các thiết bị để giao tiếp với CS-MARS.............................116 1.22.3. Kết quả giám sát của hệ thống CS-MARS......................................129 1.23. So sánh hai hệ thống Nagios và CS-MARS...........................................132 1.24. Đánh giá hệ thống giám sát triển khai dựa trên Nagios.........................135 1.25. Đánh giá hệ thống giám sát triển khai dựa trên CS-MARS....................136 1.26. Tổng kết................................................................................................136 THUẬT NGỮ VIẾT TẮT & KÝ HIỆU...............................................................................138 TÀI LIỆU THAM KHẢO...................................................................................................139
DANH MỤC CÁC HÌNH VẼ Hình 2-1: Mô hình hoạt động giữa NMS và Agent............................................................27 Hình 2-2: Mô hình trao đổi dữ liệu giữa NMS và Agent....................................................29 Hình 2-3: Sơ đồ cây các OID............................................................................................34 Hình 2-4: Sơ đồ các OID của SMIv2.................................................................................37 Hình 2-5: Sơ đồ chi tiết OID..............................................................................................40 Hình 2-6: Mô hình hoạt động của SNMP..........................................................................42 Hình 2-7: Mô hình hoạt động của lệnh get........................................................................42 Hình 2-8: Sơ đồ đường đi OID..........................................................................................45 Hình 2-9: Mô hình lấy thông tin get-bulk...........................................................................46 Hình 2-10: Mô hình lệnh set..............................................................................................47 Hình 2-11: Mô hình gửi Trap từ Agent..............................................................................50 Hình 3-12: Các đối tượng cần giám sát trên Nagios.........................................................54 Hình 3-13: Ví dụ mô tả sự cố............................................................................................58 Hình 3-14: Kiểm tra trạng thái...........................................................................................60 Hình 5-15: Mô hình triển khai............................................................................................66 Hình 5-16 Giao tiếp giữa Nagios và Windows..................................................................81 Hình 5-17: Phần mềm NSClient++....................................................................................83 Hình 5-18: Thông tin các dịch vụ trên Sample Client........................................................88 Hình 5-19: Thông tin về Sample Client.............................................................................88 Hình 5-20: Bảng Interface của plugin check_interface......................................................93 Hình 5-21: Thông tin trạng thái Dalat-CoreSW-1..............................................................96 Hình 5-22: Thông tin các dịch vụ trên Dalat-CoreSW-1....................................................97 Hình 5-23: Thông tin các dịch vụ trên DNS Server.........................................................104 Hình 5-24: Thông tin trạng thái DNS Server...................................................................105 Hình 5-25: Thông tin các dịch vụ trên Web Server..........................................................105 Hình 5-26: Thông tin trạng thái Web Server....................................................................106 Hình 5-27: Tình trạng hệ thống.......................................................................................107 Hình 5-28: Danh sách các thiết bị giám sát.....................................................................107 Hình 5-29: Danh sách các dịch vụ giám sát....................................................................108 Hình 5-30: Báo cáo về thiết bị Dalat-CoreSW-1..............................................................108 Hình 5-31: Phân loại thiết bị theo nhóm..........................................................................109 Hình 5-32: Các vấn đề của thiết bị giám sát...................................................................109
Hình 5-33: Các cảnh báo của thiết bị..............................................................................110 Hình 5-34: Tình trạng của Nagios Server........................................................................111 Hình 5-35: Các cảnh báo được sinh ra...........................................................................112 Hình 5-36: Giao diện đăng nhập CS-MARS....................................................................113 Hình 5-37: Cấu hình tên và IP cho CS-MARS................................................................113 Hình 5-38: Cấu hình DNS...............................................................................................114 Hình 5-39: Các mức hoạt động của CS-MARS...............................................................114 Hình 5-40: Danh sách các thiết bị hỗ trợ bởi CS-MARS.................................................115 Hình 5-41: Phần điền thông tin cho thiết bị.....................................................................115 Hình 5-42: Thông tin cầu cấu hình cho Cisco IOS 12.2..................................................116 Hình 5-43: Thông tin cầu cấu hình cho Cisco Switch IOS 12.2.......................................118 Hình 5-44: Cấu hình cho IPS bật TLS và HTTP..............................................................118 Hình 5-45: Cấu hình cho IPS cho phép CS-MARS.........................................................119 Hình 5-46: Cấu hình cho IPS..........................................................................................120 Hình 5-47: Cấu hình cho ASA 7.0...................................................................................121 Hình 5-48: Cấu hình Snare.............................................................................................122 Hình 5-49: Cấu hình SNARE 2.......................................................................................122 Hình 5-50: Cấu hình Local Security Settings..................................................................124 Hình 5-51: Cấu hình cho máy Windows..........................................................................125 Hình 5-52: Cấu hình thông tin đăng nhập cho máy Windows.........................................126 Hình 5-53: Cấu hình SnareIIS.........................................................................................127 Hình 5-54: Cấu hình cho WebServer..............................................................................127 Hình 5-55: Cấu hình thông tin cho log.............................................................................128 Hình 5-56: Cấu hình cho log trên CS-MARS...................................................................128 Hình 5-57: Danh sách các thiết bị...................................................................................129 Hình 5-58: Miền địa chị giám sát.....................................................................................129 Hình 5-59: Danh sách địa chỉ tự dò tìm...........................................................................130 Hình 5-60: Các quy tắc trên CS-MARS...........................................................................130 Hình 5-61: Các báo cáo cần tạo trên CS-MARS.............................................................131 Hình 5-62: Sơ đồ mạng giám sát....................................................................................131 Hình 5-63: Báo cáo dưới dạng đồ thị..............................................................................132
DANH SÁCH CÁC BẢNG BIỂU Bảng 1-1: Các thiết bị và lý do cần giám sát.....................................................................21 Bảng 2-2: Loại dữ liệu của trường SYNTAX.....................................................................36 Bảng 2-3: Loại dữ liệu trong SMIv2..................................................................................38 Bảng 2-4: Các trường dữ liệu trong SMIv2.......................................................................38 Bảng 2-5: Các thông báo lỗi trong SNMPv1.....................................................................48 Bảng 2-6: Các lỗi trong SNMPv2......................................................................................50 Bảng 2-7: Các kiểu Trap...................................................................................................52 Bảng 5-8: So sánh Nagios và CS-MARS........................................................................135
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
TÓM TẮT KHÓA LUẬN
VẤN ĐỀ NGHIÊN CỨU Tìm hiểu giao thức quản lý mạng Nghiên cứu các chương trình giám sát hệ thống, dịch vụ, hiệu suất mạng dựa trên mã nguồn mở. Tìm kiếm giải pháp giám sát mạng tối ưu. Triển khai mô hình giám sát hệ thống mạng. HƯỚNG TIẾP CẬN Nghiên cứu lý thuyết các giao thức quản lý hệ thống mạng như Simple Network Management Protocol (SNMP). Trên cơ sở lý thuyết có được tiến hành nghiên cứu các giải pháp giám sát hệ thống khác nhau. Đề tài được thực hiện theo hướng nghiên cứu hệ thống giám sát bằng mã nguồn mở và tiến hành triển khai thử nghiệm hệ thống giám sát bằng các phần mềm mã nguồn mở trên hệ thống mạng trường đại học Đà Lạt. Bên cạnh đó tiến hành nghiên cứu hệ thống giám sát bằng các thiết bị phần cứng chuyên dụng. Đồng thời triển khai thử nghiệm hệ thống giám sát bằng các thiết bị chuyên dụng trên hệ thống mạng trường đại học Đà Lạt. Từ việc triển khai hai hệ thống trên, rút ra kết luận về mỗi hệ thống và đưa ra đánh giá về từng hệ thống dựa trên các tiêu chí khác nhau. BỐ CỤC KHÓA LUẬN Chương 1: Tổng quan và tầm quan trọng của việc giám sát hệ thống Chương này trình bày về mức độ quan trọng của việc giám sát hệ thống trong thế giới hiện tại. Nêu lên những hiểu biết về hệ thống mạng. Đưa ra các mục tiêu cần giám sát và lý do tại sao. Đồng thời cung cấp thông tin về các lý do hàng đầu cho việc tại sao cần thiết phải triển khai một hệ thống giám sát. Chương này cũng đưa ra được những yếu tố cần thiết cho một hệ thống giám sát tối ưu. Trang 14
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chương 2: Lý thuyết SNMP Giới thiệu cho người đọc giao thức SNMP là gì, các phiên bản của SNMP, các yếu tố cần phải có trong giao thức SNMP. Bên cạnh đó cũng đi sâu vào lý thuyết SNMP, cung cấp thông tin về những nội dung của SNMP cũng như cách thức hoạt động của giao thức này. Chương 3: Nagios Core Trình bày về phần mềm mã nguồn mở Nagios Core, lợi ích của việc sử dụng Nagios Core, các chức năng chính của phần mềm, cách hoạt động của phần mềm đối với hệ thống. Chương 4: CS-MARS Giới thiệu về thiết bị CS-MARS. Trình bày các chức năng chính của thiết bị, các thuật ngữ được sử dụng và cách hoạt động của thiết bị, cách làm việc của thiết bị với các thiết bị khác trong hệ thống. Đồng thời nêu cách giám sát các thiết bị, dịch vụ trong hệ thống. Chương 5: Triển khai và đánh giá Đưa ra mô hình triển khai. Từ đó tiến hành cài đặt và cấu hình Nagios Core và CS-MARS để tiến hành giám sát trên mô hình đã đề ra. Sau khi triển khai và chạy thử nghiệm từ đó rút ra được đánh giá về ưu nhược điểm của từng hệ thống. KẾT QUẢ ĐẠT ĐƯỢC Triển khai thành công hệ thống giám sát bằng phần mềm mã nguồn mở Nagios Core. Triển khai thành công hệ thống giám sát bằng thiết bị phần cứng chuyên dụng của Cisco CS-MARS. Có các kiến thức về giám sát hệ thống, các giao thức quản lý mạng. Cấu hình Router, Switch, CS-MARS, Nagios, ASA, IPS, Windows, Linux phục vụ cho quá trình giám sát.
Trang 15
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
LỜI MỞ ĐẦU
TÍNH CẤP THIẾT CỦA ĐỀ TÀI Ngày nay, với các nhu cầu ngày càng cao của con người, khoa học và công nghệ ngày càng phát triển để đáp ứng các nhu cầu đó. Trong mỗi tổ chức, mỗi doanh nghiệp đều có cơ sở hạ tầng riêng của mình, chỉ khác nhau ở quy mô và cách tổ chức. Mọi tổ chức, các doanh nghiệp ngày càng muốn phát triển để tăng lợi nhuận, chính vì vậy cơ sở hạ tầng ngày càng được nâng cấp mở rộng để đáp ứng cho các hoạt động đó. Đi kèm với việc công nghệ phát triển là sự mở rộng không ngừng về quy mô và chất lượng của cơ sở vật chất, của hạ tầng mạng. Tất cả các tổ chức, các doanh nghiệp đều khác nhau, nhưng sự ảnh hưởng của hệ thống mạng đối với hoạt động của doanh nghiệp hầu như không thay đổi. Thực tế, khi doanh nghiệp phát triển, mạng lưới phát triển không chỉ về quy mô và tính phức tạp, mà còn trong ý nghĩa và giá trị. Hạ tầng mạng còn đặc biệt quan trong khi mọi hoạt động của các tổ chức, doanh nghiệp phụ thuộc hầu hết vào chúng. Mạng lưới giám sát đối với mạng của một doanh nghiệp hay một tổ chức là một chức năng quan trọng có thể giúp tiết kiệm tiền trong việc tăng hiệu suất mạng, tăng năng suất lao động và giảm chi phí cơ sở hạ tầng. Một hệ thống giám sát theo dõi hạ tầng một mạng nội bộ để xác định các vấn đề. Nó có thể tìm kiếm và giúp giải quyết các sự cố của các thiết bị và hoạt động của người dùng. Với một nguồn tài nguyên quan trọng thì việc đảm bảo cho nguồn tài nguyên này có thể hoạt động liên tục là một vấn đề thiết yếu. Và đây cũng là một thách thức bởi vì có rất nhiều mối nguy cơ tiềm tàng như hackers, tấn công từ chối dịch vụ, virus, mất cắp thông tin đe dọa đến hệ thống của tổ chức hay doanh nghiệp dẫn tới việc hệ thống ngưng hoạt động, mất dữ liệu làm giảm độ tin cậy cũng như lợi ích thu được từ hệ thống. Ngoài ra, các hệ thống mạng ngày càng phát triển mạnh, với công nghệ mới, thiết bị mới, nên việc đảm bảo cho hệ thống hoạt động một cách trôi chạy là vô cùng khó khăn và quan trọng.
Trang 16
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Là người quản trị thì cần phải biết những gì đang xảy ra trên hệ thống của mình vào mọi lúc, bao gồm thời gian thực. Nắm bắt mọi thông tin lịch sử về sử dụng, hiệu suất, và tình trạng của tất cả các ứng dụng, thiết bị, và tất cả dữ liệu trên mạng. Chính vì vậy việc giám sát hệ thống là một công việc vô cùng quan trọng và cấp thiết đối với mọi tổ chức, doanh nghiệp, cơ quan. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN Ý nghĩa khoa học o Cung cấp lý thuyết về giám sát hệ thống. o Chỉ ra tầm quan trọng của việc giám sát hệ thông. o Cung cấp ly thuyết về các giao thức giám sát. Ý nghĩa thực tiễn o Chỉ ra các ưu nhược điểm của các hệ thống giám sát khác nhau. o Đưa ra giải pháp giám sát tối ưu cho một hệ thống thích hợp. MỤC ĐÍCH NGHIÊN CỨU Nghiên cứu, triển khai các giải pháp thích hợp để giám sát hoạt động, dịch vụ trong môi trường mạng và tài nguyên của hệ thống. Thông qua đó có thể phát hiện các nguy cơ, mối đe dọa đến hệ thống trong thời gian sớm nhất để có phương án khắc phục kịp thời, nhằm giảm thiểu ảnh hưởng và tăng hiệu quả làm việc của hệ thống mạng. ĐỐI TƯỢNG HƯỚNG ĐẾN Tất cả các tổ chức, các cơ quan, các doanh nghiệp đã, đang và sẽ áp dụng công nghệ thông tin cho các hoạt động của mình. PHẠM VI NGHIÊN CỨU Trong khóa luận này chủ yếu tập trung nghiên cứu các vấn đề sau: Tìm hiểu về giám sát hệ thống. Triển khai các hệ thống giám sát khác nhau trên cùng một cơ sở hạ tầng để chỉ ra ưu nhược điểm của các hệ thống giám sát. Trang 17
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
CHƯƠNG 1. TỔNG QUAN VÀ TẦM QUAN TRỌNG CỦA VIỆC GIÁM SÁT HỆ THỐNG 1.1. Giới thiệu Tất cả các tổ chức, các doanh nghiệp đều khác nhau, nhưng sự ảnh hưởng của hệ thống mạng đối với hoạt động của doanh nghiệp hầu như không thay đổi. Thực tế, khi doanh nghiệp phát triển, mạng lưới phát triển không chỉ về quy mô và tính phức tạp, mà còn trong ý nghĩa và giá trị. Rất nhanh chóng, mạng không chỉ hỗ trợ các công ty, mà nó chính là đại diện cho công ty. Điều này là hiển nhiên đối với các tổ chức mà hoạt động của họ phụ thuộc vào mạng. Tuy nhiên, ở cấp độ cơ bản nhất, mạng có thể xem như là sự hợp tác, giao tiếp, và thương mại - tất cả mọi thứ mà giữ cho một doanh nghiệp hoạt động và phát triển. Đó là nơi các ứng dụng kinh doanh được tổ chức, và là nơi mà các thông tin quan trọng của khách hàng, sản phẩm, và thông tin kinh doanh được lưu trữ. Với một nguồn tài nguyên quan trọng như vậy thì việc đảm bảo cho nguồn tài nguyên này có thể hoạt động liên tục là một vấn đề thiết yếu. Và đây cũng là một thách thức bởi vì có rất nhiều mối nguy cơ tiềm tàng như hackers, tấn công từ chối dịch vụ, virus, mất cắp thông tin đe dọa đến hệ thống của tổ chức hay doanh nghiệp dẫn tới việc hệ thống ngưng hoạt động, mất dữ liệu làm giảm độ tin cậy cũng như lợi ích thu được từ hệ thống. Ngoài ra, các hệ thống mạng ngày càng phát triển mạnh, với công nghệ mới, thiết bị mới, và các cấu trúc mới, chẳng hạn như ảo hóa hay kiến trúc hướng dịch vụ. Quản lý mạng là một lĩnh vực rộng tích hợp các chức năng giám sát thiết bị, quản lý ứng dụng, an ninh, bảo trì, dịch vụ, xử lý sự cố, và các nhiệm vụ khác – sẽ là lý tưởng nếu tất cả các công việc được điều phối và giám sát bởi một quản trị viên mạng đáng tin cậy và có kinh nghiệm. Tuy nhiên, ngay cả những quản trị mạng có khả năng hiểu biết nhất chỉ có được các thông tin về hệ thống mà có thể nhìn thấy. Quản trị viên cần phải biết những gì đang xảy ra trên mạng của họ vào mọi lúc, bao gồm thời gian thực và thông tin lịch sử về sử dụng, hiệu suất, và tình trạng của tất cả các ứng dụng, thiết bị, và tất cả dữ liệu trên mạng. Trang 18
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Đây là lĩnh vực giám sát mạng, là chức năng quan trọng nhất trong quản lý mạng. Cách duy nhất để biết được tất cả mọi thứ trên mạng đang hoạt động như thế nào là phải giám sát nó liên tục. 1.2. Hiểu biết về hệ thống Trong thế giới hiện tại chúng ta có thể không khỏi bỡ ngỡ trước độ phức tạp của hệ thống mạng. Các thiết bị như router, switch, hub đã kết nối vô số các máy con đến các dịch vụ trên máy chủ cũng như ra ngoài Internet. Thêm vào đó là rất nhiều các tiện ích bảo mật và truyền thông được cài đặt bao gồm cả tường lửa, mạng riêng ảo, các dịch vụ chống spam thư và virus. Sự hiểu biết về cấu trúc của hệ thống cũng như có được khả năng cảnh báo về hệ thống là một yếu tố quan trọng trong việc duy trì hiệu suất cũng như tính toàn vẹn của hệ thống. Có hàng ngàn khả năng có thể xảy ra đối với một hệ thống và quản trị viên phải đảm bảo được rằng các nguy cơ xảy ra được thông báo một cách kịp thời và chính sát. Hệ thống mạng không còn là một cấu trúc cục bộ riêng rẽ. Nó bao gồm Internet, mạng cục bộ (LAN), mạng diện rộng (WAN), và tất cả các thiết bị, máy chủ, ứng dụng chạy trên hệ thống đó. Dù cho phép người dùng truy cập và chia sẻ thông tin, sử dụng các ứng dụng, và giao tiếp với nhau và với thế giới bên ngoài – bao gồm cả giọng nói, dữ liệu, hoặc hình ảnh – thì về bản chất vẫn là mạng lưới hệ thống. Một hệ thống mạng thường có người dùng bên trong và bên ngoài, bao gồm nhân viên, khách hàng, đối tác và các bên liên quan. Tối ưu hiệu suất mạng ảnh hưởng đến tổ chức theo các cách khác nhau. Ví dụ, nếu nhân viên không thể truy cập các ứng dụng và thông tin mà họ cần dùng để làm việc thì sẽ ảnh hưởng đến năng xuất công việc. Hoặc khi khách hàng không thể hoàn thành giao dịch trực tuyến, điều này có nghĩa là mất doanh thu và ảnh hưởng tới uy tín của tổ chức. Ngay cả khi các bên liên quan như các nhà đầu tư không thể tìm kiếm, xem xét các thông tin của tổ chức cũng gây ảnh hưởng tới tổ chức. Thực tế là mạng rất phức tạp và dễ sai vì mỗi thành phần trong mạng đại diện cho một nguy cơ ảnh hưởng đến hệ thống. Đó cũng là lý do tại sao nó cần thiết phải được giám sát để giảm thiểu tối đa các nguy cơ tiềm tàng. Tuy nhiên không Trang 19
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
phải mọi vấn đề đều có thể được giải quyết một cách chủ động trước bất kỳ dấu hiệu cảnh báo nào. Nhưng nếu ta có thể giám sát hệ thống trong thời gian thực thì có thể xác định các vấn đề trước khi chúng trở nên nguy hiểm hơn. Ví dụ, một máy chủ bị quá tải có thể được thay thế trước khi nó bị treo. Điều này sẽ làm giảm thiểu các nguy cơ đối với hệ thống và tăng hiệu suất làm việc của hệ thống. Với một hệ thống giám sát, ta sẽ biết được tình trạng của tất cả các thiết bị trên mạng mà không cần phải kiểm tra một cách cụ thể từng thiết bị và cũng nhanh chóng xác định chính xác vấn đề khi cần thiết. 1.3. Cần phải giám sát những gì và tại sao Đối với một hệ thống mạng, điều quan trọng là có được thông tin chính xác vào đúng thời điểm. Tầm quan trọng chính là nắm bắt thông tin trạng thái của thiết bị vào thời điểm hiện tại, cũng như biết được thông tin về các dịch vụ, ứng dụng của hệ thống. Bảng sau đây chứa các đại diện của một vài thông tin trạng thái hệ thống mà ta phải biết và lý do tại sao. Cần giám sát gì
Tại sao
Tính sẵn sàng của các thiết bị (router, Đây là những thành phần chủ chốt giữ switch, server,…).
cho mạng hoạt động.
Tính sẵn sàng của các dịch vụ quan Toàn bộ hệ thống không được phép trọng trên hệ thống.
ngưng hoạt động dẫn tới việc mất mát dữ liệu hay email, hay các dịch vụ như HTTP, FTP dù chỉ là 1 giờ cũng có thể ảnh hưởng nghiêm trọng tới tổ chức.
Dung lượng đĩa còn trống trên máy chủ. Các ứng dụng đòi hỏi dung lượng đĩa. Chính vì vậy cần giám sát thông tin này để có thể xử lý kịp thời không ảnh hưởng tới các ứng dụng quan trọng.
Trang 20
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Phần trăm trung bình mức tải của các Cần nâng cấp hệ thống trước khi xảy ra router.
quá tải dẫn tới ảnh hưởng hệ thống.
Mức trung bình tải của bộ nhớ và bộ xử Nếu bộ nhớ hay bộ xử lý bị sử dụng hết lý trên các máy chủ quan trọng.
sẽ làm ngưng trệ hệ thống.
Chức năng của firewall, chống virus, Cần phải đảm bảo an ninh cho hệ cập
nhật
server,
chống
spyware, thống.
malware. Lượng dữ liệu vào và ra của router.
Cần xác định chính xác thông tin lượng dữ liệu để tránh quá tải hệ thống.
Các sự kiện được viết ra log như Có thể thu được thông tin chính xác các WinEvent or Syslog.
hiện tượng xảy ra trong hệ thống.
SNMP traps như là nhiệt độ trong Ta có thể biết được thông tin về máy in phòng máy chủ hay thông tin máy in.
bị hư hỏng hay cần thay mực trước khi được người dùng báo cũng như đảm bảo máy chủ không bị quá nóng.
Bảng 1-1: Các thiết bị và lý do cần giám sát Khi có sự cố xảy ra, ta cần phải được cảnh báo ngay lập tức, hoặc thông qua các cảnh báo bằng âm thanh, qua màn hình hiển thị, qua email tự động được tạo ra bởi chương trình giám sát. Ta biết càng sớm những gì đang diễn ra và có càng nhiều các thông tin đầy đủ trong các cảnh báo thì càng sớm có thể khắc phục các sự cố đó. 10 lý do hàng đầu cho việc cần thiết phải sử dụng hệ thống giám sát mạng: Biết được những gì đang xảy ra trên hệ thống: giải pháp giám sát hệ thống cho phép được thông báo tình trạng hoạt động cũng như tài nguyên của hệ thống. Nếu không có những chức năng này ta phải đợi đến khi người dùng thông báo. Lên kế hoạch cho việc nâng cấp, sửa chữa: nếu một thiết bị ngưng hoạt động một cách thường xuyên hay băng thông mạng gần chạm tới ngưỡng thì lúc này cần phải có sự thay đổi trong hệ thống. Hệ thống giám sát
Trang 21
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
mạng cho phép ta biết được những thông tin này để có thể có những thay đổi khi cần thiết. Chẩn đoán các vấn đề một cách nhanh chóng: giả sử máy chủ của ta không thể kết nối tới được. Nếu không có hệ thống giám sát ta không thể biết được nguyên nhân từ đâu, máy chủ hay router hay cũng có thể là switch. Nếu biết được chính xác vấn đề ta có thể giải quyết một cách nhanh chóng. Xem xét những gì đang hoạt động: các báo cáo bằng đồ họa có thể giải thích tình trạng hoạt động của hệ thống. Đó là những công cụ rất tiện lợi phục vụ cho quá trình giám sát. Biết được khi nào cần áp dụng các giải pháp sao lưu phục hồi: với đủ các cảnh báo cần thiết ta nên sao lưu dữ liệu của hệ thống phòng trường hợp hệ thống có thể bị hư hại bất kì lúc nào. Nếu không có hệ thống giám sát ta không thể biết có vấn đề xảy ra khi đã quá trễ. Đảm bảo hệ thống bảo mật hoạt động tốt: các tổ chức tốn rất nhiều tiền cho hệ thống bảo mật. Nếu không có hệ thống giám sát ta không thể biết hệ thống bảo mật của ta có hoạt động như mong đợi hay không. Theo dõi hoạt động của các tài nguyên dịch vụ trên hệ thống: hệ thống giám sát có thể cung cấp thông tin tình trạng các dịch vụ trện hệ thống, đảm bảo người dùng có thể kết nối đến nguồn dữ liệu. Được thông báo về tình trạng của hệ thống ở khắp mọi nơi: rất nhiều các úng dụng giám sát cung cấp khả năng giám sát và thông báo từ xa chỉ cần có kết nối Internet. Đảm bảo hệ thống hoạt động liên tục: nếu tổ chức của ta phụ thuộc nhiều vào hệ thống mạng, thì tốt nhất là người quản trị cần phải biết và xử lý các vấn đề trước khi sự cố nghiêm trọng xảy ra. Tiết kiệm tiền: với tất cả các lý do ở trên, ta có thể giảm thiểu tối đa thời gian hệ thống ngưng hoạt động, làm ảnh hưởng tới lợi nhuận của tổ chức và tiết kiệm tiền cho việc điều tra khi có sự cố xảy ra.
Trang 22
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.4. Những yếu tố cần thiết cho một hệ thống giám sát Để hiểu được về hệ thống, ta cần một giải pháp giám sát để có thể cung cấp các thông tin quan trọng trong thời gian thực và ở bất cứ đâu cũng như bất cứ thời điểm nào. Đối với các doanh nghiệp, tổ chức thì cần các giải pháp đơn giản để triển khai, sử dụng. Cần một giải pháp với khả năng toàn diện và đáng tin cậy. Nếu một doanh nghiệp yêu cầu tính sẵn sàng cao, thì ta cần một giải pháp tin cậy đã được triển khai và chứng minh là hoạt động tốt. Cần nhớ là chúng ta cần giám sát rất nhiều thiết bị trên hệ thống và phải thu thập rất nhiều thông tin liên quan. Chính vì vậy cần một giải pháp hiển thị thông như bản đồ mạng, báo cáo dữ liệu, cảnh báo, sự cố. Bên cạnh việc xử lý sự cố dễ dàng hơn, điều này sẽ giúp ta tận dụng mạng lưới dữ liệu để hiểu được các xu hướng trong việc sử dụng thiết bị, sử dụng mạng, và dung lượng mạng tổng thể để thiết kế hiệu quả mạng lưới hệ thống. Cảnh báo là một phần rất quan trọng nhưng cũng cần có những cảnh báo chính xác vào những thời điểm thích hợp. Hệ thống giám sát cần có khả năng truy cập từ xa để đảm bảo cho việc giám sát có thể tiến hành ngay khi cần thiết. Cuối cùng, chúng ta cần một hệ thống có thể hỗ trợ nhiều phương pháp giám sát trên các thiết bị khác nhau. SNMP là một công nghệ linh hoạt cho phép quản lý và giám sát các thiết bị khác nhau. Cần đảm bảo rằng hệ thống giám sát của ta có hỗ trợ giao thức này. 1.5. Tổng kết Trong thế giới hiện tại, việc thực hiện triển khai một hệ thống giám sát toàn bộ các thiết bị mạng là việc cấp thiết cho tất cả các doanh nghiệp, tổ chức. Việc triển khai hệ thống giám sát nhằm tối ưu hóa hệ thống mạng, tăng cường an ninh mạng, và có thể giải quyết các sự cố kịp thời.
Trang 23
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
CHƯƠNG 2. GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN 1.6. SNMP là gì? Trong thế giới hiện tại với một mạng lưới gồm các bộ định tuyến (Router), bộ chuyển mạch (Switch), máy chủ (Server) và các máy trạm (Workstation), đó dường như là một vấn đề khó khăn cho việc quản lý tất cả các thiết bị mạng và đảm bảo chúng làm việc tốt cũng như hoạt động tối ưu. Để hỗ trợ cho quá trình quản lý quản lý người ta cho phát triển giao thức quản trị mạng đơn giản (Simple Network Management Protocol) viết tắt là SNMP. SNMP được giới thiệu vào năm 1988 để đáp ứng cho nhu cầu ngày càng tăng của việc quản trị các thiết bị sử dụng giao thức internet (Internet Protocol). SNMP cung cấp một tập các lệnh đơn giản cho phép việc quản lý các thiết bị từ xa. 1.6.1. Quản lý và giám sát mạng Cốt lõi của SNMP là một tập các lệnh đơn giản cho phép người quản trị có khả năng thay đổi trạng thái của các thiết bị được quản lý. Ví dụ như có thể sử dụng SNMP để tắt một cổng trên router hay kiểm tra tốc độ của cổng đó. SNMP có thể giám sát nhiệt độ của các thiết bị và cảnh báo khi nhiệt độ quá cao. SNMP thường được kết hợp với quản lý router nhưng giao thức này còn có thể dùng để quản lý nhiều loại thiết bị khác. Trong khi người tiền nhiệm của SNMP là Simple Gateway Management Protocol (SGMP) được phát triển để quản lý bộ định tuyến thì SNMP có thể dùng để quản lý các hệ thống Linux, Windows, máy in, modem… và bất kì thiết bị nào có thể chạy phần mềm cho phép gửi thông tin SNMP thì có thể được quản lý. Một khía cạnh khác của quản lý là giám sát, điều này có nghĩa là theo dõi toàn bộ mạng. Giám sát mạng từ xa (Remote Network Monitoring - RMON) được phát triển để giúp chúng ta hiểu chức năng của mạng cũng như các thiết bị khác ảnh hưởng đến toàn bộ mạng. RMON có thể dùng để giám sát lưu lượng mạng LAN và cả các cổng mạng WAN.
Trang 24
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Trước và sau khi có SNMP Giả sử chúng ta có một mạng gổm 100 máy trạm sử dụng các hệ điều hành khác nhau. Trong đó có các máy là máy chủ chứa dữ liệu, các máy khác thì có kết nối với máy in, còn lại là các máy trạm cá nhân. Thêm vào đó là các bộ định tuyến và bộ chuyển mạch. Hệ thống mạng có kết nối Internet. Điều gì xảy ra khi một trong các máy chủ chứa dữ liệu ngưng hoạt động? Nếu nó xảy ra vào giữa tuần thì mọi người có thể thông báo cho người quản trị mạng để sửa chữa. Nhưng nếu nó xảy ra vào cuối tuần khi mọi người đã về nhà bao gồm cả quản trị mạng thì sao? Đó là lý do tại sao chúng ta cần SNMP. Thay vì phải có ai đó thông báo rằng hệ thống có vấn đề thì SNMP cho phép ta giám sát hệ thống một cách liên tục kể cả khi ta không có ở đó. Ví dụ, SNMP sẽ thông báo số gói tin bị hư ngày càng tăng trên bộ định tuyến để có thể xử lý trước khi vấn đề nghiêm trọng xảy ra. Ta có thể cấu hình để được cảnh báo tự động các vấn đề trong hệ thống mạng của mình. 1.6.2. RFCs và các phiên bản SNMP Tổ chức Internet Engineering Task Force (IETF) chịu trách nhiệm cho việc định nghĩa các chuẩn giao thức hoạt động trong môi trường mạng, bao gồm cả SNMP. IETF phát hành các tài liệu Requests for Comments (RFCs) chỉ rõ các giao thức tồn tại trong môi trường IP. IETF đã công bố các phiên bản của SNMP như sau: SNMP Version 1 (SNMPv1) được định nghĩa trong RFC 1157. Khả năng bảo mật của SNMPv1 dựa trên nguyên tắc cộng đồng, cho phép bất cứ ứng dụng nào chạy SNMP cũng có thể truy xuất thông tin của các thiết bị chạy SNMP khác. Có 3 tiêu chuẩn là: read-only, read-write, và trap. SNMP Version 2 (SNMPv2): tính bảo mật của phiên bản này dưa trên chuỗi “community”. Do đó phiên bản này còn được gọi là SNMPv2c và được định nghĩa trong RFC 1905,1906,1907. SNMP Version 3 (SNMPv3): được định nghĩa trong các RFC 1905, 1906, 1907, 2571, 2572, 2573, 2574, và 2575. Phiên bản này hỗ trợ chức
Trang 25
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
thực mạnh, cho phép truyền thông riêng tư giữa và có xác nhận giữa các thực thể. 1.6.3. Managers và Agents Trong môi trường SNMP có 2 loại thực thể là: managers và agents. Manager là một máy chủ chạy các phẩn mềm quản lý. Managers thông thường được xem như là Network Management Stations (NMSs). Một NMS chịu trách nhiệm cho việc Poll và nhận Traps từ các agent trong mạng. Poll là một hành động truy vấn agent (router, switch, Unix server,…) để lấy các thông tin cần thiết. Trap là cách để agent thông báo cho NMS biết chuyện gì đã xảy ra. Trap không được gửi một cách đồng bộ nghĩa là nó không chịu trách nhiệm hồi báo các truy vấn của NMS mà chỉ thông báo khi có vấn đề xảy ra. Ví dụ, khi một liên kết T1 của router bị mất kết nối, router có thể gửi một Trap đến NMS. Thực thể thứ hai là Agent: là một phần mềm chạy trên thiết bị mạng cần quản lý. Nó có thể là một chương trình riêng biệt hoặc cũng có thể được tích hợp vào hệ điều hành (ví dụ như Cisco IOS trên router hay một hệ điều hành cấp thấp quản lý UPS-bộ tích điện). Ngày nay, hầu hết các thiết bị hoạt động dựa trên nền tảng IP đều đi kèm với các phần mềm SMNP agent giúp người quản trị có thể quản lý thiết bị một cách dễ dàng. Agent cung cấp thông tin cho NMS bằng cách theo dõi các hoạt động của thiết bị. Ví dụ, agent trên router theo dõi trạng thái các cổng của router. NMS có thể truy vấn trạng thái của các cổng này và có hành động thích hợp khi nếu như một trong các cổng xảy ra vấn đề. Khi agent phát hiện có vấn đề xảy ra trên thiết bị nó có thể gửi trap đến NMS. Một vài thiết bị sẽ gửi hồi báo “all clear” trap khi có sự chuyển đổi từ trạng thái xấu sang tốt. Điều này cũng có thể có ích trong việc xác định vần để đã được giải quyết. Hình bên dưới mô tả mối quan hệ giữa NMS và Agent.
Trang 26
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-1: Mô hình hoạt động giữa NMS và Agent Điều quan trọng cần phải xác định rõ là Poll và Trap có thể xảy ra cùng lúc. Không có hạn chế nào khi NMS truy vấn Agent và Agent gửi trap đến NMS. 1.6.4. Structure of Management Information và MIBS Structure of Management Information (SMI) cung cấp cách định nghĩa các đối tượng được quản lý và hành vi của chúng. Một agent sở hữu một danh sách các đối tượng mà nó theo dõi (các đối tượng đó có thể là trạng thái hoạt của một cổng trên router hay dung lượng ổ cứng máy tính…). Danh sách này định nghĩa chung các thông tin mà NMS có thể dùng để xác định tình trạng của thiết bị mà agent tồn tại. Management Information Base (MIB) có thể xem giống như là cơ sở dữ liệu của các đối tượng được quản lý mà agent theo dõi. Bất kì tình trạng hay thông tin thống kê nào có thể được truy cấp bởi NMS thì được định nghĩa trong một MIB. SMI cung cấp cách thức để định nghĩa đối tượng quản lý, trong khi đó MIB là sự định nghĩa chính xác đối tượng đó (dùng cú pháp của SMI). Một agent có thể thực hiện nhiều MIB nhưng tất cả các agent đều thực hiện MIB đặc biệt là MIB-II (RFC 1213). Mục đính chính của MIB-II là cung cấp thông tin quản lý chung của TCP/IP. Nó không bao gồm tất cả các thông tin đặc biệt mà nhà sản xuất thiết bị muốn quản lý. Người ta cần quản lý rất nhiều thiết bị và mỗi thiết bị được sản xuất có các tính năng riêng. Đó là lý do tại sao cho phép nhà sản xuất và cá nhân được phép định nghĩa MIB của riêng họ. Ví dụ nhà sản xuất bán router mới. Agent tích hợp bên trong router sẽ hồi đáp các yêu cầu từ NMS mà được định nghĩa chung trong MIB-II. Thêm vào đó router sẽ có thêm các chức năng
Trang 27
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
mới nhưng không được định nghĩa trong bất kỳ chuẩn MIB nào. Chính vì thế nhà sản xuất phải định nghĩa MIB của riêng họ. 1.6.5. Quản lý máy trạm Việc quản lý các tài nguyên của máy trạm (như dung lượng đĩa cứng, bộ nhớ đã sử dụng…) là một phần quan trọng trong việc quản lý mạng. Host Resources MIB định nghĩa một tập các đồi tượng giúp cho việc quản lý các hệ thống Unix và Windows (tất cả các hệ thống chạy SNMP agent đều có thể quản lý không chỉ riêng Unix và Windows). 1.7. Chi tiết về SNMP 1.7.1. SNMP và UDP SNMP sử dụng User Datagram Protocol (UDP) để truyền tải dữ liệu giữa managers và agents. UDP, được định nghĩa trong RFC 768, được chọn để sử dụng trong SNMP thay vì Transmission Control Protocol (TCP) bởi vì nó là giao thức phi kết nối, nghĩa là không có kết nối điểm tới điểm giữa agent và NMS khi dữ liệu được truyền qua lại. Điều này làm cho giao thức SNMP không đáng tin cậy vì không có khả năng phát hiện khi dữ liệu bị mất. Do đó SNMP phải có cách để phát hiện dữ liệu truyền có bị mất không và truyền lại dữ liệu nếu cần thiết. Đơn giản chỉ phụ thuộc vào thời gian chờ. Khi NMS gửi yêu cầu đến agent và chờ hồi báo. Thời gian chờ của NMS phụ thuộc vào cấu hình của người quản trị. Nếu đã hết thời gian chờ và NMS không nhận được thông tin phản hồi từ agent nó sẽ gửi lại yêu cầu. Số lần gửi lại cũng phụ thuộc vào cấu hình của ứng dụng SNMP. Dường như không quan trọng khi SNMP sử dụng UDP làm giao thức truyền nhận dữ liệu, nhưng lại gặp khó khăn khi agent gửi trap cho NMS, vì không có cách nào để NMS biết chuyện gì xảy ra khi agent gửi trap mà trap lại không đến được NMS và agent cũng không biết có cần phải gửi lại trap không, do NMS không gửi lại hồi báo cho agent khi nhận được trap. Mặt khác do UDP sử dụng ít tại nguyên nên việc ảnh hưởng đến hiệu xuất mạng thấp. SNMP đã từng được triển khai trên TCP nhưng dường như đó là một môi trường không thích hợp do tính hướng kết nối của giao thức này.
Trang 28
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
SNMP dùng cổng UDP 161 để gửi và nhận yêu cầu, UDP 162 để nhận trap. Tất cả các thiết bị sử dụng SNMP phải dùng 2 cổng mặc định này, nhưng một vài nhà sản xuất cho phép ta thay đổi cổng trên cấu hình của agent. Nếu cấu hình mặc định bị thay đổi, NMS phải thay đổi để phù hợp với cấu hình trên agent.
Hình 2-2: Mô hình trao đổi dữ liệu giữa NMS và Agent Hình trên mô tả mô hình TCP/IP, là mô hình cơ bản cho tất cả các quá trình truyền thông TCP/IP. Ngày nay, tất cả các thiết bị muốn tham gia vào quá trình truyền thông trên Internet đều phải tuân theo bộ giao thức này. Khi NMS hay agent muốn thực hiện truyền thông phải theo các tuần tự sau:
Trang 29
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Application: đầu tiên, ứng dụng SNMP (NMS hay agent) quyết định phải làm gì. Ví dụ, nó có thể gửi một yêu cầu SNMP đến agent, gửi hổi đáp yêu cầu SNMP (có thể được gửi từ agent), hay gửi một trap đến NMS. Tầng ứng dụng cung cấp dịch vụ cho người dùng cuối, chẳng hạn như người điều hành yêu cầu thông tin trạng thái của một cổng trên switch. UDP: lớp tiếp theo trong mô hình TCP/IP, UDP cho phép 2 host truyền thông với nhau. Nội dụng của UDP header chứa nhiều thông tin, trong đó có cổng của thiết bị mà nó gửi yêu cầu hay trap. Cổng đích có thể là 161 (truy vấn) hoặc 162 (trap). IP: lớp IP cố gắng truyền các gói SNMP tới địa chỉ đích được yêu cầu. Medium Access Control (MAC): sự kiện cuối cùng phải xảy ra cho một gói SNMP để có thể đến được đích là tẩng vật lý, nơi gói tin được định tuyến để truyền tới đích. Lớp MAC bao gồm phần cứng và trình điều khiển thiết bị đưa dữ liệu tới đích. Lớp MAC cũng chịu trách nhiệm cho việc nhận gói tin từ tầng vật lý và chuyển gói tin lên tầng trên tiếp theo trong mô hình TCP/IP. Để có thể dễ hiểu ta sẽ lấy một ví dụ mô tả. Giả sử ta muốn gửi thư cho một người bạn ở xa để mời người đó tới nhà vào mùa hè này. Bằng cách quyết định gửi một lá thư mời, ta đã thực hiện giống như một chương trình SNMP. Điền vào bìa thư địa chỉ của người nhận giống như chức năng của lớp UDP là xác định cổng đích trong UDP header, trong trường hợp này là địa chỉ của người nhận. Dán tem và bỏ vào thùng thư để người đưa thư lấy đi giống như chức năng của lớp IP. Hành động cuối cùng khi người đưa thư đến và lấy lá thư. Từ đây lá thư được gửi đến đích, là hộp thư của người bạn. Lớp MAC của máy tính giống như xe đưa thư hay máy bay mang thư. Khi người bạn nhận được thư, người đó cũng sẽ thực hiện một quá trình tương tự như vậy để hồi đáp.Thông qua ví dụ trên sẽ là ta hình dung cách thức gói tin được truyền.
Trang 30
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.7.2. SNMP Communities SNMPv1 và SNMPv2 sử dụng khái niệm community để thiết lập sự tin tưởng giữa manager và agent. Một agent được cấu hình với 3 mức: read-only, readwrite, và trap. Tên community có thể được xem như mật khẩu. Có 3 chuỗi community kiểm soát các loại hoạt động khác nhau. Giống như tên của chúng, ta có thể thấy, chuỗi read-only chỉ cho phép ta đọc giá trị của dữ liệu và không cho phép thay đổi các giá trị đó. Ví dụ, cho phép đọc số gói dữ liệu truyền thông trên một cổng của router nhưng không cho phép ta xóa hay thay đổi giá trị đó. Chuỗi readwrite cho phép đọc và thay đổi giá trị dữ liệu. Cuối cùng, chuỗi trap cho phép nhận traps từ agent. Hầu hết các nhà sản xuất bán thiết bị của họ trong đó chuỗi community được gán mặc định, thông thường public nghĩa là read-only và private là read-write. Chúng ta nên thay đổi giá trị mặc định này trước khi sử dụng thiết bị để đảm bảo tính bảo mật cho truyền thông SNMP giữa các thiết bị. Khi cấu hình một SNMP agent, ta sẽ muốn cấu hình địa chỉ trap, là địa chỉ mà thiết bị sẽ gửi trap đến. Thêm vào đó, do chuỗi community được gửi dạng bản rõ, ta nên cấu hình agent gửi một chứng thực SNMP trap, khi có ai đó cố gắng truy vấn thông tin thiết bị sẽ không biết được giá trị của chuỗi community nên không thể truy vấn thành công. Điều này giúp tăng tính bảo mật hệ thống. Do bản chất của chuỗi community giống như mật khẩu vì thế ta nên áp dụng các quy tắc đặt mật khẩu an toàn: từ không có trong từ điển, độ dài lớn, kết hợp kí tự hoa, thường, đặc biệt… Như đã đề cập ở trên, chuỗi community được gửi dưới dạng không mã hóa nên rất dễ để người khác biết được, do đó giao thức SNMPv3 đã có nhiều cải tiến nhằm tăng tính bảo mật cho hệ thống trong quá trình truyền thông giữa các thiết bị SNMP. Có nhiều cách để giảm nguy cơ bị tấn công. Sử dụng tường lửa hay bô lọc gói tin có thể giảm thiểu cơ hội người khác gây hại đến hệ thống bằng cách tấn công thông qua SNMP. Ví dụ, ta có thể cho phép truyền thông trên cổng UDP 161 (truy vấn SNMP) trong mạng chỉ khi nó đến từ địa chỉ IP của máy NMS, tương tự với
Trang 31
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
cổng UDP 162 cho gói tin trap. Tường lửa không thể ngăn chặn 100% nguy cơ bị tấn công, nó chỉ góp phần giảm thiểu nguy cơ bị tấn công cho hệ thống. Điều quan trọng cần biết là một khi có người biết được chuỗi community read-write trên các thiết bị, người này có thể chiếm quyền điều khiển các thiết bị (như thay đổi cấu hình của router hay switch…). Có một cách để đảm bảo chuỗi community là sử dụng Virtual Private Network (VPN) để đảm bảo dữ liệu được mã hóa khi truyền. Một các khác là thay đổi chuỗi community thường xuyên (cách này không khả thi trong môi trường mạng lớn). Một giải pháp đơn giản là viết một Perl script để thay đổi chuỗi community trên thiết bị. 1.7.3. Structure of Management Information (SMI) Structure of Management Information Version 1 (SMIv1, RFC 1155) định nghĩa một cách chính xác làm cách nào để quản lý một đối tượng được đặt tên và chỉ ra mối quan hệ giữa chúng. Structure of Management Information Version 2 (SMIv2, RFC 2578) cung cấp phương thức cải tiến cho SNMPv2. Định nghĩa của các đối tượng được quản lý có thể mô tả qua 3 thuộc tính sau: Name: hay còn gọi là object identifier (OID), định nghĩa duy nhất một đối tượng quản lý. Tên thường xuất hiện dưới 2 dạng: số và loại có thể đọc (human readable). Trong cả 2 dạng trên, tên thường dài và không thuận tiện. Trong các ứng dụng SNMP, có nhiều cách để hỗ trợ cho việc đọc tên này một cách thuận tiện. SYNTAX: loại dữ liệu của đối tượng được quản lý được định nghĩa bằng cách sử một tập các kí hiệu Abstract Syntax Notation One (ASN.1). ASN.1 là phương pháp chỉ ra cách dữ liệu được biểu diễn và truyền giữa manager và agent. Một đặc điểm thuận tiện của ASN.1 là các ký hiệu độc lập. Điều này có nghĩa các hệ thống khác nhau đều có thể truyền thông SNMP với nhau. Encoding: một đối tượng quản lý được mã hóa thành 1 chuỗi các octets sử dụng Basic Encoding Rules (BER). BER định nghĩa cách đối tượng
Trang 32
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
được mã hóa và giải mã để chúng có thể truyền thông qua môi trường Ethernet. 1.7.3.1
Đặt tên OIDs Các đối tượng quản lý được tổ chức thành cấu trúc dạng cây. Cấu trúc này là
cơ sở để đặt tên cho các đối tượng. Một OID được tạo thành bằng 1 chuỗi các số nguyên dựa trên các nút trên cây cấu trúc, được chia cách bởi dấu chấm (.). Có một hình thức khác thuận tiện để đọc hơn là một chuỗi số đó là đặt tên trên từng nút của cây. Hình dưới mô tả vài cấp của cây đối tượng bắt đầu từ root node. Trong cây dưới, nếu một nút không có nút con thì gọi là lá, ngược lại gọi là nhánh. Ví dụ, bắt đầu cây là root, dưới root có ccitt, iso và joint. Trong hình minh họa, duy nhất iso là nhánh, còn ccitt và joint là lá. Trong ví dụ, ta chú ý nhánh: iso(1).org(3).dod(6).internet(1)có OID là 1.3.6.1, Mỗi đối tượng quản lý có 1 OID riêng. Các doanh nghiệp, cá nhân có thể định nghĩa OID của mình bằng cách đăng kí với tổ chức IANA – tổ chức đang quản lý danh sách các OID.
Trang 33
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-3: Sơ đồ cây các OID 1.7.3.2
Định nghĩa OIDs Trong SMIv1 để định nghĩa một OID ta cần khai báo các thông tin sau:
SYNTAX, ACCESS, STATUS, DESCRIPTION Ví dụ về một khai báo OID: ifTable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of interface entries. The number of entries is given by the value of ifNumber." ::= { interfaces 2 }
Trang 34
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Loại dữ liệu của trường SYNTAX trong SMIv1 được mô tả trong bảng sau: Các loại dữ liệu của SMIv1 Loại dữ liệu
Mô tả Là một số 32-bit thường dùng như là loại dữ liệu liệt kê trong các đối tượng. Ví dụ: trạng thái hoạt động của 1
Integer
cổng trên router 1: up, 2: down, 3: testing. Giá trị 0 không được sử dụng như là loại dữ liệu liệt kê (theo RFC 1155). Là một chuỗi các số thường dùng để đại diện cho 1
Octet String
chuỗi text, thỉnh thoảng cũng dùng để đại diện cho 1 chuỗi địa chỉ vật lý. Là một số 32-bit có giá trị từ 0 - 232-1 (4 294 967 295). Khi đến giá trị tối đa, số này trở về 0 và bắt đầu lại từ
Counter
đầu. Thường dùng để theo dõi thông tin như là số bit gửi và nhận trên một interface. Counter là một số tự tăng và không bao giờ giảm. Khi agent khởi động lại thì Counter cũng trả về giá trị 0. Là một chuỗi các số hệ 10 cách nhau bằng dấu chấm (.)
Object Identifier
đại diện cho một đối tượng trên cây đối tượng. Ví dụ: 1.3.6.1.4.1.9 đại diện cho OID của Cisco.
Null Sequence
Sequence of
Hiện tại không sử dụng trên SNMP. Định nghĩa danh sách chứa số 0 và các loại dữ liệu ASN.1 khác. Định nghĩa một đối tương được quản lý mà được tạo nên bởi loại ASN.1.
IpAddress
Là một số 32-bit đại diện cho địa chỉ IPv4 .
NetworkAddress
Cũng giống như IpAddress nhưng các thể đại diện cho Trang 35
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
các loại địa chỉ mạng khác. Là một số 32-bit có giá trị từ 0 - 232-1 (4 294 967 295). Không giống như Counter, Gauge có thể tăng và giảm Gauge
nhưng nó không bao giờ có thể đạt đến giá trị tối đa. Ví dụ: tốc độ của interface trên router có thể đại diện bằng Gauge. Là một số 32-bit có giá trị từ 0 - 232-1 (4 294 967 295). Là giá trị đo lường thời gian tính bằng phần trăm giây.
Timeticks
Giá trị uptime của thiết bị có thể đại diện bằng loại dữ liệu này. Cho phép bất truyền một giá trị tự do có kiểu tùy ý
Opaque
nhưng được đóng lại thành từng Octet String theo quy định của ASN.1 Bảng 2-2: Loại dữ liệu của trường SYNTAX
Mục đích của các loại dữ liệu trên là định nghĩa một đối tượng được quản lý. Điều này rất quan trọng để đọc và hiểu tập tin MIB. 1.7.4. SMI version 2 SMIv2 là phiên bản mở rộng của SMI bằng cách thêm nhánh snmpV2 vào nhánh internet.
Trang 36
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-4: Sơ đồ các OID của SMIv2 OID cho nhánh mới là: 1.3.6.1.6.3.1.1 hay là iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects Định nghĩa của các đối tượng trong SMIv2 có một ít thay đổi so với SMIv1. Do đó có thể kiểm soát đối tượng tốt hơn. Các kiểu dữ liệu mới trong SMIv2 Loại dữ liệu
Mô tả
Integer32
Giống như Integer
Counter32
Giống như Counter
Gauge32
Giống như Gauge Trang 37
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Unsigned32
Có giá trị từ 0 - 232-1
Counter64
Giống như Counter nhưng có giá trị trong khoảng từ 0264-1.
BITS
Kiểu dữ liệu liệt kệ không âm dạng bit Bảng 2-3: Loại dữ liệu trong SMIv2 Các trường mới được thêm vào trong SMIv2 được mô tả trong bảng sau: Các định nghĩa cải tiến trong SMIv2
Định nghĩa đối tượng UnitsParts
Mô tả Một mô tả nguyên văn dùng để đại diện cho đối tượng Tương đương với trường ACCESS ở SMIv1. Các giá
MAX-ACCESS
trị cho trường này là: read-only, read-write, readcreate, not-accessible, và accessible-for-notify. Một mệnh đề mở rộng với các từ khóa như: current (định nghĩa của object đang có hiệu lực và đang được
STATUS
sử dụng), obsolete (định nghĩa này đã cũ và có thể bỏ đi), và deprecated (định nghĩa này đã cũ và các chuẩn tiếp theo có thể định nghĩa lại). current trong SMIv2 giống như mandatory trong SMIv1. Trường này cho phép mở rộng một bảng bằng cách
AUGMENTS
thêm một hay nhiều cột đại diện cho các đối tượng. Trường này yêu cầu cần có tên của bảng được thêm đối tượng. Bảng 2-4: Các trường dữ liệu trong SMIv2
Trang 38
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.7.5. Chi tiết về MIB-II MIB-II là một nhóm quản lý rất quan trọng vì mỗi thiết bị hỗ trợ SNMP đều phải hỗ trợ MIB-II. RFC1155 mô tả cách trình bày một mib file như thế nào chứ không định nghĩa các object. RFC1213 là một chuẩn định nghĩa nhánh mib nằm dưới iso.org.dod.internet.mgmt.mib-2 (tất nhiên phải theo cấu trúc mà RFC1155 quy định). Chúng ta sẽ khảo sát một phần RFC1213 để hiểu ý nghĩa của một số object trước khi dùng công cụ để đọc chúng. RFC1156 là đặc tả mib chuẩn cho các thiết bị TCP/IP, được coi là InternetStandard Mib (mib version 1). RFC1213 là đặc tả mib chuẩn version 2, thường gọi là mib-2. Chú ý phân biệt mib-1 và mib-2 là các chuẩn đặc tả định nghĩa của các object, còn SMIv1 và SMIv2 là đặc tả cấu trúc của mib file. Mib-1 và mib-2 sử dụng cấu trúc của SMIv1. Mib-2 là một trong những mib được hỗ trợ rộng rãi nhất. Nếu một thiết bị được tuyên bố là có hỗ trợ SNMP thì hãng sản xuất phải chỉ ra nó hỗ trợ các RFC nào, và thường là RFC1213.
Trang 39
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-5: Sơ đồ chi tiết OID MIB-II có 10 nhánh con được định nghĩa trong RFC 1213, kế thừa từ MIB-I trong RFC 1066. Mỗi nhánh có 1 chức năng riêng. system (1.3.6.1.2.1.1) Định nghĩa một danh sách các đối tượng gắn liền với hoạt động của hệ thống như: thời gian hệ thống khởi động tới bây giờ, thông tin liên lạc của hệ thống và tên của hệ thống. interfaces (1.3.6.1.2.1.2) Lưu giữ trạng thái của các interface trên một thực thể quản lý. Theo dõi một interface “up” hoặc “down”, lưu lại các octet gửi và nhận, octet lỗi hay bị hủy bỏ. at (1.3.6.1.2.1.3) Nhóm at (address translation) bị phản đối, nó chỉ cung cấp khả năng tương thích ngược. Nhóm này được bỏ từ MIB-III trở đi.
Trang 40
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
ip (1.3.6.1.2.1.4) Lưu giữ nhiều thông tin liên quan tới giao thức IP, trong đó có phần định tuyến IP. icmp (1.3.6.1.2.1.5) Lưu các thông tin như gói ICMP lỗi, hủy. tcp (1.3.6.1.2.1.6) Lưu các thông tin khác dành riêng cho trạng thái các kết nối TCP như: đóng, lắng nghe, báo gửi… udp (1.3.6.1.2.1.7) Tập hợp các thông tin thống kê cho UDP, các datagram vào và ra, … egp (1.3.6.1.2.1.8) Lưu các tham số về EGP và bảng EGP lân cận. Transmission (1.3.6.1.2.1.10) Không có đối tượng nào trong nhóm này, nhưng nó định nghĩa các môi trường đặc biệt của MIB. snmp (1.3.6.1.2.1.11) Đo lường sự thực thi của SNMP trên các thực thể quản lý và lưu các thông tin như số các gói SNMP nhận và gửi. 1.7.6. Hoạt động của SNMP Protocol Data Unit (PDU) là định dạng thông điệp mà manager và agent sử dụng để gửi và nhận thông tin. Có một định dạng chuẩn PDU cho các hoạt động của SNMP sau: Get Get-next Get-bulk (SNMPv2 và SNMPv3) Set Get-response Trap Notification (SNMPv2 và SNMPv3) Inform (SNMPv2 và SNMPv3) Report (SNMPv2 và SNMPv3)
Trang 41
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-6: Mô hình hoạt động của SNMP 1.7.6.1
Get 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”:
Hình 2-7: Mô hình hoạt động của lệnh get Để agent hiểu được NMS cần tìm thông tin gì, nó dựa vào một mục trong ”get” là ”variable binding” hay varbind. Varbind là một danh sách các đối tượng Trang 42
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạ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. Câu hỏi truy vấn cho trường hợp trong hình 2-7: $ snmpget cisco.ora.com public .1.3.6.1.2.1.1.6.0 system.sysLocation.0 = ""
Đây là một câu lệnh ”snmpget” trên Unix. ”cisco.ora.com” là tên của thiết bị, ”public” là chuỗi chỉ đây là yêu cầu chỉ đọc (read-only), ”.1.3.6.1.2.1.1.6.0” là OID. ”.1.3.6.1.2.1.1” chỉ tới nhóm ”system” trong MIB. ”.6” chỉ tới một trường trong ”system” là ”sysLocation”. Trong câu lệnh này ta muốn hỏi Cisco router rằng việc định vị hệ thống đã được cài đặt chưa. Câu trả lời system.sysLocation.0 = "" tức là chưa cài đặt. Câu trả lời của ”snmpget” theo dạng của varbind: OID=value. Còn phần cuối trong OID ở ”snmpget”; ”.0” nằm trong quy ước của MIB. Khi hỏi một đối tượng trong MIB ta cần chỉ rõ 2 trường ”x.y’, ở đây là ”.6.0”. ”x” là OID thực tế của đối tượng. Còn ”.y” được dùng trong các đối tượng có hướng như một bảng để hiểu hàng nào của bảng, với trường hợp đối tượng vô hướng như trường hợp này ”y” = ”0”. Các hàng trong bảng được đánh số từ số 1 trở đi. Câu lệnh ”get” hữu ích trong việc truy vấn một đối tượng riêng lẻ trong MIB. Khi muốn biết thông tin về nhiều đối tượng thì ”get” tốn khá nhiều thời gian. Câu lệnh get-next giải quyết được vấn đề này.
Trang 43
Khóa Luận Tốt Nghiệp
1.7.6.2
Tìm hiểu triển khai giải pháp giám sát mạng
Get-next 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. Ví dụ ta dùng lệnh ”snmpwalk”. ”snmpwalk’ tương tự như ”snmpget’ nhưng không chỉ tới một đối tượng mà chỉ tới một nhánh nào đó:
$snmpwalk cisco.ora.com public system system.sysDescr.0 = "Cisco Internetwork Operating System Software ..IOS (tm) 2500 Software (C2500-I-L), Version 11.2(5), RELEASE SOFTWARE (fc1)..Copyright (c) 1986-1997 by cisco Systems, Inc... Compiled Mon 31-Mar-97 19:53 by ckralik" system.sysObjectID.0 = OID: enterprises.9.1.19 system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23 system.sysContact.0 = "" system.sysName.0 = "cisco.ora.com" system.sysLocation.0 = "" system.sysServices.0 = 6
Ở đây ta muốn lấy thông tin của nhóm ”system”, agent sẽ gửi trả toàn bộ thông tin của ”system” theo yêu cầu. Quá trình tìm nhóm ”system” trong MIB thực hiện theo cây từ gốc, đến một nút nếu có nhiều nhánh thì chọn nhánh tìm theo chỉ số của nhánh từ nhỏ đến lớn:
Trang 44
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-8: Sơ đồ đường đi OID 1.7.6.3
get-bulk ”get-bulk” được định nghĩa trong SNMPv2. Nó cho phép lấy thông tin quản
lý từ nhiều phần trong bảng. Dùng ”get” có thể làm được điều này. Tuy nhiên, kích thước của câu hỏi có thể bị giới hạn bởi agent. Khi đó nếu nó không thể trả lời toàn bộ yêu cầu, nó gửi trả một thông điệp lỗi mà không có dữ liệu. Với trường hợp dùng câu lệnh ”get-bulk”, agent sẽ gửi càng nhiều trả lời nếu nó có thể. Do đó, việc trả lời một phần của yêu cầu là có thể xảy ra. Hai trường cần khai báo trong ”get-bulk” là: ”nonrepeaters” và ”max-repetitions”. ”nonrepeaters” báo cho agent biết N đối tượng đầu tiên có thể trả lời lại như một câu lệnh ”get” đơn. ”max-repeaters” báo cho agent biết cần cố gắng tăng lên tối đa M yêu cầu ”get-next” cho các đối tượng còn lại:
Trang 45
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 2-9: Mô hình lấy thông tin get-bulk $ snmpbulkget -v2c -B 1 3 linux.ora.com public sysDescr ifInOctets ifOutOctets system.sysDescr.0 = "Linux linux 2.2.5-15 #3 Thu May 27 19:33:18 EDT 1999 i686" interfaces.ifTable.ifEntry.ifInOctets.1 = 70840 interfaces.ifTable.ifEntry.ifOutOctets.1 = 70840 interfaces.ifTable.ifEntry.ifInOctets.2 = 143548020 interfaces.ifTable.ifEntry.ifOutOctets.2 = 111725152 interfaces.ifTable.ifEntry.ifInOctets.3 = 0 interfaces.ifTable.ifEntry.ifOutOctets.3 = 0
Ở đây, ta hỏi về 3 varbind: sysDescr, ifInOctets, và ifOutOctets. Tổng số varbind được tính theo công thức
N + (M * R) N: nonrepeater, tức số các đối tượng vô hướng M: max-repeatition R: số các đối tượng có hướng trong yêu cầu chỉ có sysDescr là vô hướng è N = 1 M có thể đặt cho là 3 , tức là 3 trường cho mỗi ifInOctets và ifOutOctets. Có 2 đối tượng có hướng là ifInOctets và ifOutOctets è R = 2 Tổng số có 1 + 3*2 = 7 varbind
Trang 46
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Còn trường ”–v2c” là do ”get-bulk” là câu lệnh của SNMPv2 nên sử dụng ”v2c” để chỉ rằng sử dụng PDU của SNMPv2. ”-B 1 3” là để đặt tham số N và M cho lệnh. 1.7.6.4 Set Set: để thay đổi giá trị của một đối tượng hoặc thêm một hàng mới vào bảng. Đối tượng này cần phải được định nghĩa trong MIB là ”read-write” hay ”writeonly”. NMS có thể dùng ”set’ để đặt giá trị cho nhiều đối tượng cùng một lúc:
Hình 2-10: Mô hình lệnh set $ snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "" $ snmpset cisco.ora.com private system.sysLocation.0 s "Atlanta, GA" system.sysLocation.0 = "Atlanta, GA" $ snmpget cisco.ora.com public system.sysLocation.0 system.sysLocation.0 = "Atlanta, GA" Câu lệnh đầu là dùng ”get” để lấy giá trị hiện tại của ”system.sysLocation”. Trong câu lệnh ”snmpset” các trường ”cisco.ora.com” và ”system.sysLocation.0” có ý nghĩa giống với ”get”. ”private” để chỉ đối tượng ”read-write’, và đặt giá trị mới bằng: ”s "Atlanta, GA"”. ”s” tức là đặt giá trị của ”system.sysLocation.0” thành string, và giá trị mới là "Atlanta, GA" . Varbind này được định nghĩa trong RFC 1213 là kiểu string tối đa 255 ký tự: Trang 47
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
sysLocation OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The physical location of this node (e.g., 'telephone closet, 3rd floor')." ::= { system 6 } Có thể cài đặt nhiều đối tượng cùng lúc, tuy nhiên nếu có một hành động bị lỗi, toàn bộ sẽ bị hủy bỏ. 1.7.6.5
Error Response của get, get-next, get-bulk, set Có nhiều loại lỗi báo lại từ agent:
SNMPv1 Error Message
Mô tả
noError(0)
Không có lỗi
tooBig(1)
Yêu cầu quá lớn để có thể dồn vào một câu trả lời.
noSuchName(2)
badValue(3)”
readOnly(4)
genErr(5)
OID yêu cầu không tìm thấy, tức không tồn tại ở agent. Câu lệnh “set” dùng không đúng với các object “read-write” hay “write-only. Lỗi này ít dùng. Lỗi “noSuchName” tương đương với lỗi này. Dùng cho tất cả các lỗi còn lại, không nằm trong các lỗi trên Bảng 2-5: Các thông báo lỗi trong SNMPv1
Trang 48
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Các loại lỗi của SNMPv1 mang tính chất chung nhất, không rõ ràng. Do đó SNMPv2 đưa ra thêm một số loại lỗi như sau: SNMPv2 Error Message noAccess(6)
Mô Tả Lỗi khi lệnh “set” cố gắng xâm nhập vào một biến cấm xâm nhập. Khi đó, biến đó có trường “ACCESS” là “not-accessible” Lỗi xảy ra khi lệnh “set” đặt một kiểu dữ liệu
wrongType(7)
khác với kiểu định nghĩa sẵn của đối tượng. Ví dụ khi “set” đặt giá trị kiểu string cho một đối tượng kiểu số nguyên INTEGER Lỗi khi lệnh “set” đưa vào một giá trị có chiều dài
wrongLength(8)
lớn
hơn
chiều
dài
tối
đa
của
đối tượng wrongEncoding(9)
Lỗi khi lệnh “set” sử dụng cách mã hóa khác với cách đối tượng đã định nghĩa.
wrongValue(10)
Một biến được đặt một giá trị mà nó không hiểu. Khi một biến theo kiểu liệt kê “enumeration” được đặt một giá trị không theo kiểu liệt kê. Lỗi khi cố đặt một giá trị cho một biến không tồn
noCreation(11)
tại hoặc tạo một biến không có trong MIB inconsistentValue Một biến MIB ở trạng thái không nhất quán, và nó không chấp nhận bất cứ câu lệnh “set” nào.
resourceUnavailable(13)
Không có tài nguyên hệ thống để thực hiện lệnh “set”
commitFailed(14)
Đại diện cho tất cả các lỗi khi lệnh “set” thất bại
undoFailed(15)
Một lệnh “set” không thành công và agent không thể phục hồi lại trạng thái trước khi lệnh “set” bắt
Trang 49
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
đầu thất bại. authorizationError(16)
Một lệnh SNMP không được xác thực, khi một người nào đó đưa ra mật mã không đúng.
notWritable(17)
Một biến không chấp nhận lệnh “set”.
inconsistentName(18)
Cố gắng đặt một giá trị, nhưng việc cố gắng thất bại vì biến đó đang ở tình trạng không nhất quán. Bảng 2-6: Các lỗi trong SNMPv2
1.7.6.6
Trap Trap là cảnh báo của agent tự động gửi cho NMS để NMS biết có tình trạng
xấu ở agent. Khi nhận được một ”trap” từ agent, NMS không trả lời lại bằng ”ACK”. Do đó agent không thể nào biết được là lời cảnh báo của nó có tới được NMS hay không. Khi nhận được một ”trap” từ agent, nó tìm xem ”trap number” để hiểu ý nghĩa của ”trap” đó.
Hình 2-11: Mô hình gửi Trap từ Agent Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy ra bên trong agent, các sự kiện này không phải là các hoạt động thường xuyên của agent mà là các sự kiện mang tính biến cố. Ví dụ: Khi có một port down, khi có một người dùng login không thành công, hoặc khi thiết bị khởi động lại, agent sẽ gửi trap cho manager.
Trang 50
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Tuy nhiên không phải mọi biến cố đều được agent gửi trap, cũng không phải mọi agent đều gửi trap khi xảy ra cùng một biến cố. Việc agent gửi hay không gửi trap cho biến cố nào là do hăng sản xuất device/agent quy định. Phương thức trap là độc lập với các phương thức request/response. SNMP request/response dùng để quản lượn SNMP trap dùng để cảnh báo. Nguồn gửi trap gọi là Trap Sender và nơi nhận trap gọi là Trap Receiver. Một trap sender có thể được cấu hình để gửi trap đến nhiều trap receiver cùng lúc. Có 2 loại trap : trap phổ biến (generic trap) và trap đặc thù (specific trap). Generic trap được quy định trong các chuẩn SNMP, specific trap do người dùng tự định nghĩa (người dùng ở đây là hăng sản xuất SNMP device). Loại trap là một số nguyên chứa trong bản tin trap, dựa vào đó mà phía nhận trap biết bản tin trap có nghĩa gì. Theo SNMPv1, generic trap có 7 loại sau : coldStart(0), warmStart(1), linkDown(2), linkUp(3), authenticationFailure(4), egpNeighborloss(5), enterpriseSpecific(6). Giá trị trong ngoặc là mã số của các loại trap. Ý nghĩa của các bản tin generic-trap như sau: Số và tên kiểu Trap
Định nghĩa Thông báo agent vừa khởi động lại. Tất cả các biến quản lý sẽ được reset, các biến kiểu “Counters” và “Gauges” được đặt về 0.
coldStart (0)
“coldStart” dùng để xác định một thiết bị mới gia nhập vào mạng. Khi một thiết bị khởi động xong, nó gửi một “trap” tới NMS. Nếu địa chỉ NMS là đúng, NMS có thể nhận được và xác định xem có quản lý thiết bị đó hay không.
warmStart (1)
linkDown (2)
Thông báo agent vừa khởi tạo lại, không có biến nào bị reset. Gửi đi khi một interface trên thiết bị chuyển sang trạng thái “down”. Trang 51
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
linkUp (3)
Gửi đi khi một interface trở lại trạng thái “up”. Cảnh báo khi một người nào đó cố truy cập vào
authenticationFailure (4)
agent đó mà không được xác thực.
egpNeighborLoss (5)
Cảnh báo một EGP lân cận bị “down” Đây là một “trap” riêng, chỉ được biết bởi agent và NMS tự định nghĩa riêng chúng. NMS sử
enterpriseSpecific (6)
dụng phương pháp giải mã đặc biệt để hiểu được thông điệp này. Bảng 2-7: Các kiểu Trap
”trap” được định nghĩa trong MIB là ”rdbmsOutOfSpace”: rdbmsOutOfSpace TRAP-TYPE ENTERPRISE rdbmsTraps VARIABLES { rdbmsSrvInfoDiskOutOfSpaces } DESCRIPTION "An rdbmsOutOfSpace trap signifies that one of the database servers managed by this agent has been unable to allocate space for one of the databases managed by this agent. Care should be taken to avoid flooding the network with these traps." ::= 2 Giá trị của ENTERPRISE là rdbmsTraps, thông tin mô tả của Trap có trong DESCRIPTION và giá trị của Trap là 2. 1.7.6.7
Notification Để chuẩn hóa định dạng PDU ”trap” của SNMPv1 do PDU của ”get” và
”set” khác nhau, SNMPv2 đưa ra ”NOTIFICATION-TYPE”. Định dạng PDU của ”NOTIFICATION-TYPE” là để nhận ra ”get” và ”set”. ”NOTIFICATION-TYPE” được định nghĩa trong RFC 2863:
linkDown NOTIFICATION-TYPE OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
Trang 52
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
STATUS current DESCRIPTION "A linkDown trap signifies that the SNMPv2 entity, acting in an agent role, has detected that the ifOperStatus object for one of its communication links left the down state and transitioned into some other state (but not into the notPresent state). This other state is indicated by the included value of ifOperStatus." ::= { snmpTraps 3 } OID của “trap” này là 1.3.6.1.6.3.1.1.5.3, tức iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTraps .linkDown. 1.7.6.8
Inform SNMPv2 cung cấp cơ chế truyền thông giữa những NMS với nhau, gọi là
SNMP inform. Khi một NMS gửi một SNMP inform cho một NMS khác, NMS nhận được sẽ gửi trả một ACK xác nhận sự kiện. Việc này giống với cơ chế của “get” và “set”. Chú ý: SNMP inform có thể dùng để gửi SNMPv2 Trap đến 1 NMS. Trong trường hợp này agent sẽ được thông báo khi NMS nhận được Trap. 1.7.6.9
Report Được định nghĩa trong bản nháp của SNMPv2 nhưng không được phát triển.
Sau đó được đưa vào SNMPv3 và hy vọng dùng để truyền thông giữa các hệ thống SNMP với nhau. 1.8. Tổng kết Cốt lõi của giao thức quản lý mạng (SNMP) là một tập hợp các hoạt động, chức năng, giúp nhà quản trị mạng có thể quản lý, theo dõi, thay đổi trạng thái của các thiết bị trên hệ thống.
Trang 53
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
CHƯƠNG 3. PHẦN MỀM GIÁM SÁT NAGIOS CORE 1.9. Giới thiệu Nagios là một công cụ để giám sát hệ thống. Điều này có nghĩa là nó liên tục kiểm tra trạng thái của máy và dịch vụ khác nhau trên các máy. Mục đích chính của hệ thống giám sát là để phát hiện và báo cáo về bất kỳ hệ thống không hoạt động, càng sớm càng tốt, do đó, ta nhận thức được vấn đề trước khi người dùng sử dụng. Nagios không thực hiện bất kỳ kiểm tra máy chủ hoặc các dịch vụ nào trên của máy chủ Nagios. Nó sử dụng plugin để thực hiện việc kiểm tra thực tế. Điều này làm cho nó có tính linh hoạt cao, và là giải pháp hiệu quả cho việc thực hiện và kiểm tra dịch vụ. Đối tượng giám sát của Nagios được chia thành hai loại: host và dịch vụ. Host là các máy vật lý (máy chủ, bộ định tuyến, máy trạm, máy in và vv), trong khi dịch vụ là những chức năng cụ thể, ví dụ, một máy chủ web (một quá trình xử lý http) có thể được định nghĩa như là một dịch vụ được giám sát. Mỗi dịch vụ có liên quan đến một máy chủ là dịch vụ đang chạy trên đó. Ngoài ra, cả hai máy và dịch vụ có thể được nhóm lại thành các nhóm dịch cho phù hợp.
Hình 3-12: Các đối tượng cần giám sát trên Nagios Trang 54
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Nagios có hai ưu điểm lớn khi nói đến quá trình giám sát, thay vì theo dõi các giá trị, nó chỉ sử dụng bốn mức độ để mô tả tình trạng: OK, WARNING, CRITICAL, và UNKNOW. Các mô tả tình trạng của các đối tượng được giám sát cho phép người quản trị quyết giải quyết hay bỏ qua các vấn đề trên hệ thống mà không tốn nhiều thời gian. Đây chính là điều Nagios làm. Nếu ta đang theo dõi một giá trị số như số lượng không gian đĩa và tải CPU, ta có thể định nghĩa ngưỡng những giá trị để được cảnh báo khi cần thiết. Một thuận tiện khác của Nagios là các báo cáo về trạng thái của các dịch vụ đang hoạt động. Báo cáo này cung cấp một cái nhìn tổng quan tốt về tình trạng cơ sở hạ tầng. Nagios cũng cung cấp các báo cáo tương tự cho các nhóm máy chủ và các nhóm dịch vụ, cảnh báo khi bất kỳ dịch vụ quan trọng hoặc cơ sở dữ liệu server ngưng hoạt động. Báo cáo này cũng có thể giúp xác định độ ưu tiên của các vấn đề như vấn đề nào cần được giải quyết trước. Nagios thực hiện tất cả các kiểm tra của mình bằng cách sử dụng plugins. Đây là những thành phần bên ngoài mà Nagios qua đó lấy được thông tin về những gì cần được kiểm tra và cung cấp các cảnh báo cho người quản trị. Plugins có trách nhiệm thực hiện các kiểm tra và phân tích kết quả. Các đầu ra từ một kiểm tra đó là một trạng thái (OK, WARNING, CRITICAL, hoặc UNKNOW) và các văn bản bổ sung cung cấp thông tin về các dịch vụ cụ thể. Văn bản này chủ yếu dành cho các quản trị viên hệ thống để có thể đọc một trạng thái chi tiết của một dịch vụ. Nagios không chỉ cung cấp một hệ thống cốt lõi để theo dõi, mà còn cung cấp một tập các plugins tiêu chuẩn trong một gói riêng biệt (xem http://nagiosplugins.org/ để biết thêm chi tiết). Những plugin này cho phép kiểm tra các dịch vụ đang chạy trên hệ thống. Ngoài ra nếu ta muốn thực thi một kiểm tra đặc biệt, ta có thể tạo một plugin riêng cho mình. 1.9.1. Lợi ích của việc giám sát tài nguyên Có nhiều lý do tại sao ta nên chắc chắn rằng tất cả các nguồn tài nguyên đang làm việc như mong đợi. Các lợi thế chính là sự cải thiện về chất lượng. Nếu nhân viên IT có thể thông báo sự cố nhanh chóng hơn, họ cũng sẽ có thể xử lý các vấn đề nhanh hơn. Đôi khi, sẽ mất vài giờ hoặc vài ngày để có được báo cáo đầu tiên của Trang 55
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
một sự cố. Nagios sẽ đảm bảo rằng nếu có thiết bị hoặc dịch vụ gì là không làm việc, ta biết về nó một cách nhanh nhất. Nó cũng có thể làm cho Nagios thực hiện các khôi phục tự động, điều này được thực hiện nhờ vào các sự kiện được định nghĩa trong Nagios. Đây là các lệnh được chạy sau khi tình trạng của một máy chủ lưu trữ hoặc dịch vụ đã thay đổi, ví dụ khi một router chính không hoạt động, Nagios sẽ chuyển đến một giải pháp dự phòng cho đến khi router chính được sửa. Một trường hợp điển hình là một kết nối quay số như dự phòng sẽ được bật, trong trường hợp mất kết nối VPN. Một lợi thế là xác định vấn đề tốt hơn. Nagios có thể xác định được chính xác một sự cố xảy ra trên hệ thống nhưng không mất nhiều thời gian. Nagios cũng rất linh hoạt khi thông báo cho mọi người về những sự cố. Ta có thể thiết lập nó để gửi email cho những người khác nhau tùy thuộc vào những sự cố đó. Trong hầu hết các trường hợp, công ty có một lượng lớn đội ngũ CNTT hoặc nhiều đội. Thông thường, ta muốn một số người để xử lý các máy chủ, và những người khác để xử lý các thiết bị switch / router / modem. Ta thậm chí có thể sử dụng giao diện web 'Nagios để quản lý người nào đang làm việc về vấn đề gì. Ta cũng có thể cấu hình cách Nagios gửi cảnh báo qua email, SMS , MSN… Giám sát nguồn tài nguyên không chỉ hữu ích để xác định vấn đề, nó cũng có thể giúp ta tiết kiệm thời gian để tìm hiểu chúng. Nagios cảnh báo và xử lý các tình huống quan trọng khác nhau. Điều này có nghĩa rằng nó có thể nhận ra vấn đề tình huống quan trọng một cách nhanh chóng. Ví dụ, nếu đĩa cứng lưu trữ trên một máy chủ email là đã sử dụng hết thì tốt hơn ta nên được thông báo về tình trạng này trước khi nó trở thành một vấn đề nghiêm trọng. Giám sát cũng có thể được thiết lập trên nhiều máy tính trên khắp các địa điểm khác nhau mà có thể giao tiếp tất cả các kết quả đến một máy chủ Nagios trung tâm. Bằng cách này, thông tin về tất cả các host và dịch vụ trong hệ thống có thể được truy cập từ một máy tính đơn lẻ. Điều này sẽ cho ta một bức tranh hoàn chỉnh cơ sở hạ tầng CNTT.
Trang 56
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.9.2. Các chức năng chính Các chức năng của Nagios rất linh hoạt, nó có thể được cấu hình để theo dõi cơ sở hạ tầng CNTT theo cách ta muốn. Nó cũng có một cơ chế để tự động phản ứng với các vấn đề, và một hệ thống cảnh báo mạnh. Tất cả điều này được dựa trên một hệ thống định nghĩa các đối tượng rõ ràng: Commands: được định nghĩa về cách Nagios cần thực hiện các loại kiểm tra, chúng là một lớp trừu tượng cho phép ta nhóm các hoạt động tương tự lại với nhau. Time-periods: là ngày và thời gian kéo dài mà trong đó một hoạt động nên hay không nên được thực hiện, ví dụ: Thứ hai đến thứ sáu 9:00-17:00. Contacts và Contact groups: là những người cần được cảnh báo, cùng với thông tin về cách thức và thời gian họ cần được cảnh báo. Contacts có thể được nhóm lại thành Contact groups. Host: là những máy vật lý, cùng với thông tin về việc ai sẽ được liên lạc, làm thế nào kiểm tra phải được thực hiện, và khi nào. Host có thể được nhóm lại thành các Host group, mỗi host có thể là một thành viên của nhiều Host group. Services: là các chức năng khác nhau hoặc các tài nguyên cần được giám sát, cùng với thông tin về những người cần được liên lạc, làm thế nào kiểm tra phải được thực hiện, và khi nào. Service có thể được nhóm lại thành các service group, mỗi service có thể là một thành viên của nhiều service group. Host và service escalation: định nghĩa khoảng thời gian được chỉ ra mà sau đó người phụ nên được cảnh báo của các sự kiện nào đó - ví dụ một máy chủ quan trọng là ngưng hoạt hơn 4 giờ nên cảnh báo cho quản trị viên để họ bắt đầu theo dõi các vấn đề. Một tiện ích quan trọng ta sẽ đạt được bằng cách sử dụng Nagios là một hệ thống phụ thuộc. Đối với các quản trị viên, rõ ràng là nếu router bị hỏng, tất cả các máy truy cập thông qua nó sẽ thất bại. Nagios cho phép ta định nghĩa phụ thuộc giữa các máy để hình thành cấu trúc liên kết mạng lưới thực tế. Ví dụ, nếu một switch, cho kết nối ta với một bộ định tuyến ngưng hoạt động, Nagios sẽ không Trang 57
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
thực hiện bất kỳ kiểm tra trên router hoặc trên các máy tính phụ thuộc vào router. Điều này được minh họa trong ví dụ sau đây:
Hình 3-13: Ví dụ mô tả sự cố Ta cũng có thể định nghĩa rằng một dịch vụ phụ thuộc vào một dịch vụ khác, hoặc trên cùng một máy chủ hoặc trên các máy chủ khác nhau. Nếu một trong các dịch vụ là ngưng hoạt động, một kiểm tra cho một dịch vụ mà phụ thuộc vào nó sẽ không được thực hiện. Ví dụ, đối với mạng nội bộ của ứng dụng công ty hoạt động tốt, cả hai máy chủ web cơ bản và cơ sở dữ liệu một máy chủ đều hoạt động. Vì vậy, nếu một dịch vụ cơ sở dữ liệu không hoạt động, Nagios sẽ không thực hiện kiểm tra các ứng dụng. Máy chủ cơ sở dữ liệu có thể là trên cùng một máy hoạt khác máy.Trong một trường hợp như vậy, nếu máy bị hỏng hoặc không thể truy cập, cảnh báo cho tất cả các dịch vụ phụ thuộc vào các dịch vụ cơ sở dữ liệu sẽ không được gửi. Nagios cũng cung cấp cơ chế để lên lịch cho kế hoạch ngưng hoạt động vì một vài lý do nào đó như bảo trì hoặc nâng cấp hệ thống. Ta có thể lên lịch cho một Trang 58
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
máy chủ cụ thể hoặc dịch vụ dự kiến không có sẵn. Điều này sẽ ngăn chặn Nagios thông báo cho người được cấu hình cần gửi cảnh báo về các vấn đề liên quan đến đối tượng này. Nagios cũng có thể thông báo cho mọi người kế hoạch ngương hoạt động một cách tự động. Điều này chủ yếu được sử dụng khi bảo trì cơ sở hạ tầng IT và hệ thống cũng như dịch vụ ngưng hoạt động trong một thời gian dài. 1.9.3. Trạng thái tạm thời và cố định Nagios hoạt động bằng cách kiểm tra xem một máy chủ hoặc dịch vụ có hoạt động tốt không và lưu trữ trạng thái của nó. Bởi vì trạng thái của một dịch vụ chỉ là một trong bốn giá trị OK, WARNING, CRITICAL, UNKNOW. Điều quan trọng là nó thực sự xác định được tình trạng hiện tại. Để tránh phát hiện tạm thời và ngẫu nhiên vấn đề, Nagios sử dụng trạng thái tạm thời và cố định mô tả tình trạng hiện tại của một máy chủ lưu trữ hoặc dịch vụ. Hãy tưởng tượng rằng một quản trị viên khởi động lại một máy chủ web và hoạt động này làm cho mất các kết nối đến máy chủ web trong 5s. Như thường, khởi động lại như vậy được thực hiện vào ban đêm để giảm số lượng người dùng bị ảnh hưởng, đây là khoảng thời gian chấp nhận được. Tuy nhiên, một vấn đề có thể nảy sinh khi Nagios cố gắng kết nối tới máy chủ và thông báo rằng nó thực sự ngưng hoạt động nếu chỉ dựa vào một kết quả duy nhất. Để xử lý tình huống khi một dịch vụ ngưng hoạt động trong một thời gian rất ngắn, hoặc các kiểm tra tạm thời không thành công, người ta đưa ra trạng thái tạm thời. Khi trạng thái của một kiểm tra là UNKNOW, hoặc nó là khác nhau các trạng thái trước đó, Nagios sẽ tiến hành kiểm tra lại các máy chủ, dịch vụ nhiều lần để đảm bảo rằng thay đổi là cố định trong một khoảng thời gian dài. Số lần kiểm tra được cấu hình trong phần định nghĩa các dịch vụ. Nagios giả định rằng các kết quả mới là một trạng tạm thời. Sau khi tiến hành kiểm tra nhiều lần mà trạng thái không đổi, thì nó được coi là một trạng thái cố định. Mỗi Host và Service được định nghĩa số thử kiểm tra sẽ được thực hiện trước khi nó có thể được giả định rằng thay đổi là vĩnh viễn. Điều này cho phép linh hoạt trong việc kiểm tra các sự cố. Thiết lập số lượng kiểm tra một sẽ gây ra các thay đổi
Trang 59
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
được coi là khó khăn ngay lập tức. Sau đây là một minh họa cho trạng thái tạm thời và cố định, giả sử số lần kiểm tra là 3 ta sẽ có:
Hình 3-14: Kiểm tra trạng thái Tính năng này cho phép bỏ qua sự cố ngưng hoạt động trong thời gian ngắn của một dịch vụ. Nó cũng rất hữu ích để thực hiện các kiểm tra định kỳ ngay cả khi mọi thứ hoạt động tốt. 1.10. Tổng kết Có nhiều lợi ích khi sử dụng hệ thống giám sát. Nó đảm bảo rằng các dịch vụ đang làm việc một cách chính xác. Nó giúp phát hiện các vấn đề trước và đảm bảo rằng những người thích hợp sẽ được cảnh báo khi có sự cồ xảy ra. Đảm bảo rằng tất cả các dịch vụ hoạt động tốt là điều cần thiết. Trong trường hợp xảy các vấn đề, hệ thống sẽ giúp đỡ trong việc đưa ra một bức tranh rõ ràng về những gì đang làm việc, và những gì không. Nagios là một ứng dụng rất mạnh cho việc giám sát tài nguyên. Nó phù hợp với cả các hệ thống lớn và nhỏ. Nó có thể giúp tổ chức duy trì chất lượng dịch vụ cao hơn. Nagios cũng giúp trong việc xác định nguyên nhân gốc rễ của vấn đề. Nó bao gồm cơ chế rất linh hoạt để theo dõi và thông báo về cơ sở hạ tầng. Nagios là một công cụ cực kỳ mạnh mẽ như nó có thể được cấu hình theo bất kỳ cách nào ta muốn. Hơn nữa nó cũng có thể được mở rộng để nếu có nhu cầu.
CHƯƠNG 4 . CISCO SECURITY MONITORING, ANALYSIS, AND RESPONSE SYSTEM
Trang 60
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.11. Hệ thống giảm thiểu mối đe dọa an ninh CS-MARS ban đầu được tạo ra để giải quyết các vấn đề của các tổ chức có liên quan đến các dữ liệu được thu thập. Trong quá khứ, tất cả các dữ liệu được thu thập từ các thiết bị bảo mật và mạng như router, switch, firewall, IDS, server được lưu trong các thiết bị riêng biệt. Mỗi nhà sản xuất và với mỗi thiết bị khác nhau đều sử dụng cách thức riêng để lưu trữ các báo cáo cũng như các sự kiện thu thập được từ các thiết bị đó. Sự tương quan không tồn tại, đặc biệt là qua nhiều nhà cung cấp, và quản trị viên phải tự theo dõi các thiết bị khác nhau. Mục đích của MARS là tự động thu thập thông tin dữ liệu của các sự kiện và lưu chúng trong một cơ sở dữ liệu lớn, thông qua đó có thể xác định chính xác các vấn đề, sự cố đang xảy ra trên hệ thống. 1.12. Mô hình hóa và tính trực quan MARS có thể biết được vị trí các thiết bị trong hệ thống. Nó có thể lấy được thông tin mô hình hạ tầng khi có thực thi “khám phá” các thiết bị trong mạng. Trong quá trình tìm hiểu hệ thống mạng, MARS kết nối tới tất cả các thiết bị hoặc đọc thông tin từ tâp tin cấu hình và lưu thông tin xuống cơ sở dữ liệu. MARS tiến hành quá trình này một cách định kì để cho thông tin được cập nhật. MARS cũng rất linh hoạt trong việc cấu hình để “khám phá” hệ thống. Quá trình tìm hiểu thông tin được thực thi theo yêu cầu, như ta đang điều tra sự cố bảo mật. Ví dụ, CS-MARS có thể phát hiện một máy tính trên hệ thống đang bị nhiễm worm. Khi ta chọn các điều tra sự cố liên quan đến worm, MARS tiến hành theo dõi các máy chủ bị nhiễm bằng cách đọc các giao thức phân giải địa chỉ (ARP) và bộ nhớ địa chỉ nội dung (CAM) về các thiết bị mạng để ta phát hiện được cổng của switch kết nối đến máy bị nhiễm. Ta có thể xem thông tin này cũng như biểu đồ hiển thị nơi các máy chủ bị nhiễm worm có quan hệ với các máy chủ và các thiết bị khác. Các tính năng trực quan cũng có thể cho phép ta xem sơ đồ quá trình lây nhiễm worm. Nó còn có thể khuyên ta nên hành động để ngăn chặn một tấn công trong hệ thống. Bởi vì nó có thể phát hiện cổng của switch kết nối đến máy tính bị lây nhiễm, và khuyên ta nên tạm thời tắt cổng đó. Trang 61
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.13. Hệ thống báo cáo – quy tắc mạnh CS-MARS cung cấp công cụ truy vấn mạnh cho phép ta có thể dễ dàng tạo một báo cáo hay quy tắc bổ sung cho hệ thống. Mặc định CS-MARS có một tập các quy tắc và báo cáo cho phép ta có thể thay đổi, tùy chỉnh. Công cụ truy vấn cho phép nhanh chóng hiển thị, một trong các định dạng căn bản, các thông tin mà ta quan tâm. Thông thường các truy vấn được lưu lại dưới dạng báo cáo hoặc quy tắc cho phép tự động truy vấn lần sau. 1.14. Cảnh báo và giảm thiểu nguy cơ MARS cho phép ta tùy biến các cảnh báo dự trên các loại sự cố. Ví dụ, hoạt động thu thập thông tin của kẻ tấn công được thực thi dưới hình thức một cuộc tấn công tràn bộ đệm không thành công có thể là một sự cố ta muốn được thông báo. MARS có nhiều cách để cảnh báo cho ta biết có sự cố trên hệ thống: Email Syslog SNMP Paging Short Message Service (SMS) Email với tập tin XML đính kèm. 1.15. Mô tả các thuật ngữ trong CS-MARS CS-MARS sử dụng các thuật ngữ có thể hơi khác với những gì ta đang sử dụng. Để hiểu MARS và quá trình điều tra hoặc truy vấn, ta nên hiểu rõ nhưng thuật ngữ này. 1.15.1. Sự kiện (Event) Mỗi một ghi nhận về các sự kiện, bất kể từ các thiết bị nào, đều được coi là một sự kiện. Một sự kiện có thể được thu nhận từ nhiều nguồn như SNMP, syslog, RDEP, SDEE, hoặc từ Server Message Block (SMB).
Trang 62
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.15.2. Phiên (Session) CS-MARS thu thập các sự liên quan với nhau, kết quả của sự liên quan các sự kiện này tạo ra một session. Một session được tạo khi các sự kiện được xác định bởi thời gian, IP nguồn, IP đích, port nguồn, port đích, giao thức và MARS xác định được rằng chúng có liên quan đến nhau. Giả sử ta xem xét một cuộc tấn công đến máy chủ web, các thiết bị mạng và bảo mật đều tạo ra một bản ghi. Ta có thể thấy một session được tạo bởi một tập các bản ghi sự kiện đó: Firewall cho phép truyền thông qua cổng 80 TCP từ máy của kẻ tấn công đến máy chủ web và gửi một bản ghi đến MARS qua syslog. IDS hoặc IPS xác định có tấn công DDOS đến máy chủ web và gửi bản ghi thông qua SDEE. Router xác định được truyền thông từ máy kẻ tấn công đến máy chủ web qua TCP 80 và gửi bản ghi qua syslog. Máy chủ web ghi nhận lại thông tin của kẻ tấn công rồi gửi đến MARS. Tất cả các bản ghi sự kiện của dữ liệu xuất phát từ cùng một mạng sẽ được thu thập tạo thảnh một session. 1.15.3. Quy tắc (Rules) Rules là các quy định phải được đáp ứng chính xác để CSMARS có một hành động. Theo mặc định, khi tất cả các điều kiện của Rule được đáp ứng, một sự cố được tạo ra, tùy thuộc vào từng loại Rules, ta có thể biết thêm chi tiết các hành động. Rules có thể là những cái cơ bản, như các sự kiện báo cáo của Firewall hoặc IDS, hoặc phức tạp hơn là đặc điểm các hành động ví dụ như một máy Server kết nối với máy Client thông qua các Port và sau đó gửi đến những hành động đó trên mạng.
Trang 63
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Đơn giản như một quy tắc có thể là “báo cho tôi biết khi có từ khóa này xuất hiện trong các sự kiện” hay phức tạp hơn như “báo cho tôi tất cả các trường hợp khi có người cố gắng tấn công đăng nhập vào hệ thống”. MARS sử dụng các quy tắc để xác định các hoạt động mà ta muốn kiểm tra. Quy tắc có thể được tạo ra nhờ truy vấn và thường sử dụng trong các báo cáo. 1.15.4. Sự cố (Incident) Một Incident là một chuỗi các sự kiện tương quan ứng với mỗi Rule khi có tín hiệu một cuộc tấn công vào hệ thống mạng. CS-MARS sẽ phát hiện, giảm thiểu, báo cáo, và phân tích các sự cố đó. Dựa trên bảng điều khiển mạng và các trang Incident sẽ giúp chúng ta phát hiện và hiển thị các sự cố trên hệ thống mạng và giúp đưa ra các quy tắc và các sự kiện để phòng chống lại các tấn công. 1.15.5. False Positive CS-MARS xem xét một tấn công không thành công hoặc bởi vì không thể xâm nhập được vào mục tiêu tấn công hoặc bị các thiết bị bảo mật ngăn chặn hay cũng có thể do một báo cáo sai về một truyền thông được xem là một tấn công. Lúc này CS-MARS sẽ sinh ra một False Positive CS-MARS sử dụng một hệ thống tích hợp đánh giá tính tổn thương (VA) của mạng có thể được kích hoạt trên tất cả hay một phẩn của mạng. Hệ thống VA xác định chính xác hơn các cuộc tấn công là có thật hay không. Có 3 loại False Positive được sử dụng trên CS-MARS False Positive không được xác nhận: được tạo ra khi MARS tin nhưng không chắc chắn rằng một thiết bị trên hệ thống bị tấn công. False Positive được người dùng xác nhận: sau khi xem xét các False Positive không được xác nhận và đồng ý với sự xác định của MARS, người dùng khẳng định lại false positive thì sẽ tạo ra False Positive này. False Positive được hệ thống xác nhận: xảy ra khi một thiết bị báo cáo rằng nó đã chặn được một cuộc tấn công. Điều này có nghĩa là khi có một vài thiết bị chỉ ra một cuộc tấn công trong khi ít nhất có một cuộc tấn
Trang 64
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
công bị thất bại hoặc khi máy bị tấn công gửi một bản ghi cho biết có một tấn công thất bại đến nó. 1.16. Sự giảm nhẹ rủi ro CS-MARS có rất nhiều cách để giảm thiểu các mối đe dọa và tấn công. Vì MARS có được thông tin toàn bộ của mô hình hệ thống và nó có thể xác định chính xác vị trí của các mối đe dọa. MARS có thể xác định phương pháp tốt nhất để giảm nhẹ một cuộc tấn công. Trong khi đang điều tra về một sự cố bảo mật, ta có thể yêu cầu để đưa ra một đề nghị giảm nhẹ các mối đe dọa. 1.17. Giao diện người dùng của CS-MARS Giao diện này cho phép người dùng sử dụng một cách dễ dàng và thuận tiện hơn. Giao diện này chạy trên nền web. Người dùng chỉ cần dùng trình duyệt web để truy cập vào CS-MARS. Ta có thể có được tất cả các thông tin về hệ thống như tình trạng hệ thống, báo cáo, truy vấn… 1.18. Tổng kết CS-MARS đóng hai vai trò quan trọng trong hệ thống. Đầu tiên, nó là một thiết bị rất quan trọng trong việc cái tiến sự tự vệ của hệ thống mạng. Sự tự vệ này được gia tăng là do sự bảo vệ trên toàn hệ thống được truyền thông từ các thiết bị với nhau. Ngoài ra CS-MARS còn là một thiết bị giảm thiểu các nguy cơ, cung cấp các thông tin một cách nhanh chóng và chính xác cho việc phản ứng lại các sự cố trên hệ thống.
Trang 65
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
CHƯƠNG 5. TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG GIÁM SÁT 1.19. Mô hình triển khai
Hình 5-15: Mô hình triển khai 1.20. Giới thiệu mô hình Mô hình triển khai được xây dựng dựa trên hệ thống thực tế của trường đại học Đà Lạt. Với cấu trúc hạ tầng mạng 3 lớp, mô hình được xây dựng nhằm đảm bảo tính ổn định, sẵn sàng và tăng khả năng chịu lỗi cao cho hệ thống. Hệ thống bao gồm các lớp sau: Lớp Core: bao gồm 2 switch 4750R là Dalat-CoreSW-1 và DalatCoreSW-2. 2 switch này đóng vai trò cốt lõi trong hệ thống. Do là switch lớp 3 nên chúng vừa có tác dụng trong cả định tuyến như router và chuyển mạch như switch. Lớp Distribution: gồm 3 switch 3750 là A4-Dis, A8-Dis, KTX-Dis. 3 switch này nằm ở lớp trung gian, chịu trách nhiệm cho việc truyền thông, chuyển mạch giữa các switch lớp Core và lớp Access. Lớp Access: là các switch nằm tại các tòa nhà. Chúng là thiết bị trực tiếp kết nối với người dùng cuối.
Trang 66
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Khu vực các máy chủ ứng dụng: gồm 3 máy tính chính chạy hệ điều hành Windows Server 2003 và Windows Server 2008, đóng vai trò là Web Server, DNS Server và Backup Server. Khu vực quản trị: gồm một máy tính đóng vai trò là Nagios Server chạy hệ điều hành CentOS và thiết bị giám sát chuyên dụng CS-MARS. 1.21. Nagios 1.21.1. Cài đặt 1.21.1.1 Cài đặt hệ điều hành CentOS Cho đĩa CentOS vào ổ đĩa CD. Khởi động máy và cho boot từ CD, màn hình hiển thị giao diện như hình dưới, ấn Enter.
Trang 67
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Skip để khỏi phải kiểm tra đĩa CD:
Khi màn hình cài đặt CentOS hiện ra, chọn Next
Trang 68
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Lựa chọn ngôn ngữ, English Next
Lựa chọn ngôn ngữ cho bàn phím , English Next
Trang 69
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Yes khi xuất hiện câu hỏi "Would you like to initialize this drive, erasing ALL DATA?"
Ở màn hình kế tiếp, nên lựa chọn "Remove linux partitions on selected drives and create default layout." Hệ thống sẽ tự động tạo phân vùng /boot và /.
Trang 70
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Yes ở màn hình kế tiếp:
Tại phần lựa chọn cấu hình network, chọn Edit
Trang 71
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Cài đặt IP theo như hình dưới, chọn OK Next
Lựa chọn Timezone Asia/Ho_Chi_Minh NEXT
Trang 72
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Đặt mật khẩu cho root Next
Bây giờ ta sẽ lựa chọn các packages cần cài đặt. Chọn Customize Now Next
Trang 73
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Trong phần tiếp theo, ở tất cả các Menu bên trái, ta uncheck toàn bộ các packages, riêng phần Base system chỉ lựa chọn Base packages Next
Hệ thống sẽ tự tìm các packages để tiến hành cài đặt
Trang 74
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Tại đây, ta chọn Next
Phân vùng ổ cứng sẽ được format ...
Trang 75
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Bắt đầu tiến hành cài đặt hệ điều hành CentOS
Reboot sau khi tiến trình cài đặt hoàn tất.
Trang 76
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.21.1.2 Cài đặt Nagios Yêu cầu Để cài đặt phần mềm trước tiên ta phải có quyền truy cập tài khoản root. Đảm bảo rằng các gói cài đặt sau được cài trên hệ điều hành CentOS trước khi tiếp tục: Apache PHP Phần biên dịch GCC Thư viện GD Chúng ta có thể sử dụng lệnh yum để cài đặt các gói ứng dụng bằng các lệnh sau: yum install httpd php yum install gcc glibc glibc-common yum install gd gd-devel Tạo thông tin tài khoản người dùng Trước tiên ta phải có quyền truy cập như là root su -l Tạo tài khoản nagios và mật khẩu /usr/sbin/useradd -m nagios passwd nagios Tạo một nhóm người dùng mới là nagcmd, để cho phép tài khoản nagios có thể truy cập vào giao diện web ta thêm tài khoản nagios và apache vào nhóm nagcmd /usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd apache
Trang 77
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Tải phần mềm nagios và các plug-in Tạo một thư mục lưu trữ phần mềm tải về mkdir ~/downloads cd ~/downloads Tải phần mềm nagios và plug-in tại 2 địa chỉ sau: http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins1.4.11.tar.gz Biên dịch và cài đặt Nagios Giải nén mã nguồn của nagios được tải về cd ~/downloads tar xzf nagios-3.2.3.tar.gz cd nagios-3.2.3 Chạy tập tin kịch bản cấu hình của nagios bằng tên nhóm người dùng nagcmd đã được tạo ở phần trên ./configure --with-command-group=nagcmd Biên dịch mã nguồn của nagios make all Cài đặt chương trình, tập lệnh init, tập tin cấu hình mẫu và thiết lập quyền cho các thư mục cần thiết. make install make install-init make install-config make install-commandmode
Trang 78
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Tùy chỉnh cấu hình Những tập tin cấu hình của nagios nằm tại thư mục /usr/local/Nagios/etc. Chỉnh sửa tập tin contacts.cfg tại/usr/local/Nagios/etc/objects/contacts.cfg để thay đổi thông tin địa chỉ email cần dùng cho việc nhận các cảnh báo. vi /usr/local/nagios/etc/objects/contacts.cfg Cấu hình giao diện Web Cài đặt tập tin cấu hình web Nagios trong thư mục conf.d của Apache. make install-webconf Tạo tài khoản nagiosadmin để đăng nhập vào giao diện web của Nagios. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Khởi động lại Apache để các cài đặt mới có hiệu lực. service httpd restart Biên dịch và cài đặt các Plugins của Nagios Giải nén mã nguồn của Nagios Plugins cd ~/downloads tar xzf nagios-plugins-1.4.11.tar.gz cd nagios-plugins-1.4.11 Biên dịch và cài đặt plugins ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install Bắt đầu Nagios Thêm Nagios vào danh sách các dịch vụ hệ thống tự bắt đầu khi hệ điều hành được khởi động. chkconfig --add nagios
Trang 79
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
chkconfig nagios on Xác định tập tin cấu hình của Nagios xem có lỗi gì không. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nếu kết quả trả về là không có lỗi thì ta bắt đầu dịch vụ Nagios. service nagios start Sửa đổi SELinux Hệ điều hành CentOS có ứng dụng SELinux (Security Enhanced Linux) được cài đặt mặc định và ở chế độ Enforcing. Điều này có thể làm chúng ta không truy cập được giao diện của Nagios. Xem thử chế độ của SELinux có phải là Enforcing không. getenforce Đặt lại chế độ cho SELinux là Permissive. setenforce 0 Để thay đổi này cố định, ta phải thay đổi cấu hình của SELinux tại /etc/selinux/config và khởi động lại. Thay vì phải vô hiệu hóa SELinux hoặc chuyển nó sang chế độ Permissive, ta có thể dùng các lệnh sau để chạy CGIs của Nagios dưới chế độ Enforcing: chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/ Đăng nhập vào giao diện Web của Nagios Bây giờ ta có thể đăng nhập vào giao diện web của Nagios với tài khoản nagiosadmin và mật khẩu đã được thiết lập lúc đầu tại địa chỉ: http://localhost/nagios/ Tới đây là đã thành công trong việc cài đặt phần mềm Nagios.
Trang 80
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
1.21.2. Cấu hình Nagios 1.21.2.1 Cấu hình để giám sát hệ thống chạy hệ điều hành Windows Giới thiệu Chúng ta sẽ tiến hành cấu hình Nagios để giám sát các thông tin cơ bản của hệ thống Windows là một máy Client mẫu (Sample Client): Memory sử dụng Tải CPU Dung lượng ổ đĩa sử dụng Trạng thái các dịnh vụ Các tiến trình đang chạy Khái quát cách hoạt động của Nagios với Windows
Hình 5-16 Giao tiếp giữa Nagios và Windows Giám sát các dịch vụ hay các thuộc tính của một hệ thống Windows yêu cầu ta phải cài một Agent trên đó. Agent này giống như là một trung gian giữa các Plugin của Nagios được dùng để giám sát các dịch vụ và thuộc tính của Windows. Nếu Agent không được cài đặt trên hệ thống Windows thì ta không thể giám sát được. Ở đây ta sử dụng phần mềm NSClient++ để giám sát máy Windows và sử dụng plugin check_nt để giao tiếp với NSClient++ (check_nt được cài đặt trên máy chủ Nagios như ở phần trên). Ngoài NSClient++ ta có thể sử dụng NC_Net có chức năng tương tự NSClient++. Trang 81
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Các bước tiến hành Có một vài quá trình cần thực hiện để tiến hành giám sát một máy Windows đó là: Kiểm tra các yêu cầu. Cài đặt agent trên máy Windows. Tạo một host và một định nghĩa service để giám sát máy Windows. Khởi động lại tiến trình nagios để cập nhật thay đổi. Yêu cầu Để cấu hình Nagios giám sát một máy tính Windows ta cần cấu hình các thông tin sau: Chỉnh sửa tập tin cấu hình Nagios: vi /usr/local/nagios/etc/nagios.cfg Bỏ ký tự # ở dòng sau: #cfg_file=/usr/local/nagios/etc/objects/windows.cfg Lưu tập tin và thoát. Công việc vừa làm đã cấu hình cho Nagios biết để đọc các thông tin trong tập tin /usr/local/nagios/etc/objects – là nơi thêm các thông tin về máy windows và các dịch vụ cần giám sát. Cài đặt Agent trên Windows Trước khi tiến hành giám sát ta cần cài đặt agent trên Windows. Ở đây ta sử dụng NSClient++ có thể tìm thấy tại: http://nsclient.org/nscp/downloads Tải
phiên
bản
NSClient++
mới
http://nsclient.org/nscp/downloads Giải nén tập tin tải về ở thư mục C:\NSClient++ Mở cửa sổ Command Prompt Gõ lệnh sau để cài đặt NSClient++: Trang 82
nhất
tại:
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
o nsclient++ /install Bật biểu tượng NSClient++ trên thanh menu hệ thống o nsclient++ SysTray Bật trình quản lý dịch vụ của NSClient++ để đảm bảo cho phép truyền thông giữa Nagios Server và máy Windows.
Hình 5-17: Phần mềm NSClient++ Chỉnh sửa tập tin NSC.INI (trong thư mục C:\NSClient++): Bỏ dấu “ ; ” ở tất cả các modules được liệt kê trong [modules] trừ CheckWMI.dll và RemoteConfiguration.dll Tùy chọn mật khẩu có thể thay đổi tại phần [Settings] Bỏ dấu “ ; ” của allowed_hosts trong phần [Settings]. Thêm địa chỉ IP của Nagios Server hoặc để trống để cho phép bất kỳ host nào kết nối đến Đảm bảo cổng trong phần [NSClient] là 12489 Gõ lệnh sau để bắt đầu dịch vụ NSClient++ trên windows nsclient++ /start Nếu cài đặt đúng thì một biểu tượng mới sẽ xuất hiện trong khay hệ thống. Trang 83
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Đến đây ta có thể thêm máy Windows vào tập tin cấu hình của Nagios để bắt đầu giám sát. Cấu hình Nagios Bây giờ ta sẽ định nghĩa các object definitions trong tập tin cấu hình để giám sát một máy Windows mới Mở tập tin windows.cfg vi /usr/local/nagios/etc/objects/windows.cfg Thêm một định nghĩa mới cho máy Windows để tiến hành giám sát. Thay đổi các thông tin như host_name, alias, address thích hợp: define host{ use
windows-server
host_name
Sample Client
alias
My Windows Server
address
10.0.4.11
} Bây giờ ta sẽ định nghĩa các dịch vụ cần giám sát trên máy Windows Theo dõi phiên bản của NSClient++. Điều này rất hữu ích cho việc cần để kiểm tra nâng cấp phiên bản NSClient++ khi cần thiết: define service{ use
generic-service
host_name
Sample Client
service_description
NSClient++ Version
check_command
check_nt!CLIENTVERSION
} Giám sát thời gian hoạt động của máy Windows
Trang 84
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
define service{ use
generic-service
host_name
Sample Client
service_description
Uptime
check_command
check_nt!UPTIME
} Giám sát tải của CPU và cấu hình để Nagios bật cảnh báo là WARNING nếu tải lớn hơn 80% trong 5 phút và CRITICAL nếu tải lớn hơn 90% trong 5 phút. define service{ use
generic-service
host_name
Sample Client
service_description
CPU Load
check_command
check_nt!CPULOAD!-l 5,80,90
} Định nghĩa dịch vụ giám sát dung lượng sử dụng của bộ nhớ. WARNING nếu sử dụng trên 80% và CRITICAL nếu sử dụng trên 90% define service{ use
generic-service
host_name
Sample Client
service_description
Memory Usage
check_command
check_nt!MEMUSE!-w 80 -c 90
} Giám sát dung lượng ổ đĩa C. Bật cảnh báo WARNING khi sử dụng trên 80% dung lượng đĩa cứng và CRITICAL khi dùng trên 90%. define service{
Trang 85
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
use
generic-service
host_name
Sample Client
service_description
C:\ Drive Space
check_command
check_nt!USEDDISKSPACE!-l c -w 80 -c 90
} Định nghĩa dịch vụ giám sát tiến trình Explorer.exe và bật CRITICAL nếu tiến trình này không chạy. define service{ use
generic-service
host_name
Sample Client
service_description
Explorer
check_command
check_nt!PROCSTATE!-d
SHOWALL
-l
Explorer.exe } Hiển thị tất cả các tiến trình đang chạy define service{ use
generic-service
hostgroup_name
windows-servers
service_description
Process
check_command
check_nt!INSTANCES!-d SHOWALL -l Process
} Đó là một vài dịch vụ giám sát máy Windows cơ bản. Ta lưu lại tập tin cấu hình Mật khẩu Nếu có cấu hình mật khẩu trong NSClient++ ở Windows, cần sửa đổi lệnh check_nt để cho phép mật khẩu. Mở tập tin commands.cfg để chỉnh sửa.
Trang 86
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
vi /usr/local/nagios/etc/objects/commands.cfg Thay đổi định nghĩa của lệnh check_nt để cho phép mật khẩu với tùy chọn –s
define command{ command_name check_nt command_line
$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s
PASSWORD -v $ARG1$ $ARG2$ } Lưu lại tập tin commands.cfg Khởi động lại dịch vụ Nagios Kiểm tra xem các thông tin cấu hình có lỗi gì không với lệnh /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nếu quá trình kiểm tra thông báo có lỗi, tiến hành sửa lỗi tại tập tin được thông báo rồi khởi động lại dịch vụ nagios để cập nhật thay đổi service nagios restart Kết quả giám sát trên Sample Client: Thông tin các dịch vụ đã cấu hình để kiểm tra trên Sample Client: dung lượng ổ C, tải CPU, Explore, dung lượng memory sử dụng, phiên bản của NSClient++, các tiến trình đang chạy trên máy, thời gian bật máy.
Trang 87
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-18: Thông tin các dịch vụ trên Sample Client Theo hình 5-5 ta có thể thấy thông tin về Sample Client: IP Address, trạng thái host, trạng thái thông tin, host có chập chờn hay không, thời gian cập nhật cuối cùng…
Hình 5-19: Thông tin về Sample Client 1.21.2.2 Giám sát Router và Switch Giới thiệu Phần mô tả triển khai dưới đây trình bày cách giám sát trạng thái của router hoặc switch. Chúng ta không thể giám sát nếu các thiết bị này không có địa chỉ IP. Mặc khác nếu các thiết bị trên hỗ trợ giao thức SNMP sẽ rất thuận tiện cho việc giám sát. Các thông tin giám sát trên router hoặc switch Lượng dữ liệu bị mất và thời gian truyền trung bình của lệnh ping Thông tin trạng thái thiết bị Trang 88
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Khái quát Giám sát các thiết bị router và swich có thể được đơn giản hóa tùy thuộc vào loại thiết bị và thông tin cần giám sát. Switch và router có thể được theo dõi dễ dàng bởi lệnh ping để xác định độ ổn định của đường truyền. Nếu thiết bị hỗ trợ SNMP ta có thể giám sát nhiều thông tin hơn. Lệnh check_snmp chỉ hoạt động khi hệ thống được cài đặt các gói ứng dụng net_snmp và net_snmp_utils. Nếu các ứng dụng này chưa được cài đặt thì hãy cài chúng trước và cài lại các plugin của nagios. Các bước tiến hành Cần tiến hành các bước sau để giám sát thiết bị: Kiểm tra các yêu cầu. Tạo một host và một định nghĩa service để giám sát máy Router và Switch Khởi động lại tiến trình nagios để cập nhật thay đổi. Yêu cầu Để cấu hình Nagios giám sát một router hay switch ta cần cấu hình các thông tin sau: Chỉnh sửa tập tin cấu hình Nagios: vi /usr/local/nagios/etc/nagios.cfg Bỏ ký tự # ở dòng sau: #cfg_file=/usr/local/nagios/etc/objects/switch.cfg Lưu tập tin và thoát. Công việc vừa làm đã cấu hình cho Nagios biết để đọc các thông tin trong tập tin /usr/local/nagios/etc/objects – là nơi thêm các thông tin về router hoặc switch cùng các dịch vụ cần giám sát. Trang 89
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Cấu hình Nagios Ta cấu hình để Nagios giám sát switch Dalat-CoreSW-1 như sau: Bây giờ ta sẽ định nghĩa các object definitions trong tập tin cấu hình để giám sát một máy router hoặc switch mới Mở tập tin switch.cfg vi /usr/local/nagios/etc/objects/switch.cfg Thêm một định nghĩa mới cho router hoặc switch để tiến hành giám sát. Thay đổi các thông tin như host_name, alias, address thích hợp: define host{ use
generic-switch
host_name
Dalat-CoreSW-1
alias
Dalat Switch Core
address hostgroups
10.0.255.1 Dalat Switch Core
} Giám sát các dịch vụ Để giám sát các dịch vụ ta tiến hành định nghĩa các dịch vụ trong tập tin switch.cfg Giám sát các gói dữ liệu bị mất và RTA Thêm định nghĩa dịch vụ sau để theo dõi các gói dữ liệu bị mất và thời gian gửi trung bình giữa Nagios server và host cần giám sát mỗi 5 phút trong điều kiện bình thường. define service{ use
generic-service
host_name
Dalat-CoreSW-1
Trang 90
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
service_description PING check_command
check_ping!200.0,20%!600.0,60%
normal_check_interval
5
retry_check_interval
1
} Ý nghĩa của dịch vụ: OK nếu RTA bé hơn 200ms và dữ liệu bị mất bé hơn 20% Bật cảnh báo WARNING nếu RTA lơn hơn 200 ms hoặc mất hơn 20% dữ liệu. Nagios sẽ thông báo CRITICAL nếu RTA lớn hơn 600 milisecond hoặc mất hơn 60% gói dữ liệu. Giám sát thông tin trạng thái bằng SNMP Nếu router hoặc switch hỗ trợ SNMP thì có thể theo dõi nhiều thông tin bằng giao thức này. Giám sát thời gian hoạt động: define service{ use
generic-service
host_name
Dalat-CoreSW-1
service_description Uptime check_command
check_snmp!-C public -o sysUpTime.0
} Trong câu lệnh check_snmp thì tùy chọn –C public là chuỗi community và sysUpTime.0 là chỉ ra OID cần được kiểm tra. Nếu muốn kiểm tra trạng thái của cổng trên router hoặc switch ta định nghĩa dịch vụ sau: define service{ Trang 91
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
use
generic-service
host_name
Dalat-CoreSW-1
service_description Port 1 Link Status check_command
check_snmp!-C public -o ifOperStatus.1 -r
1 -m RFC1213-MIB } Trong ví dụ trên thì tùy chọn –o ifOperStatus.1 chỉ ra kiểm tra trạng thái cổng 1. Giá trị -r 1 chỉ ra kết quả trả về là OK nếu trạng thái là hoạt động và CRITICAL nếu không tìm thấy giá trị cổng 1. Tùy chọn –m RFC1213-MIB chỉ cho check_snmp biết chỉ tải thông tin của RFC1213-MIB thay vì tất cả các MIB trên hệ thống, điều này giúp tốc độ kiểm tra nhanh hơn. Giám sát các interface trên router và switch Dùng plugin check_interface_table để giám sát tất cả các inerface trên router hay switch. Ta khai báo plugin trong commands.cfg như sau define command{ command_name
check_interface_table
command_line
$USER1$/check_interface_table.pl -H
$HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$ -Exclude $ARG4$ -Include $ARG5$ -host $ARG6$ } Định nghĩa dịch vụ để tiến hành giám sát define service{ use
generic-service
hostgroup_name
Dalat-CoreSW-1
service_description
Interface Table
check_command
check_interface_table
Trang 92
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
max_check_attempts
3
normal_check_interval
2
retry_check_interval
2
} Khai báo trên sẽ trả về giá trị là một bảng tất các các interface trên router hay switch
Hình 5-20: Bảng Interface của plugin check_interface Giám sát nhiệt độ Khai báo plugin của check_catalyst_temp trong commands.cfg như sau define command{ command_name
check_temp
command_line
$USER1$/check_catalyst_temp.pl -s $HOSTADDRESS$
-C $ARG1$ -w $ARG2$ -c $ARG3$ } Để giám sát nhiệt độ của router hoặc switch ta định nghĩa dịch vụ sau define service{ use
generic-service
hostgroup_name
Dalat-CoreSW-1
service_description
Temp
Trang 93
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
check_command
check_temp!70!80
max_check_attempts
3
normal_check_interval
2
retry_check_interval
2
} Dịch vụ trên sẽ tiến hành kiểm tra nhiệt độ và sinh cảnh báo WARNING nếu nhiệt độ lớn hơn 70 độ và CRITICAL nếu nhiệt độ lớn hơn 80 độ Giám sát tải Dùng plugin check_snmp_cisco_loadavg với khai báo trong commands.cfg như sau define command{ command_name
check_load
command_line
$USER1$/check_snmp_cisco_loadavg
$HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$ } Định nghĩa dịch vụ để tiến hành giám sát define service{ use
generic-service
hostgroup_name
Dalat-CoreSW-1
service_description
CPU Load
check_command
check_load!70!80
max_check_attempts
3
normal_check_interval
2
retry_check_interval
2
}
Trang 94
-H
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Dịch vụ trên sẽ tiến hành kiểm tra tải CPU và sinh cảnh báo WARNING nếu tải lớn hơn 70% và CRITICAL nếu tải lớn hơn 80% Giám sát tình trạng bộ nhớ Sử dụng plugin check_catalyst_mem để giám sát dung lượng bộ nhớ đang được sự dụng với khai báo trong commands.cfg như sau define command{ command_name
check_mem
command_line
$USER1$/check_catalyst_mem.pl -s $HOSTADDRESS$
-C $ARG1$ -w $ARG2$ -c $ARG3$ } Dịch vụ trên sẽ tiến hành kiểm tra dung lượng bộ nhớ và sinh cảnh báo WARNING nếu dung lương bộ nhớ chưa sử dụng còn ít hơn 20% và CRITICAL nếu ít hơn 10% define service{ use
generic-service
host_name
Dalat-CoreSW-1
service_description
Memory
check_command
check_mem!20%!10%
max_check_attempts
3
normal_check_interval
2
retry_check_interval
2
} Lưu lại tập tin switch.cfg
Khởi động lại dịch vụ Nagios Trang 95
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Kiểm tra xem các thông tin cấu hình có lỗi gì không với lệnh /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nếu quá trình kiểm tra thông báo có lỗi, tiến hành sửa lỗi tại tập tin được thông báo rồi khởi động lại dịch vụ nagios để cập nhật thay đổi service nagios restart Thông tin kết quả giám sát trên Dalat-CoreSW-1 Theo hình 5-7 ta có thể thấy thông tin về Dalat-CoreSW-1: IP Address, trạng thái host, trạng thái thông tin, host có chập chờn hay không, thời gian cập nhật cuối cùng…
Hình 5-21: Thông tin trạng thái Dalat-CoreSW-1
Thông tin các dịch vụ trên Dalat-CoreSW-1: tải CPU, bảng các Interface của host, dung lượng bộ nhớ sử dụng, PING, nhiệt độ, thời gian hoạt động. Trang 96
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-22: Thông tin các dịch vụ trên Dalat-CoreSW-1 1.21.2.3 Giám sát một số dịch vụ phổ biến Giới thiệu Các dịch vụ phổ biến được đề cập sau đây là các dịch vụ thường hay được sử dụng và triển khai trên các hệ thống như HTTP, FTP, SSH… Ngược lại với một số dịch vụ không phổ biến ta phải sử dụng các agent để có thể thu được thông tin cần như là tải CPU, memory, dung lượng đĩa cứng… Các plugin dùng để giám sát một số dịch vụ cơ bản Khi chúng ta cần giám sát trạng thái của các ứng dụng, dịch vụ hoặc giao thức ta cần các plugin để thực thi việc đó. Nagios cung cấp chính thức các plugin này để có thể sử dụng với mục đích cá nhân. Mặc khác nếu không tìm thấy plugin thích hợp, Nagios có thể hỗ trợ các plugin tự phát triển bởi các cá nhân. Do vậy khả năng phát triển của Nagios hầu như không bị giới hạn. Khai báo một host Trước khi tiến hành giám sát các dịch vụ ta phải định nghĩa một host – nơi mà các dịch vụ hoặc ứng dụng được cài đặt. define host{ use
generic-host
host_name
DNS Server Trang 97
Khóa Luận Tốt Nghiệp
alias
Tìm hiểu triển khai giải pháp giám sát mạng
Application Server
address hostgroups
10.0.4.12 allhosts
} define host{ use
generic-host
host_name
Web Server
alias
Application Server
address hostgroups
10.0.3.11 allhosts
}
Khai báo các dịch vụ cần giám sát Với mỗi dịch vụ cần giám sát, ta phải định nghĩa dịch vụ đó trong Nagios với host được tạo. Giám sát HTTP Plugin check_http được dùng để giám sát giao thức HTTP, dùng plugin này ta có thể giám sát được thời gian hồi báo, mã lỗi, chuỗi trả về của HTML, chứng chỉ chứng thực của máy chủ… Trong tập tin commands.cfg ta có định nghĩa của lệnh check_http như sau: define command{ name
check_http
command_name
check_http
command_line
$USER1$/check_http
$HOSTADDRESS$ $ARG1$
Trang 98
-I
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
} Một khai báo đơn giản để giám sát dịch vụ HTTP trên Web Server sẽ như sau: define service{ use
generic-service
host_name
Web Server
service_description HTTP check_command
check_http
} Đây là một định nghĩa đơn giản để giám sát dịch vụ HTTP trên Web Server. Nagios sẽ cảnh báo nếu máy chủ web không hồi báo trong vòng 10s hoặc có thể trả về mã lỗi HTTP như 403, 404,.. Một khai báo khác của check_http cho việc giám sát dịch vụ HTTP như bên dưới. Dịch vụ này được định nghĩa để kiểm tra xem đường dẫn /download/index.php có chứa chuỗi “latest-version.tar.gz” hay không. Nagios sẽ bật cảnh báo nếu không chứa chuỗi trên hoặc máy chủ không hồi báo trong 5s. define service{ use
generic-service
host_name
Web Server
service_description Product Download Link check_command
check_http!-u /download/index.php -t 5 -s
"latest-version.tar.gz" }
Giám sát FTP
Trang 99
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Khi cần giám sát các máy chủ FTP ta có thể sử dụng dịch vụ check_ftp. Tập tin commands.cfg đã chứa định nghĩa cho lệnh check_ftp như sau: define command{ command_name
check_ftp
command_line
$USER1$/check_ftp
-H
$HOSTADDRESS$
$ARG1$ } Một định nghĩa đơn giản để theo dõi dịch vụ FTP trên máy remotehost như sau: define service{ use
generic-service
host_name
Sample Server
service_description FTP check_command
check_ftp
} Định nghĩa dịch vụ này sẽ giám sát dịch vụ FTP và tạo cảnh báo nếu máy chủ FTP không hồi báo trong vòng 10s. Một khai báo khác cho dịch vụ FTP như bên dưới. Ý nghĩa của khai báo này là Nagios sẽ kiểm tra FTP trên cổng 1023 của máy remotehost. Nagios sẽ tạo cảnh báo nếu máy chủ FTP không hồi báo trong vòng 5s hoặc máy chủ hồi báo không chứa chuỗi “Pure-FTPd [TLS]” define service{ use
generic-service
host_name
Sample Server
service_description Special FTP check_command
check_ftp!-p 1023 -t 5 -e "Pure-FTPd
[TLS]"
Trang 100
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
} Giám sát SSH Dùng plugin check_ssh để giám sát dịch vụ này. Lệnh check_ssh được định nghĩa trong commands.cfg như sau: define command{ command_name
check_ssh
command_line
$USER1$/check_ssh
$ARG1$
$HOSTADDRESS$ } Một khai báo kiểm tra dịch vụ SSH đơn giản: define service{ use
generic-service
host_name
Sample Server
service_description SSH check_command
check_ssh
} Nagios sẽ sinh cảnh báo nếu không được hồi đáp trong vòng 10s. Khai báo dưới đây sẽ kiểm tra dịch vụ SSH và sinh cảnh báo nếu máy chủ không hồi báo trong vỏng 5s hoặc trong phiên bản của SSH không chứa chuỗi OpenSSH_4.2 define service{ use
generic-service
host_name
Sample Server
service_description SSH Version Check check_command
check_ssh!-t 5 -r "OpenSSH_4.2"
Trang 101
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
} Giám sát SMTP Dùng plugin check_smtp để giám sát dịch vụ này. Lệnh check_smtp được định nghĩa trong commands.cfg như sau: define command{ command_name
check_smtp
command_line
$USER1$/check_smtp
-H
$HOSTADDRESS$
$ARG1$ } Một khai báo dịch vụ đơn giản của smtp: define service{ use
generic-service
host_name
Sample Server
service_description SMTP check_command
check_smtp
} Nagios sẽ sinh cảnh báo nếu máy chủ SMTP không hồi báo trong vòng 10s. Khai báo sau sẽ làm cho Nagios sinh cảnh báo nếu máy chủ SMTP không hồi báo trong 5s hoặc hồi báo từ máy chủ không chứa chuỗi “mygreatmailserver.com” define service{ use
generic-service
host_name
Sample Server
service_description SMTP Response Check check_command
check_smtp!-t
"mygreatmailserver.com"
Trang 102
5
-e
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
}
Giám sát dịch vụ DNS Dùng plugin check_dns có sẵn trong thư viện của Nagios để giám sát dịch vụ này. Do chưa có định nghĩa trong commands.cfg nên ta tiến hành định nghĩa cho plugin này. define command{ command_name
check_dns
command_line
$USER1$/check_dns -s $HOSTADDRESS$ -H
$ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ } Sau khi định nghĩa ta khai báo một dịch vụ để kiểm tra DNS Server có hoạt động đúng hay không define service{ use
generic-service
host_name
DNS Server
service_description DNS check_command
check_dns!www.dlu.edu.vn!10.0.3.11!15!
25 } Với định nghĩa dịch vụ trên Nagios sẽ kiểm tra máy chủ DNS Server với Host Name www.dlu.edu.vn có phải ở địa chỉ 10.0.3.11 không. Nếu không sẽ sinh cảnh báo CRITICAL hoặc nếu DNS Server không hồi báo trong 15s sẽ sinh cảnh báo WARNING và CRITICAL nếu không hồi báo trong 25s. Khởi động lại Nagios
Trang 103
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Kiểm tra xem các thông tin cấu hình có lỗi gì không với lệnh /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nếu quá trình kiểm tra thông báo có lỗi, tiến hành sửa lỗi tại tập tin được thông báo rồi khởi động lại dịch vụ nagios để cập nhật thay đổi service nagios restart Kết quả giám sát trên DNS Server Thông tin các dịch vụ trên DNS Server: dung lượng ổ C, tải CPU, Explore, dung lượng memory sử dụng, phiên bản của NSClient++, các tiến trình đang chạy trên máy, thời gian bật máy, dịch vụ DNS của DNS Server.
Hình 5-23: Thông tin các dịch vụ trên DNS Server Thông tin trạng thái của DNS Server: Theo hình 5-10 ta có thể thấy thông tin về DNS Server: IP Address, trạng thái host, trạng thái thông tin, host có chập chờn hay không, thời gian cập nhật cuối cùng…
Trang 104
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-24: Thông tin trạng thái DNS Server Thông tin các dịnh vụ trên Web Server : dung lượng ổ C, tải CPU, Explore, dung lượng memory sử dụng, phiên bản của NSClient++, các tiến trình đang chạy trên máy, thời gian bật máy, dịch vụ HTTP của Web Server.
Hình 5-25: Thông tin các dịch vụ trên Web Server Thông tin trạng thái trên Web Server: Theo hình 5-11 ta có thể thấy thông tin về Web Server: IP Address, trạng thái host, trạng thái thông tin, host có chập chờn hay không, thời gian cập nhật cuối cùng…
Trang 105
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-26: Thông tin trạng thái Web Server 1.21.3. Kết quả giám sát hệ thống của Nagios Với cách cấu hình để giám sát các thiết bị như máy tính, router, switch, server như trên. Ta triển khai chương trình Nagios trên hệ thống mạng của trường đại học Đà Lạt để giám sát các hoạt động trên hệ thống này và thu được kết quả như sau: Thông tin tổng quát về tình trạng hệ thống: trạng thái chung của toàn hệ thống, thông tin các host down-up, thông tin các dịch vụ kiểm tra, thông tin các cảnh báo....
Trang 106
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-27: Tình trạng hệ thống Thông tin các thiết bị được giám sát: hiển thị tất cả các thiết bị được cấu hình giám sát trên Nagios Server, trạng thái down-up, lần kiểm tra cuối cùng, thông tin trạng thái chung…
Hình 5-28: Danh sách các thiết bị giám sát Thông tin các dịch vụ được giám sát trên các thiết bị: hiển thị tất cả các thiết bị, các dịch vụ cấu hình trên từng thiết bị và trạng thái của chúng, lần kiểm tra cuối cùng, số lần kiểm tra…
Trang 107
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-29: Danh sách các dịch vụ giám sát Báo cáo về tình trạng của một thiết bị: tạo báo cáo theo yêu cầu, hiển thị thông tin về 1 thiết bị riêng biệt (ở đây là Dalat-CoreSW-1) theo thời gian tạo báo cáo.
Hình 5-30: Báo cáo về thiết bị Dalat-CoreSW-1 Phân loại các thiết bị theo nhóm: hiển thị thông tin các thiết bị theo từng nhóm, Linux, Network Switch, Core and Distribution, Windows, hiển thị trạng thái của các thiết bị đó, tổng số các dịch vụ. Trang 108
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-31: Phân loại thiết bị theo nhóm Các dịch vụ có vấn đề tại thời điểm hiện tại: thông tin các dịch vụ có vấn đề gồm, tên thiết bị, dịch vụ có vấn đề, trạng thái dịch vụ, số lần kiểm tra…
Hình 5-32: Các vấn đề của thiết bị giám sát
Cảnh báo của tất cả các thiết bị và dịch vụ trên hệ thống: thông tin các cảnh báo được liệt kê theo mỗi giờ của từng ngày. Thông tin cảnh báo bao gồm ngày giờ phát sinh cảnh báo, tên thiết bị, dịch vụ cảnh báo…
Trang 109
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-33: Các cảnh báo của thiết bị
Các thông tin tổng quát về tình trạng hoạt động của Nagios: hiển thị thông tin chung của Nagios Server, các dịch vụ kiểm tra chủ động, các dịch vụ kiểm tra bị động, các thiết bị kiểm tra chủ động, các thiết bị kiểm tra bị động…
Trang 110
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-34: Tình trạng của Nagios Server
Các cảnh báo được sinh ra tại thời điểm hệ tại: hiển thị thông tin các dịch vụ bị cảnh báo (chuyển từ up down hay ngược lại, critical hay warning).
Trang 111
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-35: Các cảnh báo được sinh ra
1.22. Cấu hình CS-MARS và các thiết bị giám sát Đăng nhập Trang 112
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Dùng trình duyệt web với địa chỉ IP: 10.1.1.10 để vào giao diện đăng nhập của CS-MARS.
Hình 5-36: Giao diện đăng nhập CS-MARS 1.22.1. Cấu hình CS-MARS Cấu hình địa chỉ IP và mật khẩu mới cho thiết bị Địa chỉ IP Chọn Tab Admin Configuration Information
Hình 5-37: Cấu hình tên và IP cho CS-MARS Thêm/sửa ip address cho eth0 và eth1. Mail Gateway. Domain name. Trang 113
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Cấu hình DNS
Hình 5-38: Cấu hình DNS Thêm thông tin DNS. Đánh tên Domain và Textbox Search Domain và nhấn Add. “Khám phá” hệ thống mạng Các mức hoạt động
Hình 5-39: Các mức hoạt động của CS-MARS Level 1: tại mức này CS-MARS giống như một server syslog thông minh, nó chọn một vài log và thực thi truy vấn và báo cáo. Điền thông tin địa chỉ tên thiết bị để enable mức này. Level 2: yêu cầu nhiều thông tin về network cần monitor, Level 3: yêu cầu chuỗi community và thông tin về network để có thể giao tiếp với các thiết bị. Thêm các thiết bị cần giám sát Cấu hình bằng tay:
Trang 114
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Admin Security and Monitor devices Add Chọn thiết bị từ drop-down list:
Hình 5-40: Danh sách các thiết bị hỗ trợ bởi CS-MARS Điền các thông tin cần thiết Chọn Submit Thêm các thiết bị dùng seed file: Chọn Admin Security and monitor devices Load from seed file
Hình 5-41: Phần điền thông tin cho thiết bị Điền thông tin về địa chỉ, tên user, pass của FTP Server và đường dẫn của tập tin. Trang 115
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn submit. 1.22.2. Cấu hình các thiết bị để giao tiếp với CS-MARS 1.22.2.1 Cisco IOS 12.2: Ở đây ta sẽ cấu hình mẫu một thiết bị chạy IOS 12.2 của Cisco là DalatCoreSW-1 như sau: Config IOS: Bật telnet. Bật ssh. Gửi syslog đến CS-MARS. Router(config)# logging trap Router(config)# logging 10.0.5.10 Cấu hình SNMP RO: Router(config)# snmp-server community RO Cấu hình CS-MARS: Chọn Admin Security and Monitor Devices Add Chọn Cisco IOS 12.2
Hình 5-42: Thông tin cầu cấu hình cho Cisco IOS 12.2 Nhập thông tin Device Name, Access IP, Reporting IP
Trang 116
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Access type: SNMP:Login( to access the reporting device) Enable password(to get into Cisco enable mode)> enter its SNMP RO community. Chọn discover Chọn submit Chọn activate. 1.22.2.2 Cisco Switch-IOS 12.2: Ở đây ta sẽ cấu hình mẫu 1 thiết bị là Switch Dalat-A4-3750 như sau: Config IOS: Bật telnet. Bật ssh. Gửi syslog đến CS-MARS. Router(config)# logging trap Router(config)# logging 10.0.5.10 Cấu hình SNMP RO: Router(config)# snmp-server community RO Cấu hình CS-MARS: Chọn Admin Security and Monitor Devices Add Chọn Cisco Switch-IOS 12.2 Nhập thông tin Device Name, Access IP, Reporting IP Chọn Access type: SNMP:Login( to access the reporting device) Enable password(to get into Cisco enable mode)> enter its SNMP RO community. Chọn Discover
Trang 117
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Submit
Hình 5-43: Thông tin cầu cấu hình cho Cisco Switch IOS 12.2 1.22.2.3 Cisco IPS 5.0 . Cấu hình IPS:
Hình 5-44: Cấu hình cho IPS bật TLS và HTTP Bật HTTP.
Trang 118
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Bật TLS để cho phép HTTPS truy xuất. Tạo access cho phép CS-MARS.
Hình 5-45: Cấu hình cho IPS cho phép CS-MARS Cấu hình CS-MARS: Chọn Admin Security and Monitor Devices Add. Chọn Cisco IPS 5.x Thêm tên của thiết bị và địa chỉ. Thêm username và password, port mặc định là 443. Thêm vùng giám sát của IPS vào. Chọn Test Connectivity Submit.
Trang 119
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-46: Cấu hình cho IPS 1.22.2.4 ASA 7.0: Ta cấu hình giám sát Dalat-Internet-FW như sau: Cấu hình ASA: Bật Telnet: Đăng nhập vào ASA với quyền Administrator telnet 10.0.5.10 255.255.255.0 inside Bật SSH: Đăng nhập vào ASA với quyền Administrator. ssh 10.0.5.10 255.255.255.0 inside
Gửi log file đến CS-MARS: Trang 120
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Đăng nhập vào ASA với quyền Administrator. logging host inside 10.0.5.10 Nếu Cisco ASA có gắn thêm module AIP (Advanced Inspection and Prevention) thì ta cấu hình giống như IPS 5.x Cấu hình CS-MARS: Chọn Admin Security and monitor devices Add. Chọn ASA 7.0
Hình 5-47: Cấu hình cho ASA 7.0 Thêm tên Cisco ASA, địa chỉ IP Nếu có thêm phần Access IP thì chọn thêm FTP, SSH hoặc TELNET Nhập thông tin chuỗi SNMP RO Chọn Discover. 1.22.2.5 Cấu hình CS-MARS giám sát máy Windows Ta cấu hình giám sát một Client mẫu là Backup Server Cấu hình Windows: Bật SNARE: Setup Audit config
Trang 121
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-48: Cấu hình Snare Thêm IP Add hoặc DNS name của local host vào vùng Enter the local host name. Thêm IP Add hoặc DNS name của CS-MARS vào vùng Enter the remote ip or dns add.
Hình 5-49: Cấu hình SNARE 2 Trang 122
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Kiểm tra lại : Enable SYSLOG header. Automatically set audit config Automatically set file system audit config Chọn OK Đối máy Windows là domain: Trên Domain Controller, chọn Administrator Tools Default Domain Security Policy Security Setting Local Policies User Rights Management Manage auditing and security log. Cấu hình Audit Policy. Đối với Windows 2003 Administratoive Tools Local Security Policy Local Policies. User Rights Assignment, kiểm tra rằng Manage Auditing and Security log được cấp cho user account để lấy bảng event log
Trang 123
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-50: Cấu hình Local Security Settings Cấu hình CS-MARS: Thêm thiết bị: Chọn Admin Sercurity and Monitor Devices Add Chọn Add SW Secrity apps on a new host hoặc Add SW Secrity apps on existing host Nhập Device Name và IP Add cho host mới. Chọn hệ điều hành. Thêm NetBIOS name
Trang 124
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-51: Cấu hình cho máy Windows Chọn Logging Info để cấu hình thông tin đăng nhập. Windows Operating System 2000/2003/Generic/NT Thêm vào Domain name, host login và password. Chọn Submit
Trang 125
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-52: Cấu hình thông tin đăng nhập cho máy Windows Chọn Submit Thêm Interface IP Add, Netmask, chọn Apply Active. 1.22.2.6 Cấu hình giám sát Web Server Windows Cấu hình tương tự như ở phần Cấu hình giám sát trên Windows và thêm vào:
Trang 126
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Cấu hình SnareIIS
Hình 5-53: Cấu hình SnareIIS Chọn Start Programs Administrative Tools Internet Services Manager. Trên cây thư mục trên trái, right-click vào Default Web Site. Chọn Properties.
Hình 5-54: Cấu hình cho WebServer
Trang 127
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Enable Loggin Từ danh sách Active log format, chọn W3C Extended Log Format. Chọn Properties.
Hình 5-55: Cấu hình thông tin cho log Trong Tab General Properties, chọn giá trị của New Log Time Period là Daily Ở phần cấu hình CS-MARS sau khi thêm thiết bị là máy windows ta thêm phần sau: Chọn Reporting Applications. Từ danh sách Select Application, chọn Generic Web Server Generic. Chọn Add
Hình 5-56: Cấu hình cho log trên CS-MARS
Trang 128
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Chọn Web log format là W3C_EXTENDED_LOG Chọn Submit. 1.22.3. Kết quả giám sát của hệ thống CS-MARS Sau khi triển khai thiết bị CS-MARS theo mô hình trên ta thu được kết quả sau. Thông tin các thiết bị được cấu hình để giám sát trên CS-MARS: hiển thị thông tin tất cả các thiết bị được cấu hình để giám sát bao gồm: tên thiết bị, loại thiết bị, địa chỉ.
Hình 5-57: Danh sách các thiết bị Miền địa chỉ được cấu hình giám sát sự cố: cấu hình miền địa chỉ mà CS-MARS quản lý trong việc giám sát.
Hình 5-58: Miền địa chị giám sát
Trang 129
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Các miền địa chỉ trên toàn bộ hệ thống được CS-MARS tự động dò tìm ra: CSMARS có chức năng tự động “khám phá” toàn bộ hệ thống, từ đó sẽ sinh ra các miền địa chỉ trên toàn bộ hệ thống.
Hình 5-59: Danh sách địa chỉ tự dò tìm Các quy tắc được cấu hình trên thiết bị. Có các quy tắc hệ thống mặc định được cấu hình trên CS-MARS và các quy tắc do người dùng tự định nghĩa. CS-MARS dựa vào các quy tắc này để kiểm tra các sự cố trên hệ thống,
Hình 5-60: Các quy tắc trên CS-MARS Cấu hình để thiết bị tạo các báo cáo tự động: là các định nghĩa về cách tạo báo cáo về một vấn đề mà người dùng cần thông tin. Như hình 6-47, ta có thể thấy có nhiều định nghĩa về các báo cáo cần thiết như: top các địa chỉ đích nhận truyền dữ liệu, top các cổng truyền tải nhiều dữ liệu, top các nhóm sự kiện được ghi nhận…
Trang 130
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Hình 5-61: Các báo cáo cần tạo trên CS-MARS Sơ đồ mô hình hệ thống được xây dựng thông qua quá trình giám sát: sau khi CSMARS tự động dò tìm toàn bộ hệ thống, CS-MARS sẽ hiển thị sơ đồ mô hình toàn bộ hệ thống.
Hình 5-62: Sơ đồ mạng giám sát
Trang 131
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Báo cáo được biểu diễn một cách trực quan dưới dạng đồ thị: với các định nghĩa về báo cáo ở trên, CS-MARS sẽ biểu diễn các thông tin đó một cách trực quan dưới dạng đồ thị, giúp người quản trị nắm bắt thông tin một cách nhanh chóng. Như hình 6-49 ta có thông tin về top các interface truyền nhiều dữ liệu, top các interface nhận nhiều dữ liệu, top các thiết bị có tải CPU cao…
Hình 5-63: Báo cáo dưới dạng đồ thị 1.23. So sánh hai hệ thống Nagios và CS-MARS Tiêu Chí
Nội Dung
Nagios Core
CS-MARS
Triển khai
Kiến trúc mở
Có khả năng thích ứng Tương tự như Nagios.
rộng
và làm việc với hệ CS-MARS có khả năng thống lớn cũng như có đáp ứng cho việc giám khả năng giám sát khi sát trên các hệ thống từ hệ thống nâng cấp mở lớn đến rất lớn. rộng quy mô.
Trang 132
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Cách cấu hình rất phức Được hỗ trợ bởi cấu Cách cấu hình
tạp và mất nhiều thời hình thông qua giao gian.
diện quản lý nên việc cấu hình đơn giản hơn.
Hỗ trợ người dùng tự Các chức năng là cố Linh hoạt
lập trình để thêm các định. tính năng cho việc giám sát. Hỗ trợ việc theo dõi Tương tư như Nagios.
Kỹ thuật
Quản lý tập trung
giám sát toàn bộ hệ thống một cách tập trung thông qua giao diện web.
Thông tin hiển thị Hiệu quả
Giao diện cung cấp Cung cấp đầy đủ và chi thông tin còn hạn chế.
tiết thông tin cho người quản trị.
Hoạt động ổn định khi Là thiết bị phần cứng giám sát hệ thống lớn. Tính ổn định
chuyên dụng nên hoạt động rất ổn định trên hạ tầng mạng lớn đến rất lớn.
Cung cấp các cảnh báo Tương tự Nagios Tính chính xác
chính xác cho người quản trị.
Giám sát toàn
Cho phép giám sát hầu Giám sát tất cả các
diện
hết các thiết bị và các thiết bị và dịch vụ phổ dịnh vụ phổ thông.
thông. Ngoài ra còn tương thích với các thiết bị chuyên dụng
Trang 133
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
khác. Cung cấp các cảnh báo Cung cấp cảnh báo cho Khả năng cảnh
cho người dùng thông người dùng thông qua
báo
qua
Email,
syslog. Giao diện quản lý
SMS, Email, SMS, syslog, SNMP…
Thông tin giám sát Quản lý thông qua giao được xem thông qua diện web. giao diện web. Không có khả năng Từ các dữ liệu thu phân tích dữ liệu.
được ở dạng thô, phân loại dữ liệu qua các thiết bị khác nhau,
Phân tích dữ liệu
phân tích các thông tin thu được để đưa ra các cảnh báo chính xác nhất đối với hệ thống.
Đề suất giải
Không có khả năng Với khả năng phân loại
pháp
đưa ra các giải pháp và phân tích thông tin nhằm ngăn chặn, giảm thu được. Là một thiết nhẹ các sự cố của hệ bị phần cứng chuyên thống.
dụng thông minh có thể phán đoán tình huống trên hệ thống cũng như đưa ra các giải pháp nhằm ngăn chặn giảm nhẹ các sự cố.
Trang 134
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Thông tin dữ liệu có Các dữ liệu thu được Tính bảo mật
thể bị truy xuất nếu quá được đảm bảo tính bảo trình triển khai không mật một cách tuyệt đối. tốt. Phức tạp trong quá Việc bảo trì, nâng cấp trình bảo trì nếu phần được tiến hành một
Bảo trì
triển khai không tốt do cách dễ dành. không hỗ trợ cấu hình thông qua giao diện quản lý. Hoàn toàn miễn phí đối Do là thiết bị phẩn với
Chi phí
phiên
nguồn mở.
bản
mã cứng thông minh và chuyên dụng nên cần chi phí cao trong việc lắp đặt triển khai.
Bảng 5-8: So sánh Nagios và CS-MARS 1.24. Đánh giá hệ thống giám sát triển khai dựa trên Nagios Với hệ thống lớn sử dụng Nagios có thể đáp ứng nhu cầu giám sát toàn bộ hệ thống với các thiết bị và các giao thức phổ biến. Hệ thống giám sát bằng Nagios có thể chạy rất ổn định và dễ dàng cho việc quản lý nếu ta cấu hình đúng. Những thế mạnh của Nagios là tính ổn định cao và khả năng tự phát triển các plugin dùng cho việc kiểm tra các dịch vụ của người dùng. Tuy nhiên để việc cấu hình cho Nagios rất phức tạp và mất nhiều thời gian. Phần mềm Nagios cũng còn nhiều hạn chế trong việc hiển thị dữ liệu, không có các đồ thị số liệu cũng như sơ đồ mô hình mạng hệ thống. Bên cạnh đó các phần mềm agent không có khả năng tương thích tốt với các phiên bản mới của Nagios do các nhóm phát triển phần mềm này không còn phát triển nhóm phần mềm này nữa. Nagios là một công cụ rất mạnh nhưng chỉ hỗ trợ tốt cho các quản trị viên chuyên nghiệp do việc khó khăn trong vấn đề triển khai. Ngoài ra Nagios không quan tâm nhiều đến những người dùng mới. Không có
Trang 135
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
các chính sách hỗ trợ cũng như giúp đỡ cho việc triển khai nếu ta sử dụng phiên bản miễn phí. 1.25. Đánh giá hệ thống giám sát triển khai dựa trên CS-MARS CS-MARS là một thiết bị phần cứng chuyên dụng với khả năng giám sát, thu thập, phân loại, phân tích dữ liệu đầu vào rất mạnh. CS-MARS thu thập tất cả các sự kiện ở dạng thô. Phân loại các sự kiện theo luồng dữ liệu qua các thiết bị khác nhau. Tạo các quy tắc kiểm tra các sự kiện bất thường. Sau đó tổng hợp các thông tin này để đưa ra đánh giá chính xác nhất về tình trạng hệ thống và hiển thị các thông tin này thành các biểu đồ, truy vấn, báo cáo, thông báo. Ngoài ra nó còn đóng vai trò là trung tâm lưu trữ các sự kiện được gửi từ các thiết bị khác. Do là một thiết bị phần cứng chuyên dụng nên CS-MARS có khả năng giao tiếp, tương thích với các thiết bị giám sát, bảo vệ chuyên dụng khác như IPS, IDS, Firewall…Nhờ các thông tin này ta có thể phát hiện được những sự kiện bất thường, qua đó tìm cách khắc phục hiệu quả nhất trong thời gian sớm nhất giúp cho hệ thống hoạt động thông suốt, hiệu quả. 1.26. Tổng kết Với các chương trình giám sát hệ thống mã nguồn mở như hiện nay chỉ đáp ứng được một phần các nhu cầu cho việc giám sát, theo dõi toàn bộ môi trường mạng phức tạp. Bên cạnh đó các thiết bị chuyên dụng thì đáp ứng khá tốt các nhu cầu này nhưng chi phí cho việc triển khai lại khá cao, chỉ phù hợp với các hệ thống, doanh nghiệp, tổ chức lớn. Việc triển khai một hệ thống giám sát cần dựa trên các tiêu chí như: độ lớn của hệ thống, các chức năng mở rộng, chi phí cho cấp cho việc triển khai hệ thống giám sát… Tùy theo hệ thống của từng tổ chức, doanh nghiệp, đơn vị khác nhau mà ta triển khai hệ thống giám sát cho phù hợp. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Khóa luận đã nghiên cứu, triển khai và hoàn thành những vấn đề sau:
Trang 136
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
Lý thuyết Về vấn đề giám sát: khóa luận đi sâu phân tích về giám sát hệ thống và tầm quan trọng của việc giám sát hệ thống trong môi trường mạng. Về giao thức quản lý mạng: khóa luận đã trình bày rất kỹ về giao thức quản lý mạng đơn giản (Simple Network Management Protocol) bao gồm: khái niệm giao thức quản lý mạng, các thành phần trong giao thức quản lý mạng, và cách hoạt động của giao thức quản lý mạng. Thực nghiệm Khóa luận đưa ra mô hình triển khai và trình bày toàn bộ các bước cấu hình các hệ thống giám sát theo mô hình triển khai đã đề ra. Những kết quả đạt được Có các kiến thức về giám sát hệ thống, các giao thức quản lý mạng. Triển khai thành công mô hình giám sát hệ thống bằng các thiết bị và phần mềm khác nhau. Có thể cấu hình Router, Switch, CS-MARS, Nagios, ASA, IPS, Windows, Linux phục vụ cho quá trình giám sát. Tích lũy kinh nghiệm trong việc cấu hình các công nghệ trên. Hướng phát triển Tích hợp các giải pháp giám sát khác vào hệ thống giám sát Nagios đã có sẵn nhằm tối ưu hóa hệ thống này. Nâng cấp thiết bị CS-MARS để tăng cường khả năng xử lý phát hiện, xử lý các sự cố trên hệ thống.
Trang 137
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
THUẬT NGỮ VIẾT TẮT & KÝ HIỆU SNMP (Simple Network Management Protocol) RFC (Request For Comments) NMS (Network Management Station) SMI (Structure of Management Information)
CS-MARS: Cisco Security Monitoring, Analysis, and Response System. Manager: máy trạm quản lý. Agent: phần mềm trên máy cần quản lý. Router: bộ định tuyến.
MIB (Management Information Base)
Switch: bộ chuyển mạch.
UDP (User Datagram Protocol)
ASA: tường lửa của Cisco.
RMON (Remote Network Monitoring)
IPS: hệ thống phòng chống xâm nhập.
HTTP (Hypertext Transfer Protocol) FTP (File Transfer Protocol) DNS (Domain Name System) SSH (Secure Shell) SMTP (Simple Mail Transfer Protocol)
Trang 138
Khóa Luận Tốt Nghiệp
Tìm hiểu triển khai giải pháp giám sát mạng
TÀI LIỆU THAM KHẢO [1]
Douglas Mauro & Kevin Schmidt, “Essential SNMP”, O’Reilly,
Sebastopol, CA 95472, 2001.
[2]
Max Schubert & Derrick Bennett & Jonathan Gines & Andrew Hay &
John Strand, “Nagios 3 Enterprise Network Monitoring Including Plug-Ins and Hardware Devices”, Syngress Publishing, Burlington, MA 01803, 2008.
[3]
Woflgang Barth, “Nagios – System and Network Monitoring”,
William Pollock, CA, 2006.
[4]
Americans Headquarters, “Cisco Security MARS Initial Configuration
and Upgrade Guide”, Release 6.x, Cisco System, Inc, San Jose, 2009.
[5]
Gary Halleen & Greg Kellogg, “Security Monitoring with Cisco
Security MARS”, Cisco Press, Indianapolis, 2007.
[6]
Augusto Ciuffoletti & Michalis Polychronakis, “Architecture of a
Network Monitoring Element”, 15th IEEE, 2006
[7]
Julian Hein, “Watching your systems with Nagios”, Nagios
Workshop, 2008
[8]
IPSwitch, “The Value of Network Monitoring”, IPSwitch, 2007
Các trang web:
[1]
www.cisco.com
[2]
www.ciscopress.com
[3]
www.vnpro.org
[4]
www.nagios.com
[5]
www.cio.com
[6]
www.exchange.nagios.org
[7]
www.monitoringexchange.org
Trang 139