BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——————————-
ISO 9001:2015
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Hoàng Văn Cận
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
———————————–
XÂY DỰNG HỆ THỐNG GIÁM SÁT MẠNG
DỰA TRÊN PHẦN MỀM NGUỒN MỞ ZABBIX
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Hoàng Văn Cận
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
————————————–
NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP
Sinh viên: Hoàng Văn Cận Mã SV: 1412101028
Lớp: CT1802 Ngành: Công nghệ thông tin
Tên đề tài: Xây dựng hệ thống giám sát mạng dựa trên phần mềm nguồn mở
Zabbix
MỤC LỤC
LỜI CẢM ƠN
………………………………………………………………………………………………………… 1
LỜI MỞ ĐẦU
………………………………………………………………………………………………………… 2
CHƯƠNG 1.TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG …………………………………… 3
1.1. Giám sát mạng …………………………………………………………………………………………… 3
1.1.1.
Khái niệm ……………………………………………………………………………………………. 3
1.1.2.
Các yếu tố cơ bản trong giám sát mạng…………………………………………………… 4
1.1.3.
Chức năng của giám sát mạng ……………………………………………………………….. 4
1.1.4.
Cần giám sát những gì và tại sao? ………………………………………………………….. 4
1.1.5.
Tầm quan trọng của giám sát mạng
………………………………………………………… 7
1.2. Những lợi ích của việc xây dựng hệ thống giám sát mạng
………………………………. 8
1.3. Ba bài toán của giám sát mạng cần giải quyết ……………………………………………….. 8
1.3.1.
Bài toán thứ nhất ………………………………………………………………………………….. 8
1.3.2.
Bài toán thứ hai ……………………………………………………………………………………. 8
1.3.3.
Bài toán thứ ba …………………………………………………………………………………….. 9
1.4. Các quy tắc khi thiết kế hệ thống giám sát mạng……………………………………………. 9
1.3.1.
Mô hình FCAPS (Fault Configuration Accounting Performance Security) … 9
1.3.2.
Báo cáo và cảnh báo……………………………………………………………………………. 10
1.3.3.
Tích hợp lưu trữ dữ liệu ………………………………………………………………………. 10
1.5. Các giải pháp và công cụ giám sát mạng phổ biến ……………………………………….. 11
1.6. Chi phí sử dụng ………………………………………………………………………………………… 12
CHƯƠNG 2.GIAO THỨC HỖ TRỢ VÀ CÁC PHẦN MỀM GIÁM SÁT MẠNG …….. 13
2.1. Giao thức giám sát mạng SNMP ………………………………………………………………… 13
2.2.1.
Khái niệm ………………………………………………………………………………………….. 13
2.2.2.
Các thành phần trong SNMP ……………………………………………………………….. 14
a. Object ID ……………………………………………………………………………………………… 15
b. Object Access ………………………………………………………………………………………….. 17
c. Management Information Base ………………………………………………………………….. 17
d. Các phương thức của SNMP
……………………………………………………………………… 19
2.2.3.
Các cơ chế bảo mật cho SNMP ……………………………………………………………. 14
a. Community string …………………………………………………………………………………….. 21
b. View
……………………………………………………………………………………………………….. 22
c. SNMP access control list.
………………………………………………………………………….. 23
2.2. Hai phương thức giám sát cơ bản Poll và Alert ……………………………………………. 23
2.2.1.
Phương thức Poll
………………………………………………………………………………… 23
2.2.2.
Phương thức Alert
………………………………………………………………………………. 24
2.3. Các phần mềm giám sát hệ thống mạng
………………………………………………………. 24
2.3.1.
Phần mềm giám sát mạng Cacti……………………………………………………………. 24
2.3.2.
Phần mềm giám sát mạng Icinga
………………………………………………………….. 25
2.3.3.
Phần mềm giám sát mạng Nagios…………………………………………………………. 25
CHƯƠNG 3.GIỚI THIỆU PHẦN MỀM NGUỒN MỞ GIÁM SÁT MẠNG ZABBIX
.. 27
3.1. Giới thiệu phần mềm zabbix………………………………………………………………………. 27
3.3.1.
Khái niệm ………………………………………………………………………………………….. 27
3.3.2.
Ưu điểm
…………………………………………………………………………………………….. 27
3.3.3.
Kiến trúc của hệ thống giám sát Zabbix
………………………………………………… 28
a. Zabbix Server ……………………………………………………………………………………….. 28
b. Zabbix Proxy ………………………………………………………………………………………… 29
c. Zabbix Agent ………………………………………………………………………………………… 29
d. Zabbix Web frontend……………………………………………………………………………… 29
3.3.4.
Cơ chế hoạt động ……………………………………………………………………………….. 30
3.3.5.
Tính năng của Zabbix …………………………………………………………………………. 31
3.3.6.
Cấu trúc thư mục
………………………………………………………………………………… 32
3.3.7.
Các mô hình triển khai hệ thống Zabbix ……………………………………………….. 32
a. Mô hình tập trung ………………………………………………………………………………….. 32
b. Mô hình phân tán
…………………………………………………………………………………… 33
3.3.8.
Các phần tử cơ bản trong Zabbix………………………………………………………….. 34
3.2. Cài đặt phần mềm zabbix ………………………………………………………………………….. 35
3.3.1.
Yêu cầu hệ thống………………………………………………………………………………… 35
3.3.2.
Cài đặt Zabbix Server …………………………………………………………………………. 35
3.3.3.
Cài đặt giao diện Zabbix Web frontend ………………………………………………… 39
3.3.4.
Cài đặt Zabbix Agent ………………………………………………………………………….. 43
a. Cài đặt Zabbix Agent trên Windows Server
……………………………………………… 43
b. Cài đặt Zabbix Agent trên Linux Server
…………………………………………………… 45
CHƯƠNG 4: ỨNG DỤNG THỰC NGHIỆM………………………………………………………….. 46
4.1. Phát biểu bài toán
……………………………………………………………………………………… 46
4.2. Mô hình triển khai thực nghiệm …………………………………………………………………. 46
4.2.1.
Giới thiệu mô hình ……………………………………………………………………………… 47
4.2.2.
Giải thích mô hình………………………………………………………………………………. 47
4.3. Triển khai hệ thống thực nghiệm
………………………………………………………………… 48
4.3.1.
Kịch bản giám sát hệ thống mạng ………………………………………………………… 49
4.3.2.
Giám sát hệ thống mạng ……………………………………………………………………… 50
4.3.3.
Thiết lập cảnh báo ………………………………………………………………………………. 52
4.4. Kết quả giám sát hệ thống mạng ………………………………………………………………… 57
4.4.1.
Giám sát các trạng thái của hosts………………………………………………………….. 57
4.4.2.
Giám sát tài nguyên của host ……………………………………………………………….. 59
4.4.3.
Giám sát lưu lượng mạng trên các host …………………………………………………. 61
4.4.4.
Cảnh báo sự cố …………………………………………………………………………………… 61
KẾT LUẬN
………………………………………………………………………………………………………….. 64
TÀI LIỆU THAM KHẢO ……………………………………………………………………………………… 65
1
LỜI CẢM ƠN
Đề tài “Xây dựng ứng dụng hệ thống giám sát mạng dựa trên phần mềm nguồn mở
Zabbix” là nội dung Em chọn để nghiên cứu và làm đồ án tốt nghiệp sau bốn năm học
chương trình đại học ngành công nghệ thông tin tại trường Đại Học Dân Lập Hải Phòng.
Để hoàn thành quá trình nghiên cứu và hoàn thiện đồ án tốt nghiệp này, lời đầu tiên
Em xin gửi lời cảm ơn chân thành cảm ơn tới toàn thể quý Thầy Cô, bạn bè của Trường
Đại Học Dân Lập Hải Phòng.
Bày tỏ lòng biết ơn sâu sắc nhất thầy cô trong khoa công nghệ thông tin đã dìu dắt,
chia sẻ những kiến thức quý báu trong suốt quá trình học tập tại trường. Đặc biệt là thầy
ThS.Phùng Anh Tuấn cùng với tri thức và tâm huyết của Thầy đã tạo điều kiện em hoàn
thành đồ án tốt nghiệp tại trường. Nếu không có Thầy đồ án tốt nghiệp của Em khó có thể
hoàn thành được.
Cuối cùng, Em xin cảm ơn những người thân, bạn bè đã luôn bên Em, động viên, sẻ
chia, giúp đỡ, cổ vũ tinh thần… Đó là nguồn động lực giúp Em hoàn thành chương trình
học và đồ án tốt nghiệp này.
Hải Phòng, ngày 28 tháng 03 năm 2019
Sinh viên
Hoàng Văn Cận
2
LỜI MỞ ĐẦU
Cùng với sự phát triển của công nghệ thông tin, sự đầu tư cho hạ tầng mạng trong mỗi
doanh nghiệp ngày càng tăng cao, dẫn đến việc quản trị sự cố một hệ thống mạng gặp rất
nhiều khó khăn. Đi cùng với những lợi ích khi phát triển hạ tầng mạng như băng thông
cao, khối lượng dữ liệu trong mạng lớn, đáp ứng được nhu cầu của người dùng, hệ thống
mạng phải đối đầu với rất nhiều thách thức như các cuộc tấn công bên ngoài, tính sẵn
sàng của thiết bị, tài nguyên của hệ thống,…
Một trong những giải pháp hữu hiệu nhất để giải quyết vấn đề này là thực hiện việc
giải pháp giám sát mạng, dựa trên những thông tin thu thập được thông qua quá trình
giám sát, các nhân viên quản trị mạng có thể phân tích, đưa ra những đánh giá, dự báo,
giải pháp nhằm giải quyết những vấn đề trên. Để thực hiện giám sát mạng có hiệu quả,
một chương trình giám sát phải đáp ứng được các yêu cầu sau: phải đảm bảo chương trình
luôn hoạt động, tính linh hoạt, chức năng hiệu quả, đơn giản trong triển khai, chi phí thấp.
Hiện nay, có khá nhiều phần mềm hỗ trợ việc giám sát mạng có hiệu quả như Nagios,
Zabbix, Zenoss, Cacti,…
Vì vậy, Em đã chọn đề tài “Xây dựng hệ thống giám sát mạng dựa trên phần mềm
nguồn mở Zabbix”, một phần mềm mã nguồn mở với nhiều chức năng mạnh mẽ cho
phép quản lý các thiết bị, dịch vụ trong hệ thống mạng. Với mục tiêu nghiên cứu, tìm hiểu
về giải pháp giúp cho mọi người có cái nhìn tổng quan về một hệ thống giám sát mạng
hoàn chỉnh, đồng thời đưa ra một giải pháp cụ thể đối với một hệ thống mạng dành cho
doanh nghiệp.
3
CHƯƠNG 1. TỔNG QUAN HỆ THỐNG GIÁM SÁT MẠNG
1.1. Giám sát mạng
1.1.1. Khái niệm
Giám sát mạng là việc giám sát, theo dõi và ghi nhận những luồng dữ liệu mạng, từ đó
sử dụng làm tư liệu để phân tích mỗi khi có sự cố xảy ra.
Khi phụ trách hệ thống mạng máy tính, để giảm thiểu tối đa các sự cố làm gián đoạn
hoạt động của hệ thống mạng, người quản trị hệ thống mạng cần phải nắm được tình hình
“sức khỏe” các thiết bị, dịch vụ được triển khai để có những quyết định xử lý kịp thời và
hợp lý nhất. Ngoài ra, việc hiểu rõ tình trạng hoạt động của các thiết bị, các kết nối
mạng… cũng giúp cho người quản trị tối ưu được hiệu năng hoạt động của hệ thống mạng
để đảm bảo được các yêu cầu sử dụng của người dùng. Việc giám sát hoạt động của các
thiết bị mạng, ứng dụng và dịch vụ trong môi trường mạng, với hàng chục hay hàng trăm
thiết bị, mà người quản trị thực hiện thủ công sẽ không mang lại hiệu quả. Vì thế, cần
phải có một phần mềm thực hiện việc giám sát một cách tự động và cung cấp các thông
tin cần thiết để người quản trị nắm được hoạt động của hệ thống mạng, đó là hệ thống
giám sát mạng.
Hệ thống giám sát mạng (Network Monitoring System) là một phần mềm thực hiện
việc giám sát hoạt động của hệ thống và các dịch vụ, ứng dụng bên trong hệ thống mạng
đó. Nó thực hiện việc thu thập thông tin của các thiết bị mạng, các kết nối, các ứng dụng
và dịch vụ bên trong hệ thống mạng để phân tích và đưa ra các thông tin hỗ trợ người
quản trị mạng có cái nhìn tổng quan, chi tiết về môi trường mạng. Dựa trên những thông
tin thu thập được, hệ thống giám sát mạng có thể tổng hợp thành các báo cáo, gửi các
cảnh báo cho người quản trị để có hướng xử lý phù hợp nhằm giảm thiểu sự cố và nâng
cao hiệu suất mạng. Với những thông tin nhận được từ hệ thống giám sát mạng, người
quản trị có thể xử lý các sự cố và đưa ra các hướng nâng cấp thiết bị, dịch vụ để đảm bảo
hệ thống mạng hoạt động thông suốt.
4
1.1.2. Các yếu tố cơ bản trong giám sát mạng
Để việc giám sát mạng đạt hiệu quả cao nhất, cần xác định các yếu tố cốt lõi của giám
sát mạng như:
– Các đơn vị, hệ thống, thiết bị, dịch vụ cần giám sát.
– Các trang thiết bị, giải pháp, phần mềm thương mại phục vụ giám sát.
– Xác định các phần mềm nội bộ và phần mềm mã nguồn mở phục vụ giám sát.
Ngoài ra, yếu tố con người, đặc biệt là quy trình phục vụ giám sát là vô cùng quan trọng.
1.1.3. Chức năng của giám sát mạng
– Cảnh báo qua Web, Email và SMS khi phát hiện tấn công vào hệ thống mạng.
– Báo động bằng âm thanh và SMS khi một host (Server, Router, Switch…) hoặc
một dịch vụ mạng ngưng hoạt động.
– Giám sát lưu lượng mạng qua các cổng giao tiếp trên Router, Switch, Server…
hiển thị qua các đồ thị trực quan, thời gian thực. Giám sát lưu lượng giữa các thiết
bị kết nối với nhau một cách trực quan
1.1.4. Cần giám sát những gì và tại sao?
Đối với hệ thống mạng, điều quan trọng nhất là nắm được các thông tin chính xác nhất
vào mọi 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.
Thông tin sau đây chứa một vài nội dung 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 thiết bị
(Router, Switch, Server…).
Đây là những thành phần chủ chốt giữ cho
mạng hoạt động.
Các dịch vụ trong hệ thống
(DNS, FTP, HTTP…)
Những dịch vụ này đóng vai trò quan
trọng trong một cơ quan, tổ chức, nếu các
dịch vụ này không được đảm bảo hoạt
động bình thường và liên tục, nó sẽ ảnh
hưởng nghiêm trọng đến cơ quan tổ chức
đó.
5
Tài nguyên hệ thống
Các ứng dụng đều đòi hỏi tài nguyên hệ
thống, việc giám sát tài nguyên sẽ đảm
bảo cho chúng ta có những can thiệp kịp
thời, tránh ảnh hưởng đến hệ thống.
Lưu lượng trong mạng
Nhằm đưa ra những giải pháp, ngăn ngừa
hiện tượng quá tải trong mạng.
Các chức năng về bảo mật
Nhằm đảm bảo an ninh trong 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.
Nhiệt độ, thông tin về máy chủ,
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.
Hình 1.1.4.1: Thông tin các thiết bị và lý do cần giám sát
Khi một hệ thống mạng được triển khai và đưa vào vận hành, vấn đề giám sát hoạt
động của toàn bộ hệ thống có vai trò quan trọng. Các bất thường liên quan đến thiết bị,
dịch vụ, tấn công mạng, hay tài nguyên hệ thống… cần được phát hiện nhanh chóng để có
giải pháp sửa chữa, thay thế, phản ứng kịp thời giúp hệ thống mạng hoạt động ổn định,
thông suốt.
Trong các hệ thống mạng lớn và phức tạp như hiện nay, các thiết bị, kết nối, dịch vụ,
ứng dụng đều được thiết kế mang tính dự phòng cao để sẵn sàng giải quyết khi có sự cố
xảy ra. Việc phát hiện kịp thời các thiết bị, các kết nối hư hỏng để tiến hành sửa chữa,
thay thế lại càng cấp thiết. Vì khi sự hư hỏng xảy ra một phần, thành phần dự phòng vẫn
hoạt động. Nếu thành phần hư hỏng không được phát hiện, xử lý kịp thời sẽ có nguy cơ
cao cho hoạt động của hệ thống. Nếu không có công cụ hỗ trợ, người quản trị sẽ bị động
trước các tình huống bất thường xảy ra.
6
10 lý do hàng đầu cho việc cần thiết phải sử dụng hệ thống giám sát mạng:
Biết được những gì đang xảy ra trên hệ thống: giải pháp giám sát hệ thống cho
phép được thông báo tình trạng hoạt động cũng như tài nguyên của hệ thống. Nếu
không có những chức năng này ta phải đợi đến khi người dùng thông báo.
Lên kế hoạch cho việc nâng cấp, sửa chữa: nếu một thiết bị ngưng hoạt động một
cách thường xuyên hay băng thông mạng gần chạm tới ngưỡng thì lúc này cần
phải có sự thay đổi trong hệ thống. Hệ thống giám sát 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.
7
Đảm bảo hệ thống hoạt động liên tục: nếu tổ chức của ta phụ thuộc nhiều vào hệ
thống mạng, thì tốt nhất là người quản trị cần phải biết và xử lý các vấn đề trước
khi sự cố nghiêm trọng xảy ra.
Tiết kiệm tiền: với tất cả các lý do ở trên, ta có thể giảm thiểu tối đa thời gian hệ
thống ngưng hoạt động, làm ảnh hưởng tới lợi nhuận của tổ chức và tiết kiệm tiền
cho việc điều tra khi có sự cố xảy ra.
1.1.5. Tầm quan trọng của giám sát mạng
Giám sát mạng thực sự là một việc rất cần thiết trong công việc. Không chỉ bởi tính an
toàn và bảo mật dữ liệu, giám sát mạng có thể giúp doanh nghiệp tiết kiệm chi phí sửa
chữa, giảm thiểu thời gian chết của hệ thống khi gặp sự cố, đảm bảo tính thông suốt trong
toàn hệ thống. Những tiêu chí dưới đây sẽ giải thích rõ hơn vì sao giám sát mạng lại là
một phần quan trọng đối với các doanh nghiệp:
– Tính bảo mật: Đảm bảo các thông tin không bị lộ ra ngoài. Là một trong những
phần quan trọng của giám sát mạng, tính năng này sẽ theo dõi những biến động
trong hệ thống mạng và cảnh báo cho quản trị viên biết khi có sự cố xảy ra kịp
thời. Thông qua màn hình giám sát, người quản trị có thể xác định được vấn đề khả
nghi và tìm cách giải quyết phù hợp nhất cho vấn đề đó.
– Khả năng xử lý sự cố: Khả năng này là một trong các lợi thế của giám sát mạng.
Tiết kiệm thời gian chẩn đoán sai lệch trong mạng, giám sát viên có thể biết chính
xác thiết bị nào đang có vấn đề và xử lý nó một cách nhanh nhất trước khi người
dùng mạng phát hiện.
– Tiết kiệm thời gian và tiền bạc: Nếu không có phần mềm giám sát thì sẽ mất nhiều
thời gian để tìm kiếm và sửa lỗi hệ thống mà lẽ ra chỉ mất vài giây để sửa lỗi đó.
Điều này không chỉ tốn thêm chi phí mà còn làm giảm năng suất lao động. Ngược
lại, nhờ có phần mềm giám sát, vấn đề sẽ nhanh chóng được tìm ra và xử lý hiệu
quả, có thể tập trung nhiều hơn vào công việc khác, lợi nhuận công ty cũng gia
tăng.
8
– Lập kế hoạch thay đổi: Với giám sát mạng, giám sát viên có thể theo dõi được thiết
bị nào sắp hỏng và cần phải thay mới. Giám sát mạng cho người giám sát khả năng
lên kế hoạch sẵn và dễ dàng tạo ra thay đổi cần thiết cho hệ thống mạng.
1.2. Những lợi ích của việc xây dựng hệ thống giám sát mạng
– Phát hiện sự cố, kết nối thất bại của hệ thống, dịch vụ hay thiết bị mạng 24/7 và
gửi các thông tin tới người quản trị
– Thay thế thiết bị quá tải trước khi nó ảnh hưởng đến hệ thống
– Xác định các điểm thắt cổ chai trong hệ thống
– Tìm ra bất thường trong mạng có thể dẫn đến mối đe dọa an ninh
1.3. Ba bài toán của giám sát mạng cần giải quyết
1.3.1. Bài toán thứ nhất
Giám sát tài nguyên máy chủ:
– Chúng ta cần giám sát tài nguyên của tất cả máy chủ hàng ngày, hàng giờ để kịp
thời phát hiện các máy chủ sắp bị quá tải và đưa ra phương thức giải quyết phù hợp
và kịp thời.
– Giám sát tài nguyên máy chủ nghĩa là theo dõi tỷ lệ chiếm dụng CPU, dung lượng
còn lại của ổ cứng, tỷ lệ sử dụng bộ nhớ RAM, ….
– Chúng ta không thể kết nối vào từng máy để xem vì số lượng máy nhiều và vì các
HĐH khác nhau có cách thức kiểm tra khác nhau.
1.3.2. Bài toán thứ hai
Giám sát lưu lượng trên các port của switch, router, giám sát các thiết bị (end devices,
switch, router …):
– Chúng ta có hàng ngàn thiết bị mạng (network devices) của nhiều hãng khác nhau,
mỗi thiết bị có nhiều port. Chúng cần được giám sát lưu lượng đang truyền qua tất
cả các port của các thiết bị suốt 24/24, kịp thời phát hiện các port sắp quá tải.
– Chúng ta cũng không thể kết nối vào từng thiết bị để gõ lệnh lấy thông tin vì thiết
bị của các hãng khác nhau có lệnh khác nhau.
9
1.3.3. Bài toán thứ ba
Hệ thống tự động cảnh báo sự cố tức thời. Bạn có hàng ngàn thiết bị mạng và chúng
có thể gặp nhiều vấn đề trong quá trình hoạt động như:
Một host hay 1 services nào đó bị mất tín hiệu, có ai đó đã cố kết nối (login) vào thiết
bị nhưng nhập sai username và password, thiết bị vừa mới bị khởi động lại (restart) …. Hệ
thống cần thông báo sự kiện để người quản trị biết được sự kiện khi nó vừa mới xảy ra.
Để giải quyết các vấn đề trên bạn có thể dùng một ứng dụng phần mềm giám sát được
máy chủ, nó sẽ lấy được thông tin từ các máy chủ.
1.4. Các quy tắc khi thiết kế hệ thống giám sát mạng
1.3.1. Mô hình FCAPS (Fault Configuration Accounting Performance Security)
Một trong những quy tắc khi thiết kế hệ thống giám sát là tuân theo mô hình FCAPS.
“Theo tiêu chuẩn của ISO (International Standard Organization), mô hình được phân loại
thành 5 chức năng chính, đó là chức năng quản lý lỗi (Fault management), quản lý cấu
hình (Configuration management), quản lý kế toán (Accounting management), quản lý
hiệu năng (Performance management) và quản lý bảo mật (Security management)” [1].
– Quản lý lỗi: Hạng mục này có thể thực hiện quá trình ghi nhận, cô lập và xử lý lỗi
xảy ra trên mạng. Việc xác định những vấn đề tiềm ẩn trong mạng cũng do hạng mục này
đảm nhiệm.
– Quản lý cấu hình: Giúp thu thập và lưu trữ các cấu hình của vô số thiết bị, bao gồm
việc lần ra những thay đổi cấu hình trên thiết bị, góp phần quan trọng trong việc chủ động
quản trị và giám sát mạng.
– Quản lý kế toán: Thường áp dụng cho các nhà cung cấp dịch vụ mạng. Trong hệ
thống mạng, công việc này được thay bằng việc quản lý người dùng mạng, nói cách khác,
quản trị viên sẽ cấp cho người dùng mật khẩu, quyền để vào mạng.
– Quản lý hiệu năng: Quản lý toàn bộ hiệu năng của mạng, tốc độ truyền, thông
lượng truyền, những gói tin bị mất, thời gian phản hồi, v.v. và thường sử dụng bằng giao
thức SNMP.
10
– Quản lý bảo mật: Là một hoạt động rất quan trọng trong quản trị mạng. Quản lý
bảo mật trong FCAPS bao gồm quá trình kiểm soát truy cập tài nguyên trên mạng, kèm
theo các dữ liệu, cấu hình và bảo vệ thông tin người dùng.
1.3.2. Báo cáo và cảnh báo
Công việc của giám sát mạng là thu thập dữ liệu từ các thành phần mạng và xử lý,
trình bày chúng dưới dạng mà quản trị viên có thể hiểu – tiến trình này được gọi là báo
cáo. Báo cáo giúp quản trị viên biết được hiệu suất của các nút mạng, trạng thái mạng
hiện tại. Với các dữ liệu từ bản báo cáo, quản trị viên có thể đưa ra quyết định về việc
quản lý dung lượng, bảo trì mạng, xử lý sự cố hay bảo mật mạng.
Tuy nhiên, việc làm này không giúp quản trị viên bảo trì mạng ở hiệu suất cao. Vì thế,
việc tạo các cảnh báo dựa trên ngưỡng cùng các điểm kích hoạt sẽ là nhân tố bổ sung giúp
các nhà quản trị xác định các vấn đề có thể xảy ra trước khi nó gây sụp đổ toàn hệ thống.
1.3.3. Tích hợp lưu trữ dữ liệu
Hệ thống giám sát thu thập và dùng dữ liệu từ các thành phần mạng cho các chức năng
liên quan. Trong khi đó, mạng vẫn tiếp tục giám sát để đảm bảo vấn đề sẽ được phát hiện
trước khi mạng bị sập. Việc tiếp tục công việc như vậy sẽ tích lũy một lượng lớn dữ liệu
và nó có thể làm chậm hiệu suất, tác động đến không gian lưu trữ dữ liệu hay làm chậm
việc xử lý sự cố, giám sát hệ thống sử dụng dữ liệu tích hợp là để tránh những việc như
vậy xảy ra. Tích hợp dữ liệu là một quá trình thu thập dữ liệu theo thời gian đã được tổng
hợp và gói gọn để dữ liệu trở thành dạng chi tiết. Mức độ chi tiết của bản báo cáo được
tạo ra bởi dữ liệu tích hợp sẽ phụ thuộc vào mô hình mà hệ thống được tích hợp. Dữ liệu
sẽ được lấy trung bình theo thời gian và đưa vào bảng dữ liệu chi tiết, điều này giúp hệ
thống giám sát tạo ra các bản báo cáo về các nút có thể kéo dài khoảng thời gian trong
mạng mà không gây ra các vấn đề về hiệu suất hay không gian lưu trữ.
11
1.5. Các giải pháp và công cụ giám sát mạng phổ biến
Hệ thống giám sát mạng có thể được xây dựng theo một trong ba giải pháp sau:
–
Giải pháp quản lý thông tin an ninh: tập trung thu thập, lưu trữ và biểu diễn nhật
ký.
–
Giải pháp quản lý sự kiện an ninh: tập trung xử lý, phân tích các nhật ký đã được
thu thập để đưa ra cảnh báo cho người dùng.
–
Giải pháp quản lý và phân tích sự kiện an ninh: là sự kết hợp của hai giải pháp trên
nhằm khắc phục những hạn chế vốn có.
Mô hình của giải pháp quản lý và phân tích sự kiện an ninh gồm 3 thành phần chính
[2]:
a) Thu thập nhật ký an toàn mạng bao gồm các giao diện thu thập nhật ký trực tiếp từ
các thiết bị, ứng dụng và dịch vụ. Thành phần này có tính năng:
–
Thu thập toàn bộ dữ liệu toàn bộ nhật ký từ các nguồn thiết bị, ứng dụng.
–
Kiểm soát băng thông và không gian lưu trữ thông qua khả năng lưu giữ và chọn
lọc dữ liệu nhật ký.
–
Phân tách từng sự kiện và chuẩn hóa các sự kiện vào một lược đồ chung.
–
Tích hợp các sự kiện để giảm thiểu số lượng các sự kiện gửi về thành phần phân
tích và lưu trữ.
–
Chuyển toàn bộ các sự kiện đã thu thập về thành phần phân tích và lưu trữ.
b) Thành phần phân tích và lưu trữ bao gồm các thiết bị lưu trữ dung lượng lớn, cung
cấp khả năng tổng hợp và phân tích tự động. Tính năng:
–
Kết nối với các thành phần thu thập nhật ký để tập hợp nhật ký tập trung và tiến
hành phân tích, so sánh tương quan.
–
Module phân tích sẽ được hỗ trợ bởi các luật (định nghĩa trước) cũng như khả năng
tùy biến, nhằm đưa ra kết quả phân tích chính xác nhất.
–
Các nhật ký an toàn mạng được tiến hành phân tích, so sánh tương quan theo thời
gian thực nhằm đưa ra cảnh báo tức thời cho người quản trị.
–
Hỗ trợ kết nối đến các hệ thống lưu trữ dữ liệu.
12
c) Thành phần quản trị mạng tập trung:
–
Cung cấp giao diện quản trị tập trung cho toàn bộ hệ thống giám sát an toàn mạng.
–
Hỗ trợ sẵn hàng nghìn mẫu báo cáo, các giao diện theo dõi, điều kiện lọc.
–
Hỗ trợ các công cụ cho việc xử lý các sự kiện an toàn mạng xảy ra trong hệ thống.
d) Các thành phần khác:
Gồm các thành phần cảnh báo, hệ thống Dashboard theo dõi thông tin, các báo cáo
đáp ứng tiêu chuẩn quản lý hoặc thành phần lưu trữ dữ liệu lâu dài.
1.6. Chi phí sử dụng
Tùy theo chính sách và trang thiết bị hạ tầng, hệ thống mạng thực tế của từng doanh
nghiệp mà người người quản trị sẽ quyết định sử dụng phần mềm phù hợp với hệ thống
giám sát của mình.
Đối với các doanh nghiệp lớn: đã xây dựng nền tảng hạ tầng sử dụng các thiết bị
của các hãng lớn như Cisco, HP thì nên ưu tiên sử dụng các giải pháp phần mềm giám
sát của các hãng này như HP Network Node Manager, Cisco Works… để nhận được
sự hỗ trợ tốt nhất từ các chuyên gia của hãng.
Đối với các doanh nghiệp vừa và nhỏ: với khoản kinh phí ít hơn, thì việc ưu tiên
sử dụng các phần mềm giám sát mã nguồn mở là điều cần thiết. Các phần mềm này
được nhiều tổ chức cộng đồng mã nguồn mở phát triển với tính năng giám sát mạnh,
nhận diện các vấn đề trước khi phát sinh, khả năng tùy biến cao và được cung cấp
hoàn toàn miễn phí.
13
CHƯƠNG 2. GIAO THỨC HỖ TRỢ VÀ CÁC PHẦN MỀM GIÁM SÁT MẠNG
2.1. Giao thức giám sát mạng SNMP
2.2.1. Khái niệm
SNMP – Simple Network Management Protocol (Giao thức quản lý mạng đơn giản).
Về bản chất SNMP là một tập các thao tác cho phép người quản trị hệ thống có thể thay
đổi trạng thái của các thiết bị (có hỗ trợ SNMP). Ví dụ, ta có thể sử dụng SNMP để tắt
một interface nào đó trên router của mình, theo dõi hoạt động của card Ethernet, hoặc
kiểm soát nhiệt độ trên switch và cảnh báo khi nhiệt độ quá cao.
Một thiết bị hiểu được và hoạt động theo giao thức SNMP được gọi là “có hỗ trợ
SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMP compartible).
SNMP dùng để quản lý nghĩa là: có thể theo dõi, lấy thông tin, được thông báo, và có thể
tác động để hệ thống hoạt động như ý muốn. Ví dụ một số khả năng của phần mềm
SNMP:
Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã
truyền/nhận.
Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu.
Tự động nhận cảnh báo khi switch có một port bị down.
Điều khiển tắt (shutdown) các port trên switch.
SNMP được thiết kế để chạy trên nền TCP/IP và quản lý các thiết bị có nối mạng
TCP/IP. Các thiết bị mạng không nhất thiết phải là máy tính mà có thể là switch, router,
firewall, ADSL gateway, và cả một số phần mềm cho phép quản trị bằng SNMP.
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản tin và
thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version 3). Sử dụng
phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập trung từ xa toàn mạng
của mình [7].
14
2.2.2. Các thành phần trong SNMP
Theo RFC1157, kiến trúc của SNMP bao gồm 2 thành phần: các trạm quản lý mạng
(network management station) và các thành tố mạng (network element).
Network management station thường là một máy tính chạy phần mềm quản lý SNMP
(SNMP management application), dùng để giám sát và điều khiển tập trung các network
element.
Hình 2.2.2.1: Kiến trúc của SNMP
Network element là các thiết bị, máy tính, hoặc phần mềm tương thích SNMP và được
quản lý bởi network management station. Như vậy element bao gồm device, host và
application.
Một management station có thể quản lý nhiều element, một element cũng có thể được
quản lý bởi nhiều management station. Vậy nếu một element được quản lý bởi 2 station
thì điều gì sẽ xảy ra? Nếu station lấy thông tin từ element thì cả 2 station sẽ có thông tin
giống nhau. Nếu 2 station tác động đến cùng một element thì element sẽ đáp ứng cả 2 tác
động theo thứ tự cái nào đến trước.
Hình 2.2.2.2: Quan hệ giữa Network management station và Network Element
15
Khái niệm SNMP agent: SNMP agent là một tiến trình (process) chạy trên network
element, có nhiệm vụ cung cấp thông tin của element cho station, nhờ đó station có thể
quản lý được element. Nói cách khác, Application chạy trên station và agent chạy trên
element là 2 tiến trình SNMP trực tiếp liên hệ với nhau. Các ví dụ minh họa sau đây sẽ
làm rõ hơn các khái niệm này [3]:
Để dùng một máy chủ (= station) quản lý các máy con (= element) chạy HĐH
Windows thông qua SNMP thì bạn phải: cài đặt một phần mềm quản lý SNMP (=
application) trên máy chủ, bật SNMP service (= agent) trên máy con.
Để dùng một máy chủ (= station) giám sát lưu lượng của một router (= element)
thì bạn phải : cài phần mềm quản lý SNMP (= application) trên máy chủ, bật tính năng
SNMP (= agent) trên router.
a. Object ID
Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi thông tin đó
gọi là một object. Ví dụ:
Máy tính có thể cung cấp các thông tin : tổng số ổ cứng, tổng số port nối mạng,
tổng số byte đã truyền/nhận, tên máy tính, tên các process đang chạy, ….
Router có thể cung cấp các thông tin : tổng số card, tổng số port, tổng số byte đã
truyền/nhận, tên router, tình trạng các port của router, ….
Mỗi object có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là Object
ID (OID).
Ví dụ:
+ Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5
Tổng số port giao tiếp (interface) được gọi là ifNumber, OID là 1.3.6.1.2.1.2.1.
Địa chỉ Mac Address của một port được gọi là ifPhysAddress, OID là
1.3.6.1.2.1.2.2.1.6.
Số byte đã nhận trên một port được gọi là ifInOctets, OID là 1.3.6.1.2.1.2.2.1.10.
16
Một object có thể có nhiều giá trị cùng loại. Chẳng hạn một thiết bị có thể có nhiều
tên, có nhiều Mac address. Một object chỉ có một OID, vì vậy để chỉ ra các giá trị khác
nhau của cùng một object thì ta dùng thêm một phân cấp nữa: sub-id. Ví dụ:
Tên thiết bị được gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2 tên thì
chúng sẽ được gọi là sysName.0 & sysName.1 và có OID lần lượt là
1.3.6.1.2.1.1.5.0 & 1.3.6.1.2.1.1.5.1.
Địa chỉ Mac address được gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6; nếu
thiết bị có 2 mac address thì chúng sẽ được gọi là ifPhysAddress.0 &
ifPhysAddress.1 và có OID lần lượt là 1.3.6.1.2.1.2.2.1.6.0 & 1.3.6.1.2.1.2.2.1.6.1.
Tổng số port được gọi là ifNumber, giá trị này chỉ có 1 (duy nhất) nên OID của nó
không có phân cấp con và vẫn là 1.3.6.1.2.1.2.1.
Các object có thể có nhiều giá trị hoặc 1 giá trị thì luôn luôn được viết dưới dạng có
phân cấp con sub-id. Ví dụ một thiết bị dù chỉ có 1 tên thì nó vẫn phải viết là sysName.0
hay 1.3.6.1.2.1.1.5.0.
Đối với các object có nhiều giá trị thì các chỉ số của phân cấp con không nhất thiết
phải liên tục hay bắt đầu từ 0. Ví dụ một thiết bị có 2 mac address thì có thể chúng được
gọi là ifPhysAddress.23 và ifPhysAddress.125645.
OID của các object phổ biến có thể được chuẩn hóa, hoặc tự định nghĩa. Để lấy một
thông tin có OID đã chuẩn hóa thì SNMP application phải gửi một bản tin SNMP có chứa
OID của object đó cho SNMP agent, SNMP agent khi nhận được thì nó phải trả lời bằng
thông tin ứng với OID đó.
Ví dụ: Muốn lấy tên của một PC chạy Windows, tên của một PC chạy Linux hoặc tên
của một router thì SNMP application chỉ cần gửi bản tin có chứa OID là 1.3.6.1.2.1.1.5.0.
Khi SNMP agent chạy trên PC Windows, PC Linux hay router nhận được bản tin có chứa
OID 1.3.6.1.2.1.1.5.0, agent lập tức hiểu rằng đây là bản tin hỏi sysName.0, và agent sẽ
trả lời bằng tên của hệ thống. Nếu SNMP agent nhận được một OID mà nó không hiểu
(không hỗ trợ) thì nó sẽ không trả lời.
17
Hình 2.2.2.3: Hình minh hoạ quá trình trao đổi
Một trong các ưu điểm của SNMP là nó được thiết kế để chạy độc lập với các thiết bị
khác nhau. Chính nhờ việc chuẩn hóa OID mà ta có thể dùng một SNMP application để
lấy thông tin các loại device của các hãng khác nhau.
b. Object Access
Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE. Mọi object đều
có thể đọc được nhưng chỉ những object có quyền READ_WRITE mới có thể thay đổi
được giá trị.
Ví dụ: Tên của một thiết bị (sysName) là READ_WRITE, có thể thay đổi tên của thiết
bị thông qua giao thức SNMP. Tổng số port của thiết bị (ifNumber) là READ_ONLY và
không thể thay đổi số port của nó.
c. Management Information Base
MIB (cơ sở thông tin quản lý) là một cấu trúc dữ liệu gồm các đối tượng được quản lý
(managed object), được dùng cho việc quản lý các thiết bị chạy trên nền TCP/IP. MIB là
kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuân theo, trong đó có SNMP.
MIB được thể hiện thành 1 file (MIB file), và có thể biểu diễn thành 1 cây (MIB tree).
MIB có thể được chuẩn hóa hoặc tự tạo [3].
18
Hình 2.2.2.4: Minh họa MIB tree
Một node trong cây là một object, có thể được gọi bằng tên hoặc id. Ví dụ:
– Node iso.org.dod.internet.mgmt.mib-2.system có OID là 1.3.6.1.2.1.1, chứa tất cả
các object liên quan đến thông tin của một hệ hống như tên của thiết bị
(iso.org.dod.internet.mgmt.mib-2.system.sysName hay 1.3.6.1.2.1.1.5).
– Các OID của các hãng tự thiết kế nằm dưới iso.org.dod.internet.private.enterprise.
Ví dụ: Cisco nằm dưới iso.org.dod.internet.private.enterprise.cisco hay 1.3.6.1.4.1.9,
Microsoft nằm dưới iso.org.dod.internet.private.enterprise.microsoft hay 1.3.6.1.4.1.311.
Số 9 (Cisco) hay 311 (Microsoft) là số dành riêng cho các công ty do IANA cấp. Nếu
Cisco hay Microsoft chế tạo ra một thiết bị nào đó, thì thiết bị này có thể hỗ trợ các
MIB chuẩn đã được định nghĩa sẵn (như mib-2) hay hỗ trợ MIB được thiết kế riêng.
Các MIB được công ty nào thiết kế riêng thì phải nằm bên dưới OID của công ty đó.
Các objectID trong MIB được sắp xếp thứ tự nhưng không phải là liên tục, khi biết
một OID thì không chắc chắn có thể xác định được OID tiếp theo trong MIB. Ví dụ trong
chuẩn mib-2 thì object ifSpecific và object atIfIndex nằm kề nhau nhưng OID lần lượt là
1.3.6.1.2.1.2.2.1.22 và 1.3.6.1.2.1.3.1.1.1.
19
Muốn hiểu được một OID nào đó thì bạn cần có file MIB mô tả OID đó. Một MIB file
không nhất thiết phải chứa toàn bộ cây ở trên mà có thể chỉ chứa mô tả cho một nhánh
con. Bất cứ nhánh con nào và tất cả lá của nó đều có thể gọi là một MIB.
Một manager có thể quản lý được một device chỉ khi ứng dụng SNMP manager và
ứng dụng SNMP agent cùng hỗ trợ một MIB. Các ứng dụng này cũng có thể hỗ trợ cùng
lúc nhiều MIB
d. Các phương thức của SNMP
Giao thức SNMP có 5 phương thức hoạt động cơ bản, tương ứng với 5 loại bản tin
như sau:
Hình 2.2.2.5: Bảng các phương thức cơ bản của SNMP
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì. OID trong
GetRequest cho biết nó muốn lấy thông tin của object nào. OID trong GetResponse cho
biết nó mang giá trị của object nào. OID trong SetRequest chỉ ra nó muốn thiết lập giá trị
cho object nào. OID trong Trap chỉ ra nó thông báo sự kiện xảy ra đối với object nào.
– GetRequest
Bản tin GetRequest được manager gửi đến agent để lấy một thông tin nào đó. Trong
GetRequest có chứa OID của object muốn lấy. VD: Muốn lấy thông tin tên của Device 1
thì manager gửi bản tin GetRequest OID=1.3.6.1.2.1.1.5 đến Device 1, tiến trình SNMP
agent trên Device 1 sẽ nhận được bản tin và tạo bản tin trả lời. Trong một bản tin
GetRequest có thể chứa nhiều OID, nghĩa là dùng một GetRequest có thể lấy về cùng lúc
nhiều thông tin.