BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
THỰC TẬP CƠ SỞ
PHÁT TRIỂN HỆ THỐNG GIÁM SÁT MẠNG DỰA
TRÊN PHẦN MỀM MÃ NGUỒN MỞ OBSERVIUM
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Sinh viên thực hiện:
Nguyễn Khắc Dương
Nguyễn Tiến Đạt
Phan Mạnh Cường
Lớp: AT11B
Người hướng dẫn:
TS. Phạm Văn Hưởng
Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã
Hà Nội, 2017
1
MỤC LỤC
DANH MỤC HÌNH ẢNH...................................................................................4
LỜI CẢM ƠN.................................................................................................................................................4
LỜI MỞ ĐẦU................................................................................................................................................4
CHƯƠNG 1:..................................................................................................................................................6
TỔNG QUAN VỀ GIÁM SÁT MẠNG..............................................................................................................6
CHƯƠNG 2:................................................................................................................................................20
CƠ BẢN VỀ GIAO THỨC SNMP..................................................................................................................20
CHƯƠNG 3:................................................................................................................................................27
PHÁT TRIỂN HỆ THỐNG GIÁM SÁT MẠNG DỰA TRÊN..............................................................................27
OBSERVIUM...............................................................................................................................................27
CHƯƠNG 4:................................................................................................................................................31
THỰC NGHIỆM...........................................................................................................................................31
KẾT LUẬN...................................................................................................................................................38
TÀI LIỆU THAM KHẢO................................................................................................................................39
2
DANH MỤC HÌNH ẢNH
LỜI CẢM ƠN.................................................................................................................................................4
LỜI MỞ ĐẦU................................................................................................................................................4
CHƯƠNG 1:..................................................................................................................................................6
TỔNG QUAN VỀ GIÁM SÁT MẠNG..............................................................................................................6
CHƯƠNG 2:................................................................................................................................................20
CƠ BẢN VỀ GIAO THỨC SNMP..................................................................................................................20
CHƯƠNG 3:................................................................................................................................................27
PHÁT TRIỂN HỆ THỐNG GIÁM SÁT MẠNG DỰA TRÊN..............................................................................27
OBSERVIUM...............................................................................................................................................27
CHƯƠNG 4:................................................................................................................................................31
THỰC NGHIỆM...........................................................................................................................................31
KẾT LUẬN...................................................................................................................................................38
TÀI LIỆU THAM KHẢO................................................................................................................................39
3
LỜI CẢM ƠN
Nhìn chung các công việc của bài, nhóm cơ bản đã hoàn thành. Tuy nhiên
bài làm sẽ sẽ vẫn còn các thiếu sót, vì quá trình làm hầu hết các kiến thức trong
bài là tự học và tự tìm hiểu. Chính vì vậy, nhóm mong muốn được được các
Thầy cô và các bạn đưa ra những ý kiến để khắc phục và sửa chữa để bài làm
của nhóm được hoàn thiện hơn. Ngoài những kiến thức về chuyên môn, nhóm
chúng em cũng cần cải thiện thêm về các kỹ năng mềm khác như giao tiếp, làm
việc theo nhóm, khả năng thuyết trình … Bởi vì đây là môn học quan trọng giúp
sinh viên chúng em tổng hợp được kiến thức của nhiều môn học và áp dụng vào
ứng dụng thực tế, giúp ích cho quá trình học tập chuyên ngành về sau và làm
việc thật sự sau khi tốt nghiệp.
Trong quá trình thực hiện bài thực tập, nhóm chúng em xin chân thành
cảm ơn tới khoa Công nghệ thông tin và các thầy cô đã cung cấp kiến thức giúp
nhóm chúng em qua các môn học. Đó là nền tảng giúp nhóm có một kiến thức
vứng chắc và tinh thần học tập tốt để thực hiện bài luận nhanh chóng và hiệu
quả. Bên cạnh đó, nhóm xin chân thành cảm ơn sự hướng dẫn tận tình của thầy
Phạm Văn Hưởng đã giúp nhóm hoàn thiện bài báo cáo.
Nhóm báo cáo
LỜI MỞ ĐẦU
Ngày nay, hệ thống giám sát đóng một vai trò quan trọng giúp theo dõi,
kiểm tra hệ thống, cung cấp thông tin và đưa ra cảnh báo khi có vấn đề xảy ra
với các thành phần trong hạ tầng, ứng dụng công nghệ thông tin của tổ chức.
Một hệ thống giám sát tốt cần có khả năng phát hiện nhanh chóng và chính xác
những sự cố xảy ra và kịp thời gửi thông báo qua nhiều phương tiện như màn
hình, email, tin nhắn tới người quản trị hệ thống. Luận văn “Xây dựng hệ thống
giám sát mang dựa trên phần mềm mã nguồn mở Observium” với mục đích là
4
tìm hiểu về giao thức quản lý mạng, xây dựng hệ thống giám sát mạng trên cơ
sở đưa ra giải pháp giám sát mạng dựa trên mã nguồn mở Observium.
Báo cáo gồm có 4 chương:
o Chương 1: Tổng quan về giám sát mạng.
o Chương 2: Cơ bản về giao thức SNMP.
o Chương 3: Phát triển hệ thống giám sát mạng dựa trên phần mềm
mã nguồn mở Observium.
o Chương 4: Thực nghiệm.
5
CHƯƠNG 1:
TỔNG QUAN VỀ GIÁM SÁT MẠNG
1.1. Một số khái niệm cơ bản
-
Giám sát an ninh mạng (Network Security Mornitoring – NSM)
Giám sát an ninh mạng là việc thu thập các thông tin trên các thành phần của
hệ thống, phân tích các thông tin, dấu hiệu nhằm đánh giá và đưa ra các cảnh
báo cho người quản trị hệ thống.
Đối tượng của giám sát an ninh mạng là tất cả các thành phần, thiết bị trong
hệ thống mạng:
•
Các máy trạm
•
Cơ sở dữ liệu
•
Các ứng dụng
•
Các server
•
Các thiết bị mạng
Các thành phần trong hệ thống mạng
-
Để một hệ thống mạng hoạt động tốt nó bao gồm rất nhiều thành
phần, hoạt động trên các nền tảng và mỗi trường khác nhau
•
Các máy trạm
•
Các máy chủ
•
Các thiết bị hạ tầng mạng: Router, switch, Hub…
•
Các thiết bị, hệ thống phát hiện và phòng chống xâm nhập: IDS/IPS,
Snort, FireWall…
•
-
Các ứng dụng chạy trên các máy chủ và máy trạm.
Log hệ thống
Là một thành phần quan trọng của hệ thống mạng. Nó lưu lại một cách
chính xác mọi hoạt động của hệ thống, tình trạng hoạt động của hệ
thống, các ứng dụng, các thiết bị đã và đang hoạt động trong hệ thống.
6
Các loại log chính trong hệ thống:
•
Log Access: Là log ghi lại toàn bộ thông tin truy cập của người dùng
tới hệ thống, truy cập của các ứng dụng tới cơ sở dữ liệu…
•
Log Event: là log ghi lại chi tiết những sự kiện mà hệ thống đã thực
hiện. Log ứng dụng, log của hệ điều hành…
•
Log Device: là log ghi lại tình trạng hoạt động của các thiết bị phần
cứng và phần mềm đang được sử dụng: Router, Switch, IDS, IPS…
Log là một thành phần cực kỳ hữu hiệu cho việc giám sát cũng như
khắc phục các sự cố trong hệ thống mạng. Tuy nhiên, với những hệ thống
lớn, chạy nhiều ứng dụng, lượng truy cập cao thì công việc phân tích Log
thực sự là một điều vô cùng khó khăn.
1.2. Các yếu tố cơ bản trong hệ thống giám sát mạng
Để công tác giám sát an toàn mạng đạt hiệu quả cần phải xác định
được các yếu tố cốt lõi, cơ bản nhất của giám sát như:
•
Xác định các đơn vị, hệ thống, thiết bị, dịch vụ cần giám sát.
•
Xác định 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 phần mềm nội bộ và phần mềm nguồn mở phục vụ giám
sát.
•
Xác định các thiết bị, công cụ, giải pháp hỗ trợ phân tích kết quả
giám sát: công cụ NMAP, TCPDUMP, Wireshark, Nessus...
Ngoài các trang thiết bị, công cụ, giải pháp hỗ trợ thì yếu tố con người
và đặc biệt là quy trình phục vụ giám sát là vô cùng quan trọng.
1.3. Các thành phần trong hệ thống mạng
Để một hệ thống mạng hoạt động tốt nó bao gồm rất nhiều thành
phần, hoạt động trên các nền tảng và mỗi trường khác nhau:
•
Các máy trạm
•
Các máy chủ
•
Các thiết bị hạ tầng mạng: Router, switch, Hub…
7
•
Các thiết bị, hệ thống phát hiện và phòng chống xâm nhập:
IDS/IPS, Snort, FireWall…
•
Các ứng dụng chạy trên các máy chủ và máy trạm.
Hình 1 - . Các thành phần trong hệ thống mạng.
1.4. Lợi ích của một hệ thống giám sát mạng an toàn
Hệ thống giám sát an toàn mạng viết tắt là SIEM (Security information
and event management – SIEM) là hệ thống được thiết kế nhằm thu thập
thông tin nhật ký các sự kiện an ninh từ các thiết bị đầu cuối và lưu trữ dữ liệu
một cách tập trung. Theo đó, các sản phẩm SIEM cho phép phân tích tập
trung và báo cáo về các sự kiện an toàn mạng của tổ chức. Kết quả phân tích
này có thể được dùng để phát hiện raa các cuộc tấn công mà không thể phát
hiện được theo phương pháp thông thường. Một số sản phẩm SIEM còn có
khả năng ngăn chặn các cuộc tấn công mà chúng phát hiện được.
Sản phẩm SIEM đã xuất hiện nhiều năm nay, nhưng tiền thân của sản
phẩm này nhắm đến các tổ chức lớn với khả năng và đội ngũ phân tích an
ninh chuyên biệt. SIEM đang dần trở nên nổi bật, phù hợp cả với nhu cầu của
8
các tổ chức vừa và nhỏ. Kiến trúc SIEM ngày nay bao gồm phầm mềm SIEM
cài đặt trên một máy chủ cục bộ, một phần cứng cục bộ hoặc một thiết bị ảo
dành riêng cho SIEM, kèm theo đó là một dịch vụ đám mây SIEM.
Các tổ chức khác nhau sử dụng hệ thống SIEM với mục đích khác
nhau, do đó lợi ích thu được cũng khác nhau. Bài viết sẽ làm rõ ba lợi ít lớn
nhất của SIEM:
•
Quản lý tập trung.
•
Giám sát an toàn mạng.
•
Cải thiện hiệu quả trong hoạt động xử lý sự cố.
2.4.1. Quản lý tập trung
Rất nhiều tổ chức triển khai SIEM với một mục đích duy nhất: tập hợp
các dữ liệu thông qua một giải pháp nhật ký tập trung. Mỗi thiết bị đầu cuối
cần có hệ thống ghi lại sự kiện an ninh và thường xuyên truyền dữ liệu nhật
ký (log) này về máy chủ SIEM. Một máy chủ SIEM nhận dữ liệu nhật ký từ
rất nhiều thiết bị khác nhau và sau đó sẽ thực hiện thống kê, phân tích, báo
cáo để tạo ra một báo cáo duy nhất cho thấy sự tương quan giữa các sự kiện
an ninh của các thiết bị.
Hình 1 - . Mô hình quản lý tập trung.
9
Một tổ chức không có các hệ thống tập trung dữ liệu nhật ký sẽ cần rất
nhiều công sức trong việc tập hợp báo cáo. Trong môi trường như vậy, cần
phải tạo ra báo cáo riêng về tình trạng hoạt động cho mỗi thiết bị đầu cuối,
hoặc lấy dữ liệu định kì bằng cách thủ công từ mỗi thiết bị rồi tập hợp chúng
lại và phân tích để thành một báo cáo. Khó khăn xảy ra là không nhỏ do sự
khác biệt hệ điều hành, ứng dụng và các phần mềm khác nhau dẫn đến các
nhật ký sự kiện an ninh được ghi lại khác nhau. Chuyển đổi tất cả thông tin đó
thành một định dang chung đòi hỏi việc phát triển hoặc tùy biến mã nguồn
rất lớn.
Một lí do khác cho thấy tại sao SIEM rất hữu ích trong việc quản lý và báo
cáo tập trung là việc hỗ trợ sẵn các mẫu báo cáo phù hợp với các chuẩn quốc
tế như Health Insurance Portability and Accountability Act (HIPAA),
Payment Card Industry Data Security Standard (PCI DSS) và Sarbanes-Oxley
Act (SOX). Nhờ SIEM, một tổ chức có thể tiết kiệm đáng kể thời gian, nguồn
lực để đạt được đủ các yều cầu về báo cáo an ninh định kỳ.
1.4.2. Giám sát an toàn mạng
Lí do chính cho việc triển khai SIEM là hệ thống này có thể phát hiện ra
các sự cố mà các thiết bị thông thường không phát hiện được. Thứ nhất, rất
nhiều thiết bị đầu cuối có phần mềm ghi lại sự kiện an ninh nhưng không tích
hợp khả năng phát hiện sự cố. Dù có thể quan sát các sự kiện và tạo ra các
nhật ký, chúng luôn thiếu khả năng phân tích để xác định các dấu hiệu của
hành vi độc hại.
Lý do thứ hai nâng cao khả năng phát hiện của SIEM là chúng có thể
cho thấy sự tương quan sự kiện giữa các thiết bị. Bằng cách thu thập sự kiện
của toàn tổ chức, SIEM có thể thấy được nhiều phần khác nhau của các cuộc
tấn công thông qua nhiều thiết bị và sau đó tái cấu trúc lại chuỗi sự kiện và
xác định cuộc tấn công ban đầu là gì và nó đã thành công hay chưa. Nói theo
cách khác, trong khi một giải pháp ngăn chặn xâm nhập IPS có thể thấy được
một phần của một cuộc tấn công và hệ điều hành của máy chủ mục tiêu cũng
10
cho thấy được một phần khác của cuộc tấn công đó, một SIEM có thể kiểm
tra dữ liệu nhật ký của tất cả sự kiện này và xác định máy chủ mục tiêu đó đã
bị nhiễm mã độc, hay tấn công thành công hay chưa, từ đó có thể thực hiện
cách li chúng ra một mạng riêng và xử lí cuộc tấn công.
Cần hiểu rằng SIEM không thay thế các sản phẩm kiểm soát an ninh phát hiện
tấn công như hệ thống ngăn chặn xâm nhập IPS, công nghệ tường lửa và phần
mềm diệt virus. Một SIEM độc lập không có tác dụng gì ngoài theo dõi các sự
kiện an ninh đang diễn ra. SIEM được thiết kế để sử dụng các dữ liệu nhật ký
được ghi lại bởi các phần mềm khác nhau từ đó phân tích tương quan và đưa
ra các cảnh báo.
Ngoài ra, rất nhiều sản phẩm SIEM có khả năng ngăn chặn các cuộc tấn công
mà chúng phát hiện khi các cuộc tấn công đang diễn ra. SIEM không tự mình
trực tiếp ngăn chặn các cuộc tấn công, thay vào đó nó kết nối vào hệ thống an
ninh khác của doanh nghiệp như tường lửa và chuyển chúng đến phần cấu
hình để ngăn chặn hành vi độc hại. Điều này cho phép SIEM ngăn chặn các
cuộc tấn công không nhận biết được bởi các thành phần an ninh khác của
doanh nghiệp.
Để có những bước tiến xa hơn, một tổ chức cần tìm kiếm và thu thập các
IEM (các thông tin về các mối nguy hại, hình thức tấn công…) từ các nguồn
bên ngoài đáng tin cậy. Nếu SIEM phát hiện bất cứ hành vi độc hại nào đã
biết liên quan đến thiết bị đầu cuối, nó sẽ phản ứng ngăn chặn các kết nối
hoặc làm gián đoạn, cách ly thiết bị đang tương tác với thiết bị khác nhằm
ngăn ngừa cuộc tấn công từ điểm đầu tiên.
1.4.3. Cải thiện hoạt động xử lý sự cố hiệu quả
Một lợi ích khác của các sản phẩm SIEM là gia tăng đáng kể hiệu quả
việc xử lý sự cố, tiết kiệm đáng kể thời gian và nguồn lực đối cho các nhân
viên xử lý sự cố. SIEM cải thiện điều này bằng cách cung một một giao diện
đơn giản để xem xét tất cả dữ liệu nhật ký an ninh từ nhiều thiết bị đầu cuối.
Ví dụ:
11
•
Cho phép nhân viên xử lý sự cố nhanh chóng phát hiện một mũi của
cuộc tấn công vào doanh nghiệp.
•
Cho phép xác định nhanh chóng tất cả thiết bị đầu cuối bị ảnh
hưởng bởi cuộc tấn công.
•
Cung cấp cơ chế tự động nhằm ngăn chặn các cuộc tấn công đang
diễn ra và cách ly các thiết bị đầu cuối đã bị xâm hại.
Lợi ích của các sản phẩm SIEM khiến chúng trở nên cần thiết hơn bao
giờ hết, đặc biệt đối với các cơ quan nhà nước, ngân hàng, các doanh nghiệp
tài chính, các tập đoàn công nghệ…
Sản phẩm SIEM cho phép tổ chức có được bức tranh toàn cảnh về các
sự kiện an ninh xảy ra. Bằng cách tập hợp các dữ liệu nhật ký an ninh từ các
trạm kiểm soát an ninh, hệ điều hành của thiết bị đầu cuối, ứng dụng và các
phần mềm khác, SIEM có thể phân tích một lượng lớn dữ liệu nhằm xác định
các cuộc tấn công và xâm hại ẩn dấu đằng sau các dữ liệu này.
1.5. Thu thập dữ liệu cho hệ thống NSM
•
Thu thập dữ liệu (Collection):
-
Việc thu thập dữ liệu ở đây chính là việc lấy các thông tin liên quan
đến tình trạng hoạt động của các thiết bị trong hệ thống mạng. Tuy
nhiên, trong những hệ thống mạng lớn thì các dịch vụ hay các thiết bị
không đặt tại trên máy, một địa điểm mà nằm trên các máy chủ, các hệ
thống con riêng biệt nhau. Các thành phần hệ thống cũng hoạt động
trên những nền tảng hoàn toàn khác nhau. Mô hình Log tập trung được
đưa ra để giải quyết vấn đề này. Cụ thể, là tất cả Log sẽ được chuyển về
một trung tâm để phân tích và xử lý.
-
Với mỗi thiết bị có những đặc điểm riêng và các loại log cũng khác
nhau. Như log của các thiết bị mạng như: Router, Swich. Log của các
thiết bị phát hiện xâm nhập: IDS, IPS, Snort … Log của các Web
Server, Application Server, Log Event, Log Registry của các Server
Windows, Unix/Linux.
12
•
Cách thức thu thập dữ liệu trong hệ thống NSM.
-
The Push Method (Phương pháp đẩy): Các sự kiện từ các thiết bị,
Các máy trạm, Server sẽ được tự động chuyển về các Collector theo
thời gian thực hoặc sau mỗi khoảng thời gian phụ thuộc vào việc cấu
hình trên các thiết bị tương ứng. Các Collector của Log Server sẽ thực
hiện việc nghe và nhận các sự kiện khi chúng xảy ra. Ví dụ như:
NetFlow, Syslog-ng Message(Syslog-ng gồm 2 thành phần là SyslogAgent và Syslog-Server), Access-list (ACL) logs …
Hình 1 - . Hệ thống NSM.
-
Phương pháp đẩyThe Pull Method (Phương pháp kéo): Các
Collector thu tập các sự kiện được phát sinh và lưu trữ trên chính các
thiết bị và sẽ được lấy về bởi các bộ Collector. Hai giao thức phổ biến
để thu thập được các sự kiện là Security Device Event Exchange
(SDEE – Gồm các thiết bị nằm trong hệ thống các thiết bị phát hiện
xâm nhập được phát triển bởi ICSA) và SNMP (Simple Network
Management Protocol – Giao thức hỗ trợ việc quản lý các thiết bị từ
xa).
1.6.
Một số phần mềm giám sát hệ thống mạng, an toàn mạng
1.6.1. Observium
13
Hình 1 - . Observium.
Công cụ này kết hợp giám sát hệ thống và mạng. Nó sử dụng dữ liệu
tĩnh kết hợp với dữ liệu tự động nhận diện trên máy chủ và thiết bị trên mạng
để đưa ra nhiều phương pháp giám sát khác nhau và có thể cấu hình để theo
dõi những chỉ số cụ thể nào đó. Giao diện Web rất gọn đẹp và dễ định vị.
Như trong hình, Observium cũng có thể hiển thị vị trí địa lý của các
thiết bị đang theo dõi trên một bản đồ. Giao diện cũng có các hộp hiển thị
cảnh báo hiện thời và số lượng thiết bị đang theo dõi.
1.6.2. Cacti
14
Hình 1 - . Cacti.
Đây là chương trình giám sát hiệu năng hệ thống rất chuyên sâu,
đưa ra đồ thị giám sát, giúp bạn theo dõi mọi thứ qua biểu đồ. Từ ổ
cứng vận hành, tốc độ quạt cho đến điện năng, Cacti có thể theo dõi tất
cả theo thời gian thực.
1.6.3. Nagios
Hình 1 - . Nagios.
15
Đây là công cụ giám sát hệ thống và mạng khá lâu đời. Nó chạy
nhanh, ổn định và rất nhiều tuỳ biến. Nagios có thể là thách thức đối
với các công cụ mới. Có thể thế mạnh của nó là nhiều tính năng chuyên
sâu, phức tạp nên nó có thể giám sát được mọi yếu tố. Có thể điểm yếu
duy nhất của nó chính là giao diện.
1.6.4. Icinga
Hình 1 - . Icinga.
Có thể xem Icinga là một bản khác của Nagios với giao diện mới
hơn. Nó có một framework giám sát và cảnh báo xuyên suốt, được thiết
kế khá “thoáng” và nhiều tuỳ chọn cũng như Nagios, nhưng có vài điểm
khác biệt về tuỳ chọn cho giao diện Web. Icinga 1 giống với Nagios, trong
khi Icinga 2 được viết lại. Ngowif dùng Nagios có thể chuyển sang Icinga
1 rất dễ dàng.
1.6.5. Nedi
16
Hình 1 - . Nedi.
NeDi có thể chưa được nhiều người biết đến nhưng nó thực sự là
giải pháp rất tốt để theo dõi các thiết bị qua mạng. Nó liên tục dò mọi thứ
trên mạng, theo dõi mọi thứ nó phát hiện được. Nó có thể cung cấp vị trí
hiện thời của bất kỳ thiết bị nào cũng như ghi lại mọi lịch sử của thiết bị
đó.
NeDi có thể dùng để định vị thiết bị bị mất cắp hoặc thất lạc bằng
cách cảnh báo bạn nếu nó thấy thiết bị đó xuất hiện lại trên mạng. Thậm
chí nó có thể hiển thị mọi kết nối mà nó phát hiện được trên bản đồ, hiển
thị mọi đa liên kết trên mạng, thậm chí báo cáo ở mức cổng kết nối.
1.6.6. Zabbix
17
Hình 1 - . Zabbix.
Công cụ này giám sát máy chủ và mạng bằng rất nhiều công cụ. Có
những agent Zabbix cho nhiều hệ điều hành khác nhau, hoặc bạn có thể
chọn sử dụng cách kiểm tra thụ động, gồm SNMP để giám sát host và các
thiết bị mạng. Bạn cũng có thể tìm được nhiều công cụ cảnh báo và thông
báo. Giao diện Web có thể tuỳ biến giúp bạn dễ theo dõi những thành
phần mà mình quan tâm nhất. Ngoài ra, Zabbix có các công cụ đặc biệt để
giám sát các ứng dụng web và các hypervisor ảo hoá.
Zabbix cũng có thể vẽ ra các biểu đồ đa liên kết logic, liệt kê chi
tiết các đối tượng được giám sát. Những biểu đồ như vậy cũng có thể tuỳ
biết và tạo thành nhóm các thiết bị được giám sát.
1.6.7. Ntop
18
Hình 1 - . Ntop.
Đây là công cụ lần theo dấu packet dữ liệu qua giao diện Web gọn gẽ,
hiển thị dữ liệu thời gian thực trên mạng. Dữ liệu tức thời đang luân chuyển trên
mạng được hiển thị dạng đồ thị chi tiết. Thông tin dữ liệu host và giao tiếp của
host cũng được hiển thị theo thời gian thực.
19
CHƯƠNG 2:
CƠ BẢN VỀ GIAO THỨC SNMP
Simple Network Mangement Protocol(SNMP) hoạt động ở lớp ứng
dụng, chạy cổng 160, 161, 162 trên UDP. SNMP dùng để quản lý các thiết bị
trong mạng như router, server,… SNMP không chỉ cho phép kiểm soát
việc hoạt độngcủa các thiết bị mạng mà còn có thể quản lý các thiết bị mạng
từ xa. SNMP có khả năng theo dõi, lấy thông tin, đưa ra thông báo và tác
động đến các hoạt động hệ thống mạng theo ý muốn của người quản trị. Ví
dụ: SNMP có thể theo dõi tốc độ đường truyền,tự động gửi thông báo cho
người quản trị khicó một cổng trên router bị tắt, xem thông tin ổ cứng
của server,…
2.1. Các thành phần chính của giao thức SNMP
Một hệ thống sử dụng SNMP bao gồm 2 thành phần cơ bản: NMS
(Network Management Station) và NE (Network Element)
-
NMS (SNMP manager) là một máy tính chạy phần mềm quản lý
SNMP (PRTG, Solarwinds) để thực hiện giám sát và điều khiển tập
trung các SNMP agent.
-
NE (SNMP agent) là các thiết bị mạng hỗ trợ SNMP và chịu sự
quản lý của các SNMP manager.
Một SNMP manager có thể quản lý nhiều SNMP agent và ngược lại
một SNMP agent có thể chịu sự quản lý của nhiều SNMP manager.
Một số khái niệm cơ bản của giao thức SNMP:
-
Object:
•
Mỗi thiết bị có hỗ trợ SNMP cung cấp nhiều thông tin khác nhau,
mỗi thông tin đó được gọi là object. Ví dụ: router có các thông tin về
tổng số card, tổng số cổng, tổng số bit đã truyền/nhận, tên router, trạng
thái tắt/mở của các cổng.
20
•
Mỗi object có một tên gọi riêng và một mã số Oject ID (OID) để
nhận dạng object đó. Ví dụ: tên thiết bị được gọi là sysName, OID là
1.3.6.1.2.1.1.5.
•
Mỗi oject chỉ có duy nhất một OID nhưng có thể có nhiều tên gọi
nên người ta sử dụng một chỉ số sub-id dể phân biệt các object. 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 và sysName.1 và có OID lần lượt là
1.3.6.1.2.1.1.5.0 và 1.3.6.1.2.1.1.5.1.
•
Một số object phổ biến thì được chuẩn hóa OID, riêng các object
mới được tạo ra theo yêu cầu của cá nhân thì phải được mô tả OID. Để
lấy một thông tin có OID đã chuẩn hóa thì ứng dụng SNMP phải gửi
một gói 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 đó.
•
Object access quy định quyền truy cập của mỗi object là
READ_ONLY (chỉ cho phép đọc object) hoặc READ_WRITE (cho
phép đọc và thay đổi giá trị object). Ví dụ: tên của một thiết bị
(sysName) thì ta có thể thay đổi nên có quyền READ_WRITE, còn giá
tổng số cổng của thiết bị (ifNumber) là READ_ONLY thì khổng thể
đổi.
•
MIB (Management Information Base) là một cấu trúc dữ liệu gồm
các object được quản lý, được dùng cho việc quản lý các thiết bị chạy
trên nền TCP/IP. MIB được thể hiện thành 1 tập tin (MIB file) và có
thể biểu diễn thành 1 cây (MIB tree). Muốn hiểu được một OID thì cần
có tập tin MIB mô tả OID đó. Các thiết bị được quản lý bằng SNMP
chỉ khi các ứng dụng SNMP manager và 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.
2.2. Phương thức hoạt động của giao thức SNMP
21
SNMPv2 hoạt động dựa trên 7 loại thông điệp:
SNMPv2 PDU
GetRequest
Mô tả tác dụng
Manager gửi GetRequest (chứa một hoặc nhiều OID)
đến agent để lấy một hoặc nhiều giá trị của object trong
MIB.
Manager gửi GetNextRequest đến agent dùng để lấy
GetNextRequest
GetBulkRequest
InformRequest
SetRequest
giá trị của object nằm kế tiếp object được chỉ ra trong
MIB.
Manager gửi GetBulkRequest đến agent để lấy nhiều
giá trị của nhiều object.
Manager gửi InformRequest đến manager nhằm trao
đổi thông tin với nhau.
Manager gửi SetRequest đến agent để thiết lập giá trị
cho oject dựa vào OID. Chỉ những oject có quyền
READ_WRITE mới có thể thiết lập giá trị được.
Sau khi Agent nhận được các thông điệp GetRequest,
SetResponse
Trap
GetNextRequest
hay
SetRequest
thì
nó
sẽ
gửi
GetResponse để trả lời. Trong GetResponse có chứa OID
của object được yêu cầu và giá trị của object đó.
Trap được agent tự động gửi đến manager để thông báo
trong agent có sự kiện hay biến cố xảy ra. Ví dụ: khi có
một cổng bị tắt, người dùng đăng nhập thất bại. Việc gửi
hay không gửi khi biến cố xảy ra do hãng sản xuất thiết bị
agent quy định.
SNMP request/reponse dùng để quản lý còn SNMP trap
dùng để cảnh báo. Nguồn gửi trap được gọi là Trap Sender
và nơi nhận trap được gọi là Trap Receiver. Mỗi trap
sender có thể gửi nhiều trap đến nhiều trap receiver cùng
lúc.
Trap gồm 2 loại chính: generic trap (được qui định
22
trong các chuẩn SNMP) và specific trap (do hãng sản xuất
tự định nghĩa). Có thể phân biệt loại trap dựa vào mã số là
một số nguyên chứa trong gói tin trap. Theo SNMPv1,
generic trap có 7 loại sau: coldStart(0), warmStart(1),
linkDown(2),
linkUp(3),
authenticationFailure(4),
egpNeighborloss(5), enterpriseSpecific(6).
Hình 2 - . Mô tả phương thức hoạt động của SNMPv2.
2.3. Cấu trúc gói tin SNMP
23
Hình 2 - . Cấu trúc gói tin SNMPv2.
Theo cấu trúc trên:
-
Get/set header:
•
Request id: ID của request được manager gửi đến cho agent.
•
Error status: có các giá trị noError(0), tooBig(1), noSuchName(2),
badValue(3), readOnly(4), genErr(5). Giá trị noError(0) là gửi thành
công.
•
Error index: số thứ tự của OID có lỗi (nếu có).
-
Variables to get/set: chứa danh sách các cặp OID/value cần lấy
thông tin.
-
Trap header:
•
Enterprise: nhận dạng thiết bị gửi trap (nhận dạng chi tiết hãng sản
xuất, chủng loại, model).
•
Agent address: địa chỉ IP của nguồn gửi trap.
•
Trap type hay generic trap: kiểu giá trị của loại trap.
•
Specific trap: kiểu giá trị của trap do người dùng định nghĩa.
24
•
Time stamp: thời gian từ lúc thiết bị khởi động đến khi gửi gói tin
trap, tính bằng centi giây.
•
Trap information hay variable-bidings: các cặp OID/value của các
object có liên quan đến trap.
2.4.
Cấu trúc gói tin SNMP GetRequest
Hình 2 - . Gói tin SNMP GetRequest.
-
Các trường của gói tin SNMP-GetRequest trên phần mềmWireshark
trong hình 2 - 3:
-
Version: phiên bản là 1
-
Community: chuỗi xác thực manager gửi agent là “private”. Chuỗi
này
có
3
dạng:
read
community
(chứa
trong
GetRequest/GetNextRequest PDU), write community (chứa trong
SetRequest PDU) và trap community (chứa trong Trap PDU).
-
request – id: id của request là 13438.
-
error-status: có giá trị 0 – không có lỗi, manager gửi GetRequest
thành công.
-
error-index: có giá trị 0 – không có OID bị lỗi.
-
variable – bindings: 1 item tương đương 1 cặp OID – value.
-
OID = 1.3.6.1.2.1.1.2.0 (tên object là sysObjectID). Value của
request ban đầu không có giá trị.
25