189
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”,

Trien Khai Nagios - C MARS

Embed Size (px)

DESCRIPTION

Trien Khai Nagios - C MARS

Citation preview

Page 1: Trien Khai Nagios - C MARS

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

Page 2: Trien Khai Nagios - C MARS

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

MỤC LỤC 8

TÓM TẮT KHÓA LUẬN 15

LỜI MỞ ĐẦU 17

1. CHƯƠNG 1. TỔNG QUAN VÀ TẦM QUAN TRỌNG CỦA VIỆC GIÁM SÁT HỆ THỐNG 19

1.1. Giới thiệu.............................................................................................19

1.2. Hiểu biết về hệ thống...........................................................................20

1.3. Cần phải giám sát những gì và tại sao.................................................21

Page 3: Trien Khai Nagios - C MARS

1.4. Những yếu tố cần thiết cho một hệ thống giám sát.............................24

1.5. Tổng kết...............................................................................................24

2. CHƯƠNG 2. GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN 25

2.1. SNMP là gì?........................................................................................25

2.1.1. Quản lý và giám sát mạng.............................................................25

2.1.2. RFCs và các phiên bản SNMP......................................................26

2.1.3. Managers và Agents......................................................................27

2.1.4. Structure of Management Information và MIBS..........................28

2.1.5. Quản lý máy trạm..........................................................................29

2.2. Chi tiết về SNMP.................................................................................29

2.2.1. SNMP và UDP..............................................................................29

2.2.2. SNMP Communities.....................................................................31

2.2.3. Structure of Management Information (SMI)...............................33

2.2.4. SMI version 2................................................................................37

2.2.5. Chi tiết về MIB-II.........................................................................39

2.2.6. Hoạt động của SNMP...................................................................41

2.3. Tổng kết...............................................................................................53

3. CHƯƠNG 3. PHẦN MỀM GIÁM SÁT NAGIOS CORE 54

3.1. Giới thiệu.............................................................................................54

3.1.1. Lợi ích của việc giám sát tài nguyên.............................................55

3.1.2. Các chức năng chính.....................................................................57

3.1.3. Trạng thái tạm thời và cố định......................................................59

3.2. Tổng kết...............................................................................................60

4. CHƯƠNG 4 . CISCO SECURITY MONITORING, ANALYSIS, AND RESPONSE SYSTEM 61

4.1. Hệ thống giảm thiểu mối đe dọa an ninh.............................................61

4.2. Mô hình hóa và tính trực quan............................................................61

4.3. Hệ thống báo cáo – quy tắc mạnh.......................................................62

4.4. Cảnh báo và giảm thiểu nguy cơ.........................................................62

4.5. Mô tả các thuật ngữ trong CS-MARS.................................................62

Page 4: Trien Khai Nagios - C MARS

4.5.1. Sự kiện (Event).............................................................................63

4.5.2. Phiên (Session)..............................................................................63

4.5.3. Quy tắc (Rules).............................................................................63

4.5.4. Sự cố (Incident).............................................................................64

4.5.5. False Positive................................................................................64

4.6. Sự giảm nhẹ rủi ro...............................................................................65

4.7. Giao diện người dùng của CS-MARS.................................................65

4.8. Tổng kết...............................................................................................65

5. CHƯƠNG 5. TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG GIÁM SÁT66

5.1. Mô hình triển khai...............................................................................66

5.2. Giới thiệu mô hình...............................................................................66

5.3. Nagios..................................................................................................67

5.3.1. Cài đặt...........................................................................................67

5.3.2. Cấu hình Nagios............................................................................81

5.3.3. Kết quả giám sát hệ thống của Nagios........................................106

5.4. Cấu hình CS-MARS và các thiết bị giám sát....................................112

5.4.1. Cấu hình CS-MARS....................................................................112

5.4.2. Cấu hình các thiết bị để giao tiếp với CS-MARS.......................115

5.4.3. Kết quả giám sát của hệ thống CS-MARS..................................127

5.5. So sánh hai hệ thống Nagios và CS-MARS......................................130

5.6. Đánh giá hệ thống giám sát triển khai dựa trên Nagios.....................133

5.7. Đánh giá hệ thống giám sát triển khai dựa trên CS-MARS..............134

5.8. Tổng kết.............................................................................................134

THUẬT NGỮ VIẾT TẮT & KÝ HIỆU 136

TÀI LIỆU THAM KHẢO 137

Page 5: Trien Khai Nagios - C MARS
Page 6: Trien Khai Nagios - C MARS

DANH MỤC CÁC HÌNH VẼ

Hình 2-1: Mô hình hoạt động giữa NMS và Agent..................................................28

Hình 2-2: Mô hình trao đổi dữ liệu giữa NMS và Agent..........................................30

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.................................................................................44

Hình 2-9: Mô hình lấy thông tin get-bulk.................................................................45

Hình 2-10: Mô hình lệnh set.....................................................................................46

Hình 2-11: Mô hình gửi Trap từ Agent.....................................................................50

Hình 3-1: Các đối tượng cần giám sát trên Nagios...................................................54

Hình 3-2: Ví dụ mô tả sự cố......................................................................................58

Hình 3-3: Kiểm tra trạng thái....................................................................................60

Hình 5-1: Mô hình triển khai....................................................................................66

Hình 5-2 Giao tiếp giữa Nagios và Windows...........................................................81

Hình 5-3: Phần mềm NSClient++.............................................................................83

Hình 5-4: Thông tin các dịch vụ trên Sample Client................................................87

Hình 5-5: Thông tin về Sample Client......................................................................88

Hình 5-6: Bảng Interface của plugin check_interface..............................................93

Hình 5-7: Thông tin trạng thái Dalat-CoreSW-1......................................................96

Hình 5-8: Thông tin các dịch vụ trên Dalat-CoreSW-1............................................97

Hình 5-9: Thông tin các dịch vụ trên DNS Server..................................................104

Hình 5-10: Thông tin trạng thái DNS Server..........................................................104

Hình 5-11: Thông tin các dịch vụ trên Web Server................................................105

Hình 5-12: Thông tin trạng thái Web Server..........................................................105

Hình 5-13: Tình trạng hệ thống..............................................................................106

Hình 5-14: Danh sách các thiết bị giám sát............................................................106

Hình 5-15: Danh sách các dịch vụ giám sát............................................................107

Page 7: Trien Khai Nagios - C MARS

Hình 5-16: Báo cáo về thiết bị Dalat-CoreSW-1....................................................107

Hình 5-17: Phân loại thiết bị theo nhóm.................................................................108

Hình 5-18: Các vấn đề của thiết bị giám sát...........................................................108

Hình 5-19: Các cảnh báo của thiết bị......................................................................109

Hình 5-20: Tình trạng của Nagios Server...............................................................110

Hình 5-21: Các cảnh báo được sinh ra....................................................................111

Hình 5-22: Giao diện đăng nhập CS-MARS..........................................................112

Hình 5-23: Cấu hình tên và IP cho CS-MARS.......................................................112

Hình 5-24: Cấu hình DNS.......................................................................................113

Hình 5-25: Các mức hoạt động của CS-MARS......................................................113

Hình 5-26: Danh sách các thiết bị hỗ trợ bởi CS-MARS.......................................114

Hình 5-27: Phần điền thông tin cho thiết bị............................................................114

Hình 5-28: Thông tin cầu cấu hình cho Cisco IOS 12.2.........................................115

Hình 5-29: Thông tin cầu cấu hình cho Cisco Switch IOS 12.2.............................117

Hình 5-30: Cấu hình cho IPS bật TLS và HTTP....................................................117

Hình 5-31: Cấu hình cho IPS cho phép CS-MARS................................................118

Hình 5-32: Cấu hình cho IPS..................................................................................119

Hình 5-33: Cấu hình cho ASA 7.0..........................................................................120

Hình 5-34: Cấu hình Snare.....................................................................................121

Hình 5-35: Cấu hình SNARE 2..............................................................................121

Hình 5-36: Cấu hình Local Security Settings.........................................................122

Hình 5-37: Cấu hình cho máy Windows.................................................................123

Hình 5-38: Cấu hình thông tin đăng nhập cho máy Windows................................124

Hình 5-39: Cấu hình SnareIIS.................................................................................125

Hình 5-40: Cấu hình cho WebServer......................................................................125

Hình 5-41: Cấu hình thông tin cho log...................................................................126

Hình 5-42: Cấu hình cho log trên CS-MARS.........................................................126

Hình 5-43: Danh sách các thiết bị...........................................................................127

Hình 5-44: Miền địa chị giám sát...........................................................................127

Hình 5-45: Danh sách địa chỉ tự dò tìm..................................................................128

Page 8: Trien Khai Nagios - C MARS

Hình 5-46: Các quy tắc trên CS-MARS.................................................................128

Hình 5-47: Các báo cáo cần tạo trên CS-MARS....................................................129

Hình 5-48: Sơ đồ mạng giám sát............................................................................129

Hình 5-49: Báo cáo dưới dạng đồ thị......................................................................130

Page 9: Trien Khai Nagios - C MARS

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............................................................22

Bảng 2-1: Loại dữ liệu của trường SYNTAX...........................................................37

Bảng 2-2: Loại dữ liệu trong SMIv2.........................................................................38

Bảng 2-3: Các trường dữ liệu trong SMIv2..............................................................39

Bảng 2-4: Các thông báo lỗi trong SNMPv1............................................................48

Bảng 2-5: Các lỗi trong SNMPv2.............................................................................49

Bảng 2-6: Các kiểu Trap...........................................................................................51

Bảng 5-1: So sánh Nagios và CS-MARS...............................................................133

Page 10: Trien Khai Nagios - C MARS

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 10

Page 11: Trien Khai Nagios - C MARS

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 11

Page 12: Trien Khai Nagios - C MARS

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 12

Page 13: Trien Khai Nagios - C MARS

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.

o Ý 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 13

Page 14: Trien Khai Nagios - C MARS

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. 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 14

Page 15: Trien Khai Nagios - C MARS

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

Trang 15

Page 16: Trien Khai Nagios - C MARS

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 đượ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

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,

switch, server,…).

Đây là những thành phần chủ chốt giữ

cho mạng hoạt động.

Tính sẵn sàng của các dịch vụ quan

trọng trên hệ thống.

Toàn bộ hệ thống không được phép

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

Trang 16

Page 17: Trien Khai Nagios - C MARS

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ưởng tới các ứng dụng quan trọng.

Phần trăm trung bình mức tải của các

router.

Cần nâng cấp hệ thống trước khi xảy ra

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ử

lý trên các máy chủ quan trọng.

Nếu bộ nhớ hay bộ xử lý bị sử dụng hết

sẽ làm ngưng trệ hệ thống.

Chức năng của firewall, chống virus,

cập nhật server, chống spyware,

malware.

Cần phải đảm bảo an ninh cho hệ

thống.

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ư

WinEvent or Syslog.

Có thể thu được thông tin chính xác các

hiện tượng xảy ra trong hệ thống.

SNMP traps như là nhiệt độ trong

phòng máy chủ hay thông tin máy in.

Ta có thể biết được thông tin về 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.

Bang 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

Trang 17

Page 18: Trien Khai Nagios - C MARS

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

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

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.

Trang 18

Page 19: Trien Khai Nagios - C MARS

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

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.

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 19

Page 20: Trien Khai Nagios - C MARS

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

2. CHƯƠNG 2. GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN

2.1. 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.

2.1.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 20

Page 21: Trien Khai Nagios - C MARS

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.

2.1.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ợ

Trang 21

Page 22: Trien Khai Nagios - C MARS

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ức 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ể.

2.1.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 22

Page 23: Trien Khai Nagios - C MARS

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

Hinh 2-1: Mô hinh 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.

2.1.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 23

Page 24: Trien Khai Nagios - C MARS

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ọ.

2.1.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).

2.2. Chi tiết về SNMP

2.2.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 24

Page 25: Trien Khai Nagios - C MARS

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.

Hinh 2-2: Mô hinh 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 25

Page 26: Trien Khai Nagios - C MARS

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 26

Page 27: Trien Khai Nagios - C MARS

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

2.2.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, read-

write, 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 read-

write 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 27

Page 28: Trien Khai Nagios - C MARS

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ị.

2.2.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

Trang 28

Page 29: Trien Khai Nagios - C MARS

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ượng được mã hóa và giải mã để chúng có thể truyền thông qua môi trường

Ethernet.

2.2.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 29

Page 30: Trien Khai Nagios - C MARS

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

Hinh 2-3: Sơ đồ cây các OID

2.2.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 30

Page 31: Trien Khai Nagios - C MARS

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ả

Integer

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

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).

Octet String

Là một chuỗi các số thường dùng để đại diện cho 1

chuỗi text, thỉnh thoảng cũng dùng để đại diện cho 1

chuỗi địa chỉ vật lý.

Counter

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ừ

đầ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.

Object Identifier

Là một chuỗi các số hệ 10 cách nhau bằng dấu chấm (.)

đạ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 Hiện tại không sử dụng trên SNMP.

SequenceĐịnh nghĩa danh sách chứa số 0 và các loại dữ liệu

ASN.1 khác.

Trang 31

Page 32: Trien Khai Nagios - C MARS

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

Sequence ofĐị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 .

NetworkAddressCũng giống như IpAddress nhưng các thể đại diện cho

các loại địa chỉ mạng khác.

Gauge

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

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.

Timeticks

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.

Giá trị uptime của thiết bị có thể đại diện bằng loại dữ

liệu này.

Opaque

Cho phép bất truyền một giá trị tự do có kiểu tùy ý

nhưng được đóng lại thành từng Octet String theo quy

định của ASN.1

Bang 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.

2.2.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 32

Page 33: Trien Khai Nagios - C MARS

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

Hinh 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

Trang 33

Page 34: Trien Khai Nagios - C MARS

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

Gauge32 Giống như Gauge

Unsigned32 Có giá trị từ 0 - 232-1

Counter64 Giống như Counter nhưng có giá trị trong khoảng từ 0-

264-1.

BITS Kiểu dữ liệu liệt kệ không âm dạng bit

Bang 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 Mô tả

UnitsPartsMột mô tả nguyên văn dùng để đại diện cho đối

tượng

MAX-ACCESS

Tương đương với trường ACCESS ở SMIv1. Các giá

trị cho trường này là: read-only, read-write, read-

create, not-accessible, và accessible-for-notify.

STATUS

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

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.

AUGMENTS Trường này cho phép mở rộng một bảng bằng cách

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

Trang 34

Page 35: Trien Khai Nagios - C MARS

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

đối tượng.

Bang 2-4: Các trường dữ liệu trong SMIv2

2.2.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à Internet-

Standard 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 35

Page 36: Trien Khai Nagios - C MARS

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

Hinh 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 36

Page 37: Trien Khai Nagios - C MARS

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.

2.2.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 37

Page 38: Trien Khai Nagios - C MARS

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

Hinh 2-6: Mô hinh hoạt động của SNMP

2.2.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”:

Hinh 2-7: Mô hinh 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 38

Page 39: Trien Khai Nagios - C MARS

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 39

Page 40: Trien Khai Nagios - C MARS

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

2.2.6.2 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 40

Page 41: Trien Khai Nagios - C MARS

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

Hinh 2-8: Sơ đồ đường đi OID

2.2.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 41

Page 42: Trien Khai Nagios - C MARS

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

Hinh 2-9: Mô hinh 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 42

Page 43: Trien Khai Nagios - C MARS

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.

2.2.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 ”write-

only”. NMS có thể dùng ”set’ để đặt giá trị cho nhiều đối tượng cùng một lúc:

Hinh 2-10: Mô hinh 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ự:

sysLocation OBJECT-TYPE

Trang 43

Page 44: Trien Khai Nagios - C MARS

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

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ỏ.

2.2.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) OID yêu cầu không tìm thấy, tức không tồn tại ở

agent.

badValue(3)”Câu lệnh “set” dùng không đúng với các object

“read-write” hay “write-only.

readOnly(4) Lỗi này ít dùng. Lỗi “noSuchName” tương đương

với lỗi này.

genErr(5) 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

Bang 2-5: Các thông báo lỗi trong SNMPv1

Trang 44

Page 45: Trien Khai Nagios - C MARS

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 Mô Tả

noAccess(6) 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”

wrongType(7)

Lỗi xảy ra khi lệnh “set” đặt một kiểu dữ liệu

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

wrongLength(8)

Lỗi khi lệnh “set” đưa vào một giá trị có chiều dài

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ê.

noCreation(11)

Lỗi khi cố đặt một giá trị cho một biến không tồn

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”

Trang 45

Page 46: Trien Khai Nagios - C MARS

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

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

đầ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.

Bang 2-6: Các lỗi trong SNMPv2

2.2.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” đó.

Hinh 2-11: Mô hinh 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

Trang 46

Page 47: Trien Khai Nagios - C MARS

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

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.

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

coldStart (0)

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” 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.

Trang 47

Page 48: Trien Khai Nagios - C MARS

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

warmStart (1) Thông báo agent vừa khởi tạo lại, không có biến

nào bị reset.

linkDown (2) Gửi đi khi một interface trên thiết bị chuyển sang

trạng thái “down”.

linkUp (3) Gửi đi khi một interface trở lại trạng thái “up”.

authenticationFailure (4) Cảnh báo khi một người nào đó cố truy cập vào

agent đó mà không được xác thực.

egpNeighborLoss (5) Cảnh báo một EGP lân cận bị “down”

enterpriseSpecific (6)

Đâ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ử

dụng phương pháp giải mã đặc biệt để hiểu được

thông điệp này.

Bang 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.

Trang 48

Page 49: Trien Khai Nagios - C MARS

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

2.2.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 }

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.

2.2.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.

2.2.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.

Trang 49

Page 50: Trien Khai Nagios - C MARS

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

2.3. 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 50

Page 51: Trien Khai Nagios - C MARS

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

3. CHƯƠNG 3. PHẦN MỀM GIÁM SÁT NAGIOS CORE

3.1. 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.

Trang 51

Page 52: Trien Khai Nagios - C MARS

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

Hinh 3-12: Các đối tượng cần giám sát trên Nagios

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

Trang 52

Page 53: Trien Khai Nagios - C MARS

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

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.

3.1.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

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ử

Trang 53

Page 54: Trien Khai Nagios - C MARS

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 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.

3.1.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.

Trang 54

Page 55: Trien Khai Nagios - C MARS

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

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

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:

Trang 55

Page 56: Trien Khai Nagios - C MARS

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

Hinh 3-13: Ví dụ mô ta 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

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

Trang 56

Page 57: Trien Khai Nagios - C MARS

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

đố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.

3.1.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

đượ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ó:

Trang 57

Page 58: Trien Khai Nagios - C MARS

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

Hinh 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.

3.2. 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.

4. CHƯƠNG 4 . CISCO SECURITY MONITORING,

ANALYSIS, AND RESPONSE SYSTEM

4.1. 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

Trang 58

Page 59: Trien Khai Nagios - C MARS

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ư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.

4.2. 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 đó.

4.3. 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

Trang 59

Page 60: Trien Khai Nagios - C MARS

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

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.

4.4. 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.

4.5. 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.

4.5.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).

4.5.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.

Trang 60

Page 61: Trien Khai Nagios - C MARS

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 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.

4.5.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.

Đơ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.

Trang 61

Page 62: Trien Khai Nagios - C MARS

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

4.5.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.

4.5.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

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ó.

4.6. 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

Trang 62

Page 63: Trien Khai Nagios - C MARS

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

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.

4.7. 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…

4.8. 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 63

Page 64: Trien Khai Nagios - C MARS

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

5. CHƯƠNG 5. TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG

GIÁM SÁT

5.1. Mô hình triển khai

Hinh 5-15: Mô hinh triển khai

5.2. 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à

Dalat-CoreSW-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 64

Page 65: Trien Khai Nagios - C MARS

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.

5.3. Nagios

5.3.1. Cài đặt

5.3.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 65

Page 66: Trien Khai Nagios - C MARS

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 66

Page 67: Trien Khai Nagios - C MARS

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 67

Page 68: Trien Khai Nagios - C MARS

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?"

Trang 68

Page 69: Trien Khai Nagios - C MARS

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à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à /.

Chọn Yes ở màn hình kế tiếp:

Trang 69

Page 70: Trien Khai Nagios - C MARS

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 lựa chọn cấu hình network, chọn Edit

Cài đặt IP theo như hình dưới, chọn OK Next

Trang 70

Page 71: Trien Khai Nagios - C MARS

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 Timezone Asia/Ho_Chi_Minh NEXT

Đặt mật khẩu cho root Next

Trang 71

Page 72: Trien Khai Nagios - C MARS

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ây giờ ta sẽ lựa chọn các packages cần cài đặt. Chọn Customize Now Next

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

Trang 72

Page 73: Trien Khai Nagios - C MARS

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ệ thống sẽ tự tìm các packages để tiến hành cài đặt

Tại đây, ta chọn Next

Trang 73

Page 74: Trien Khai Nagios - C MARS

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 vùng ổ cứng sẽ được format ...

Bắt đầu tiến hành cài đặt hệ điều hành CentOS

Trang 74

Page 75: Trien Khai Nagios - C MARS

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

Reboot sau khi tiến trình cài đặt hoàn tất.

Trang 75

Page 76: Trien Khai Nagios - C MARS

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

5.3.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 76

Page 77: Trien Khai Nagios - C MARS

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-plugins-

1.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 77

Page 78: Trien Khai Nagios - C MARS

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 78

Page 79: Trien Khai Nagios - C MARS

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 79

Page 80: Trien Khai Nagios - C MARS

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

5.3.2. Cấu hình Nagios

5.3.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

Hinh 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 80

Page 81: Trien Khai Nagios - C MARS

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 nhất tạ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 81

Page 82: Trien Khai Nagios - C MARS

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

o Bật biểu tượng NSClient++ trên thanh menu hệ thống

o nsclient++ SysTray

o 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.

Hinh 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 82

Page 83: Trien Khai Nagios - C MARS

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 83

Page 84: Trien Khai Nagios - C MARS

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 84

Page 85: Trien Khai Nagios - C MARS

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 85

Page 86: Trien Khai Nagios - C MARS

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 <mật

khẩu>

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 86

Page 87: Trien Khai Nagios - C MARS

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

Hinh 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…

Hinh 5-19: Thông tin về Sample Client

5.3.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

Trang 87

Page 88: Trien Khai Nagios - C MARS

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 trạng thái thiết bị

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.

Trang 88

Page 89: Trien Khai Nagios - C MARS

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 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.

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 10.0.255.1

hostgroups 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{

Trang 89

Page 90: Trien Khai Nagios - C MARS

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 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.

Trang 90

Page 91: Trien Khai Nagios - C MARS

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ế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{

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

Trang 91

Page 92: Trien Khai Nagios - C MARS

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

hostgroup_name Dalat-CoreSW-1

service_description Interface Table

check_command check_interface_table

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

Hinh 5-20: Bang 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{

Trang 92

Page 93: Trien Khai Nagios - C MARS

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

hostgroup_name Dalat-CoreSW-1

service_description Temp

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 -H

$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

Trang 93

Page 94: Trien Khai Nagios - C MARS

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

normal_check_interval 2

retry_check_interval 2

}

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

}

Trang 94

Page 95: Trien Khai Nagios - C MARS

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ưu lại tập tin switch.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

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…

Hinh 5-21: Thông tin trạng thái Dalat-CoreSW-1

Trang 95

Page 96: Trien Khai Nagios - C MARS

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 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.

Hinh 5-22: Thông tin các dịch vụ trên Dalat-CoreSW-1

5.3.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

Trang 96

Page 97: Trien Khai Nagios - C MARS

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 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

alias Application Server

address 10.0.4.12

hostgroups allhosts

}

define host{

use generic-host

host_name Web Server

alias Application Server

address 10.0.3.11

hostgroups 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:

Trang 97

Page 98: Trien Khai Nagios - C MARS

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 command{

name check_http

command_name check_http

command_line $USER1$/check_http -I

$HOSTADDRESS$ $ARG1$

}

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"

Trang 98

Page 99: Trien Khai Nagios - C MARS

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 FTP

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

Trang 99

Page 100: Trien Khai Nagios - C MARS

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

host_name Sample Server

service_description Special FTP

check_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd

[TLS]"

}

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{

Trang 100

Page 101: Trien Khai Nagios - C MARS

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 Server

service_description SSH Version Check

check_command check_ssh!-t 5 -r "OpenSSH_4.2"

}

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

Trang 101

Page 102: Trien Khai Nagios - C MARS

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

host_name Sample Server

service_description SMTP Response Check

check_command check_smtp!-t 5 -e

"mygreatmailserver.com"

}

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

}

Trang 102

Page 103: Trien Khai Nagios - C MARS

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

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

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.

Hinh 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 103

Page 104: Trien Khai Nagios - C MARS

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

Hinh 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.

Hinh 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 104

Page 105: Trien Khai Nagios - C MARS

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

Hinh 5-26: Thông tin trạng thái Web Server

5.3.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 105

Page 106: Trien Khai Nagios - C MARS

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

Hinh 5-27: Tinh 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…

Hinh 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 106

Page 107: Trien Khai Nagios - C MARS

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

Hinh 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.

Hinh 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 107

Page 108: Trien Khai Nagios - C MARS

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

Hinh 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…

Hinh 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 108

Page 109: Trien Khai Nagios - C MARS

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

Hinh 5-33: Các canh 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 109

Page 110: Trien Khai Nagios - C MARS

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

Hinh 5-34: Tinh 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 110

Page 111: Trien Khai Nagios - C MARS

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

Hinh 5-35: Các canh báo được sinh ra

5.4. Cấu hình CS-MARS và các thiết bị giám sát

Đăng nhập

Trang 111

Page 112: Trien Khai Nagios - C MARS

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.

Hinh 5-36: Giao diện đăng nhập CS-MARS

5.4.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

Hinh 5-37: Cấu hinh tên và IP cho CS-MARS

Thêm/sửa ip address cho eth0 và eth1.

Mail Gateway.

Domain name.

Trang 112

Page 113: Trien Khai Nagios - C MARS

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

Hinh 5-38: Cấu hinh 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

Hinh 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:

Chọn Admin Security and Monitor devices Add

Trang 113

Page 114: Trien Khai Nagios - C MARS

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 thiết bị từ drop-down list:

Hinh 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

Hinh 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.

Chọn submit.

Trang 114

Page 115: Trien Khai Nagios - C MARS

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

5.4.2. Cấu hình các thiết bị để giao tiếp với CS-MARS

5.4.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à Dalat-

CoreSW-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 <community string> RO <ACL

name if required>

Cấu hình CS-MARS:

Chọn Admin Security and Monitor Devices Add

Chọn Cisco IOS 12.2

Hinh 5-42: Thông tin cầu cấu hinh cho Cisco IOS 12.2

Nhập thông tin Device Name, Access IP, Reporting IP

Chọn Access type:

Trang 115

Page 116: Trien Khai Nagios - C MARS

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: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.

5.4.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 <community name> RO <ACL

name if required>

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

Chọn Submit

Trang 116

Page 117: Trien Khai Nagios - C MARS

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

Hinh 5-43: Thông tin cầu cấu hinh cho Cisco Switch IOS 12.2

5.4.2.3 Cisco IPS 5.0 .

Cấu hình IPS:

Hinh 5-44: Cấu hinh cho IPS bật TLS và HTTP

Bật HTTP.

Bật TLS để cho phép HTTPS truy xuất.

Trang 117

Page 118: Trien Khai Nagios - C MARS

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ạo access cho phép CS-MARS.

Hinh 5-45: Cấu hinh 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 118

Page 119: Trien Khai Nagios - C MARS

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

Hinh 5-46: Cấu hinh cho IPS

5.4.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

Trang 119

Page 120: Trien Khai Nagios - C MARS

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

Gửi log file đến CS-MARS:

Đă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

Hinh 5-47: Cấu hinh 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.

5.4.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 120

Page 121: Trien Khai Nagios - C MARS

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

Hinh 5-48: Cấu hinh 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.

Hinh 5-49: Cấu hinh SNARE 2

Trang 121

Page 122: Trien Khai Nagios - C MARS

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

Hinh 5-50: Cấu hinh Local Security Settings

Trang 122

Page 123: Trien Khai Nagios - C MARS

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 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

Hinh 5-51: Cấu hinh 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 123

Page 124: Trien Khai Nagios - C MARS

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

Hinh 5-52: Cấu hinh thông tin đăng nhập cho máy Windows

Chọn Submit

Thêm Interface IP Add, Netmask, chọn Apply Active.

5.4.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 124

Page 125: Trien Khai Nagios - C MARS

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

Hinh 5-53: Cấu hinh 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.

Hinh 5-54: Cấu hinh cho WebServer

Trang 125

Page 126: Trien Khai Nagios - C MARS

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.

Hinh 5-55: Cấu hinh 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

Hinh 5-56: Cấu hinh cho log trên CS-MARS

Trang 126

Page 127: Trien Khai Nagios - C MARS

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.

5.4.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ỉ.

Hinh 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.

Hinh 5-58: Miền địa chị giám sát

Trang 127

Page 128: Trien Khai Nagios - C MARS

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: CS-

MARS 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.

Hinh 5-59: Danh sách địa chỉ tự dò tim

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,

Hinh 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 128

Page 129: Trien Khai Nagios - C MARS

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

Hinh 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 CS-

MARS 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.

Hinh 5-62: Sơ đồ mạng giám sát

Trang 129

Page 130: Trien Khai Nagios - C MARS

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…

Hinh 5-63: Báo cáo dưới dạng đồ thị

5.5. So sánh hai hệ thống Nagios và CS-MARS

Tiêu Chí Nội Dung Nagios Core CS-MARS

Trang 130

Page 131: Trien Khai Nagios - C MARS

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

Triển khai

Kiến trúc mở

rộng

Có khả năng thích ứng

và làm việc với hệ

thống lớn cũng như có

khả năng giám sát khi

hệ thống nâng cấp mở

rộng quy mô.

Tương tự như Nagios.

CS-MARS có khả năng

đáp ứng cho việc giám

sát trên các hệ thống từ

lớn đến rất lớn.

Cách cấu hình

Cách cấu hình rất phức

tạp và mất nhiều thời

gian.

Được hỗ trợ bởi cấu

hình thông qua giao

diện quản lý nên việc

cấu hình đơn giản hơn.

Kỹ thuật

Linh hoạt

Hỗ trợ người dùng tự

lập trình để thêm các

tính năng cho việc

giám sát.

Các chức năng là cố

định.

Quản lý tập

trung

Hỗ trợ việc theo dõi

giám sát toàn bộ hệ

thống một cách tập

trung thông qua giao

diện web.

Tương tư như Nagios.

Thông tin hiển

thị

Giao diện cung cấp

thông tin còn hạn chế.

Cung cấp đầy đủ và chi

tiết thông tin cho người

quản trị.

Hiệu quả Tính ổn định Hoạt động ổn định khi

giám sát hệ thống lớn.

Là thiết bị phần cứng

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.

Trang 131

Page 132: Trien Khai Nagios - C MARS

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ính chính xác

Cung cấp các cảnh báo

chính xác cho người

quản trị.

Tương tự Nagios

Giám sát toàn

diện

Cho phép giám sát hầu

hết các thiết bị và các

dịnh vụ phổ thông.

Giám sát tất cả các

thiết bị và dịch vụ phổ

thông. Ngoài ra còn

tương thích với các

thiết bị chuyên dụng

khác.

Khả năng cảnh

báo

Cung cấp các cảnh báo

cho người dùng thông

qua Email, SMS,

syslog.

Cung cấp cảnh báo cho

người dùng thông qua

Email, SMS, syslog,

SNMP…

Giao diện quản

Thông tin giám sát

được xem thông qua

giao diện web.

Quản lý thông qua giao

diện web.

Phân tích dữ liệu

Không có khả năng

phân tích dữ liệu.

Từ các dữ liệu thu

được ở dạng thô, phân

loại dữ liệu qua các

thiết bị khác nhau,

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

pháp

Không có khả năng

đưa ra các giải pháp

nhằm ngăn chặn, giảm

nhẹ các sự cố của hệ

Với khả năng phân loại

và phân tích thông tin

thu được. Là một thiết

bị phần cứng chuyên

Trang 132

Page 133: Trien Khai Nagios - C MARS

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. 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ố.

Tính bảo mật

Thông tin dữ liệu có

thể bị truy xuất nếu quá

trình triển khai không

tốt.

Các dữ liệu thu được

được đảm bảo tính bảo

mật một cách tuyệt đối.

Bảo trì

Phức tạp trong quá

trình bảo trì nếu phần

triển khai không tốt do

không hỗ trợ cấu hình

thông qua giao diện

quản lý.

Việc bảo trì, nâng cấp

được tiến hành một

cách dễ dành.

Chi phí

Hoàn toàn miễn phí đối

với phiên bản mã

nguồn mở.

Do là thiết bị phẩn

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.

Bang 5-8: So sánh Nagios và CS-MARS

5.6. Đá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

Trang 133

Page 134: Trien Khai Nagios - C MARS

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ệ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ó

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í.

5.7. Đá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ả.

5.8. 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.

Trang 134

Page 135: Trien Khai Nagios - C MARS

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ệ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:

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.

Trang 135

Page 136: Trien Khai Nagios - C MARS

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â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 136

Page 137: Trien Khai Nagios - C MARS

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)

MIB (Management Information Base)

UDP (User Datagram Protocol)

RMON (Remote Network Monitoring)

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.

Switch: bộ chuyển mạch.

ASA: tường lửa của Cisco.

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 137

Page 138: Trien Khai Nagios - C MARS

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 138