1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống giám sát OpenNMS

76 220 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu, Triển Khai Hệ Thống Giám Sát An Ninh Mạng Sử Dụng Phần Mềm Mã Nguồn Mở OpenNMS
Trường học Đại Học
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 5,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI TÌM HIỂU, TRIỂN KHAI HỆ THỐNG GIÁM SÁT AN NINH MẠNG SỬ DỤNG PHẦN MỀM MÃ NGUỒN MỞ OPENNMS HÀ NỘI 2021 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI TÌM HIỂU, TRIỂN KHAI HỆ THỐNG GIÁM SÁT AN NINH MẠNG SỬ DỤNG PHẦN MỀM MÃ NGUỒN MỞ OPENNMS Hà Nội, 2021 ` LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC HÌNH ẢNH vi DANH MỤC BẢNG BIỂU ix DANH MỤC TỪ VIẾT TẮT vi CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT AN NINH MẠNG 1 1 1 Giới thiệu về hệ thống giám sát.

Trang 3

LỜI CẢM ƠN

Trang 4

LỜI CAM ĐOAN

Trang 5

MỤC LỤC

Trang 6

DANH MỤC TỪ VIẾT TẮT ST

2 NMS Network Monitoring systems Hệ thống giám sát mạng

3 SNMP Simple Network Management

5 DNS Domain Name System Hệ thống phân giải tên miền

6 FTP File Transfer Protocol Giao thức truyền tập tin

7 SIEM Security Information and Event

Management

Quản lý sự kiện và thông tin

an ninh

8 RMON Remote Network Monitoring Giám sát mạng từ xa

9 UDP User Datagram Protocol Giao thức dữ liệu người dùng

10 UEI Univesal Event Indicator Chuỗi nhận biết sự kiện

Trang 7

DANH MỤC HÌNH ẢNH

Trang 8

DANH MỤC BẢNG BIỂU

Trang 9

LỜI NÓI ĐẦU

Nền công nghệ thông tin nước ta đã và đang phát triển trên mọi lĩnh vực củacuộc sống Với việc phát triển nhanh mạng lưới thiết bị công nghệ thông tin đã gây

ra những khó khăn nhất định trong việc quản lý hệ thống mạng Do đó vấn đề quảntrị mạng hiện nay là không thể thiếu được Tùy thuộc vào các giải pháp công nghệ

và các ứng dụng triển khai mà các nhà khai thác lựa chọn và xây dựng các hệ thốngquản lý mạng thích hợp để nâng cao hiệu quả vận hành và khai thác mạ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ựchiện các hệ thống giám sát mạng, dựa trên những thông tin thu thập được thông quaquá trình giám sát, các quản trị viên 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 đảmbả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 trongtriể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, OpenNMS, Cacti, … Trong đó, OpenNMS là hệ thống giám sátmạng có chi phí đầu tư thấp nhưng lại có khả năng rất mạnh mẽ trong việc giám sáthoạt động của các thiết bị trên mạng Bởi vậy OpenNMS rất được tin tưởng và sửdụng rộng rãi trên toàn cầu Đây là bộ công cụ hỗ trợ đắc lực cho nhà quản trị nhằmphân tích, giám sát cũng như các công cụ quản lý việc thực thi trên hệ thống mạng,

nó cho phép người dùng có thể giám sát cho những hệ thống mạng cục bộ cỡ nhỏvới 10 thiết bị cho đến hệ thống mạng diện rộng lên đến hàng nghìn thiết bị tùytheo cấu hình máy chủ và nhu cầu quản trị Chính vì những lợi ích mà OpenNMSmang lại, em đã chọn đề tài “Tìm hiểu, triển khai hệ thống giám sát an ninh mạng

sử dụng phần mềm mã nguồn mở OpenNMS” để làm đồ án tốt nghiệp

Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG GIÁM SÁT AN NINH MẠNG 1.1 Giới thiệu về hệ thống giám sát an ninh mạng

Giám sát hệ thống mạng là giám sát, thu nhập thông tin trên các thành phầncủ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ảnhbáo cho người quản trị hệ thống Đối tượng của hệ thống giám sát gồm: các máytrạm, cơ sở dữ liệu, các ứng dụng, các server, các thiết bị mạng …

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àmgiá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ảinắm được tình hình “sức khỏe” các thiết bị, dịch vụ được triển khai để có nhữngquyế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 độngcủ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ệună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ủangườ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ềmthự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átmạng

Hệ thống giám sát mạng (Network Monitoring System) là một phần mềmthự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 nhập thông tin của các thiết bị mạng, cáckế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 racá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ôitrường mạng Dựa trên những thông tin thu nhậ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ữngthô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

Trang 11

1.1.1 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ốt cốt lõicủ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.2 Chức năng của giám sát

- Cảnh báo qua Web, Email và SMS khi phát hiện tấn công vào hệ thốngmạ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ữacác thiết bị kết nối với nhau một cách trực quan

1.1.3 Nội dung cần giám sát mạng

Đối với hệ thống mạng, điều quan trọng nhất là nắm được các thông tinchí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ạngthá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:

Bảng 1.1: Nội dung cần giám sát và lý do

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

Trang 12

Nội dung cần giám sát Lý do

bảo đảm hoạt động bình thường và liên tục, nó sẽ ảnhhưởng nghiêm trọng đến cơ quan tổ chức đó

Tài nguyên hệ thống

Các ứng dụng đều đòi hỏi tài nguyên hệ thống, việcgiá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ạngCá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 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

1.1.4 Tầm quan trọng của giám sát mạng

Hệ thống giám sát mạng đóng vai trò quan trọng trong hạ tầng công nghệthông tin của các cơ quan, đơn vị, tổ chức Hệ thống này cho phép thu thập, chuẩnhóa, lưu trữ và phân tích tương quan toàn bộ các sự kiện an toàn mạng được sinh ratrong hệ thống công nghệ thông tin của tổ chức Ngoài ra, hệ thống giám sát antoàn mạng phát hiện kịp thời các tấn công mạng, các điểm yếu, lỗ hổng bảo mậtcủa các thiết bị, ứng dụng và dịch vụ trong hệ thống, phát hiện kịp thời sự bùng nổvirus trong hệ thống mạng, các máy tính bị nhiễm mã độc

Hệ thống giám sát mạng sẽ giúp định hướng trong môi trường mạng phứctạp, đưa ra các báo cáo và các nhận định để đảm bảo công tác giám sát mạng antoàn hiệu quả Thông qua hệ thống giám sát mạng giúp cho người quản trị hệthống:

Trang 13

Tính bảo mật: Đảm bảo các thông tin không bị lộ ra ngoài Là một trongnhững phần quan trọng giữa các giám sát mạng, tính năng này sẽ theo dõi nhữngbiế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 một trong các lợi thế của giám sátmạng Tiết kiệm thời gian chuẩn đoán sai lệch trong mạng, giám sát viên có thể biếtchí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 khidù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ấtnhiề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 tìm ra và xử lý hiệuquả, có thể tập trung nhiền hơn vào công việc khác, lợi nhuận công ty cũng giatăng

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ámsá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ốngmạng

1.2 Hoạt động của hệ thống giám sát an ninh mạng

Hoạt động của NSM (Network Security Monitor) bao gồm ba giai đoạn: thuthập dữ liệu, phát hiện xâm nhập và phân tích dữ liệu Hình 1.1 trình bày về hoạtđộng của NSM:

Trang 14

Hình 1.1: Hoạt động của NMS 1.2.1 Thu thập dữ liệu

Hoạt động của NSM bắt đầu với bước quan trọng nhất là thu thập dữ liệu.Việc thu thập dữ liệu được thực hiện với sự kết hợp của cả phần cứng và phần mềmtrong việc tạo, sắp xếp và lưu trữ dữ liệu cho việc phát hiện xâm nhập và phân tích

dữ liệu trong hệ thống NSM Thu thập dữ liệu là phần quan trọng nhất của chu trìnhNSM bởi vì các bước thực hiện ở đây sẽ định hình khả năng của một tổ chức trongviệc phát hiện xâm nhập và phân tích dữ liệu hiệu quả

Có một số loại dữ liệu của NSM và tương ứng sẽ có một số phương pháp cóthể thu thập được các loại dữ liệu này Các loại dữ liệu phổ biến nhất của NSM baogồm dữ liệu nội dung đầy đủ, dữ liệu phiên, dữ liệu thống kê, dữ liệu kiểu chuỗitrong gói tin và dữ liệu cảnh báo Tùy thuộc vào nhu cầu của tổ chức, kiến trúcmạng và nguồn tài nguyên sẵn có, các kiểu dữ liệu này có thể được sử dụng chủyếu để phát hiện xâm nhập, phân tích, hoặc cho dùng cho cả hai

Khởi đầu, thu thập dữ liệu có thể là một trong những phần cần nhiều laođộng nhất trong chu trình NSM Để thu thập dữ liệu có hiệu quả đòi hỏi có một sự

nỗ lực từ lãnh đạo tổ chức, đội ngũ an ninh thông tin, các nhóm mạng và các nhómquản trị hệ thống Thu thập dữ liệu bao gồm các nhiệm vụ như sau:

• Xác định các vị trí có nhiều điểm yếu tồn tại trong tổ chức

• Xác định các nguy cơ ảnh hưởng đến mục tiêu tổ chức

• Xác định nguồn dữ liệu có liên quan

• Tinh chế nguồn dữ liệu thu thập được

Trang 15

• Cấu hình cổng SPAN để thu thập dữ liệu gói tin.

• Xây dựng lưu trữ SAN cho lưu giữ nhật ký

• Cấu hình phần cứng và phần mềm thu thập dữ liệu

1.2.2 Phát hiện xâm nhập

Phát hiện xâm nhập là quá trình mà qua đó dữ liệu thu thập được kiểm tra vàcảnh báo sẽ được tạo ra dựa trên các sự kiện quan sát được và dữ liệu thu thậpkhông được như mong đợi Điều này thường được thực hiện thông qua một số hìnhthức chữ ký, sự bất thường, hoặc phát hiện dựa trên thống kê Kết quả là tạo ra các

dữ liệu cảnh báo

Phát hiện xâm nhập thường là một chức năng của phần mềm với một số góiphần mềm phổ biến như Snort IDS và Bro IDS của một hệ thống phát hiện xâmnhập mạng (NIDS), và OSSEC, AIDE hoặc McAfee HIPS của một hệ thống pháthiện xâm nhập máy chủ (HIDS) Một số ứng dụng như Quản lý sự kiện và thông tin

an ninh (Security Information and Event Management - SIEM) sẽ sử dụng cả dữliệu dựa trên mạng và dữ liệu dựa trên máy chủ để phát hiện xâm nhập dựa trên các

sự kiện liên quan

1.2.3 Phân tích dữ liệu

Phân tích là giai đoạn cuối cùng của chu trình NSM, và được thực hiện khimột người diễn giải và xem xét dữ liệu cảnh báo Điều này thường sẽ liên quan đếnviệc xem xét thu thập dữ liệu bổ sung từ các nguồn dữ liệu khác Phân tích dữ liệu

có thể được thực hiện với các nhiệm vụ sau:

• Phân tích gói tin

• Phân tích mạng

• Phân tích máy chủ

• Phân tích phần mềm độc hại Phân tích dữ liệu là phần tốn thời gian nhấttrong chu trình NSM Tại thời điểm này một sự kiện có thể được chính thức nânglên thành sự cố, và có thể bắt đầu với các biện pháp ứng phó

Hoạt động NSM kết thúc bằng các bài học kinh nghiệm trong việc phát hiệnxâm nhập và phân tích dữ liệu cho bất kỳ sự bất thường nào và tiếp tục hình thànhcác chiến lược thu thập dữ liệu cho tổ chức

Trang 16

1.3 Giao thức quản trị mạng đơn giản SNMP

Trong thế giới mạng 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ácthiế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ý các nhà nghiên cứu 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ệcquản trị các thiết bị sử dụng giao thức internet (Internet Protocol) SNMP cung cấpmột tập các lệnh đơn giản cho phép việc quản lý các thiết bị từ xa

1.3.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ụngSNMP để 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 tinSNMP 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õitoàn bộ mạng Giám sát mạng từ xa (Remote Network Monitoring - RMON) đượcphá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ạngLAN và cả các cổng mạng WAN

Trước và sau khi có SNMP

Giả sử, có một mạng gồm 100 máy trạm sử dụng các hệ điều hành khácnhau 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

Trang 17

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à baogồm cả quản trị mạng thì sao?

Đó là lý do tại sao phải cần tới SNMP Thay vì phải có ai đó thông báo rằng

hệ thống có vấn đề thì SNMP cho phép giám sát hệ thống một cách liên tục kể cảkhi không có ai ở đó Ví dụ, SNMP sẽ thông báo số gói tin bị hư ngày càng tăngtrên bộ định tuyến để có thể xử lý trước khi vấn đề nghiêm trọng xảy ra Quản trịviên có thể cấu hình để được cảnh báo tự động các vấn đề trong hệ thống mạng củamình

1.3.2 Managers và Agents

Trong môi trường SNMP có 2 loại thực thể là: Managers và Agents.

Thực thể thứ nhất Managers là một server chạy các phần mềm quản lý.

Managers thông thường được xem như là Network Management Stations (NMS).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à trung tâm giám sát (Manager) sẽ thường xuyên hỏi thông tin của

thiết bị cần giám sát (device) Nếu Manager không hỏi thì Device sẽ không trả lời,nếu Manager hỏi thì Device phải trả lời Bằng cách hỏi thường xuyên, Manager sẽluôn cập nhật được thông tin mới từ Device

Hình 1.2: Cơ chế hoạt động của Poll

Ví dụ: Người quản lý cần theo dõi khi nào thợ làm xong việc Anh ta sẽthường xuyên hỏi người thợ “Anh làm việc xong chưa?”, và người thờ sẽ trả lời

Trang 18

- 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áctruy 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ếtT1 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ý Agent có thể là một chương trình riêng biệt hoặc cũng có thể được tích hợpvà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ấpquả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ềntả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õicá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ủarouter 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ợpkhi 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 ratrê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ó íchtrong việc xác định vần để đã được giải quyết Hình dưới mô tả mối quan hệ giữaNMS và Agent

Hình 1.3: Mối quan hệ giữa NMS và Agent

Điều quan trọng cần phải xác định rõ là Poll và Trap có thể xảy ra cùng lúc.Không có hạn chế nào khi NMS truy vấn Agent và Agent gửi trap đến NMS

1.3.3 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

Trang 19

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êngUnix và Windows).

1.3.4 SNMP và UDP

SNMP sử dụng UDP (User Datagram Protocol) để truyền tải dữ liệu giữamanagers và agents Giao thức UDP, được định nghĩa trong RFC 768, được chọn

để sử dụng trong SNMP thay vì giao thức TCP (Transmission Control Protocol) 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 SNMP không đáng tincậ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 Đơngiản chỉ phụ thuộc vào thời gian chờ Khi NMS gửi yêu cầu đến agent và chờ hồibá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ếtthời gian chờ và NMS không nhận được thông tin phản hồi từ agent nó sẽ gửi lạiyê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

Vấn đề khó khăn khi SNMP sử dụng UDP làm giao thức truyền nhận dữ liệu

là khi agent gửi trap cho NMS, vì không có cách nào để NMS biết chuyện gì xảy rakhi 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 đượctrap

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ấtmạng thấp SNMP đã từng được triển khai trên TCP nhưng đó là một môi trườngkhông thích hợp do tính hướng kết nối của giao thức này

SNMP dùng UDP cổng 161 để gửi và nhận yêu cầu, UDP cổng 162 để nhậntrap 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ộtvà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ìnhmặc định bị thay đổi, NMS phải thay đổi để phù hợp với cấu hình trên agent

Trang 20

Hình 1.4: Mô hình trao đổi giữa NMS và Agent Hình 1.4 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ìnhtruyền thông trên Internet đều phải tuân theo bộ giao thức này Khi NMS hay agentmuốn thực hiện truyền thông phải theo các tuần tự sau:

Application: Đầu tiên ứng dụng SNMP (NMS hay agent) quyết địnhphải làm gì Ví dụ, nó có thể gửi một yêu cầu SNMP đến agent, gửi hồi đápyê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ềuhành yêu cầu thông tin trạng thái của một cổng trên switch

UDP: Tại tầng vận chuyển 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ôngtin, 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: Tại tầng mạng giao thức IP cố gắng truyền các gói SNMP tới địachỉ đích được yêu cầu

Medium Access Control (MAC): Sự kiện cuối cùng phải xảy ra chomột gói SNMP để có thể đến được đích là tầng vật lý, nơi gói tin được định

Trang 21

tuyến để truyền tới đích Lớp MAC bao gồm phần cứng và trình điều khiểnthiết bị đưa dữ liệu tới đích Lớp MAC cũng chịu trách nhiệm cho việc nhậngó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ìnhTCP/IP.

Để có thể dễ hiểu hãy xem xét một ví dụ mô tả Giả sử ta muốn gửi thư chomộ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 địnhgử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àobì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ư haymáy bay mang thư Khi người bạn nhận được thư, người đó cũng sẽ thực hiện mộtquá 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áchthức gói tin được truyền

1.3.5 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 độngcủa SNMP sau:

Trang 22

Hình 1.5: Mô hình hoạt động của SNMP 1.3.5.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ớikhả năng tốt nhất có thể Nếu một thiết bị nào đó đang bận tải nặng, như router, nókhông có khả năng trả lời yêu cầu nên nó sẽ hủy lời yêu cầu này Nếu agent tập hợp

đủ thông tin cần thiết cho lời yêu cầu, nó gửi lại cho NMS một “get-response”:

Hình 1.6: 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 23

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

$ 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ườngtrong “system” là “sysLocation” Trong câu lệnh này muốn hỏi Cisco router rằngviệ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ỏimột đối tượng trong MIB thì cần chỉ rõ 2 trường “x.y’, ở đây là “.6.0” ”x” là OIDthực tế của đối tượng Còn “.y” được dùng trong các đối tượng có hướng như mộtbả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ườnghợ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âulệnh get-next giải quyết được vấn đề này

1.3.5.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 đốitượ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

Trang 24

system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23

Hình 1.7: Sơ đồ đường đi OID 1.3.5.3 Get-bulk

“get-bulk” được định nghĩa trong SNMPv2, 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íchthướ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

Trang 25

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ệctrả 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 đốitượng còn lại:

Hình 1.8: Mô hình lấy thông tin get-bulk

$ snmpbulkget -v2c -B 1 3 linux.ora.com public sysDescr ifInOctets

Trang 26

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 = 2Tổng số có 1 + 3*2 = 7 varbind

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à Mcho lệnh

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

Hình 1.9: Hoạt động của 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 trongRFC 1213 là kiểu string tối đa 255 ký tự:

Trang 27

1.3.5.5 Error Response của get, get-next, get-bulk, set

Có nhiều loại lỗi báo lại từ agent:

Bảng 1.2: Các thông báo lỗi trong SNMPv1

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ênCá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:

Bảng 1.3: Các lỗi trong SNMPv2

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”

Trang 28

SNMPv2 Error Message Mô Tả

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ớikiểu định nghĩa sẵn của đối tượng Ví dụ khi “set” đặtgiá trị kiểu string cho một đối tượng kiểu số nguyênINTEGER

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ượngwrongEncoding(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ộtgiá 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ạihoặc tạo một biến không có trong MIBinconsistentValue Một biến MIB ở trạng thái khôngnhất quán, và nó không chấp nhận bất cứ câu lệnh

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

1.3.5.6 Trap

Trap là cảnh báo của agent tự động gửi cho NMS để NMS biết có tình trạngxấu ở agent

Trang 29

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ó tới được NMS hay không Khinhận được một “trap” từ agent, NMS tìm xem “trap number” để hiểu ý nghĩa của

“trap” đó

Hình 1.10: Mô hình gửi Trap từ Agent

Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy rabê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ủaagent 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ảimọ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ửitrap 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 SNMPrequest/response dùng để quản lượn SNMP trap dùng để cảnh báo Nguồn gửi trapgọ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),

Trang 30

enterpriseSpecific(6) Giá trị trong ngoặc là mã số của các loại trap Ý nghĩa củacác bản tin generic-trap như sau:

“Counters” và “Gauges” được đặt về 0

“coldStart” dùng để xác định một thiết bị mớigia 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ị đó haykhô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ởiagent 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

“trap” được định nghĩa trong MIB là ”rdbmsOutOfSpace”:

rdbmsOutOfSpace TRAP-TYPE

ENTERPRISE rdbmsTraps

VARIABLES { rdbmsSrvInfoDiskOutOfSpaces }

Trang 31

"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ó trongDESCRIPTION và giá trị của Trap là 2

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

::= { snmpTraps 3 }

OID của “trap” này là 1.3.6.1.6.3.1.1.5.3, tứciso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTraps.linkDown

1.3.5.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, NMSnhậ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”

Trang 32

Chú ý: SNMP inform có thể dùng để gửi SNMPv2 Trap đến 1 NMS Trongtrường hợp này agent sẽ được thông báo khi NMS nhận được Trap.

1.3.5.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ốngSNMP với nhau

1.4 Một số hệ thống giám sát an ninh mạng mã nguồn mở

1.4.1 Hệ thống giám sát Nagios

Nagios là một hệ thống giám sát mạnh mẽ giúp cho các cơ quan, tổ chức giảiquyết được các vấn đề trong mạng một cách nhanh chóng Nagios theo dõi toàn bộ

cơ sở hạ tầng CNTT, đảm bảo cho hệ thống hoạt động một cách trơn tru nhất

Các chức năng của Nagios:

- Giám sát trạng thái hoạt động của các dịch vụ mạng (SMTP, POP3, IMAP,HTTP, ICMP, FTP, SSH, DHCP, LDAP, DNS, name server, web proxy, TCP port,UDP port, cở sở dữ liệu: mysql, portgreSQL, oracle)

- Giám sát các tài nguyên các máy phục vụ và các thiết bị đầu cuối (chạy hệđiều hành Unix/Linux, Windows, Novell netware): tình trạng sử dụng CPU, ngườidùng đang log on, tình trạng sử dụng ổ đĩa cứng, tình trạng sử dụng bộ nhớ trong

và swap, số tiến trình đang chạy, các tệp log hệ thống

- Giám sát các thông số an toàn thiết bị phần cứng trên host như: nhiệt độCPU, tốc độ quạt, pin, giờ hệ thống…

- Giám sát các thiết bị mạng có IP như router, switch và máy in Với Router,Switch, Nagios có thể theo dõi được tình trạng hoạt động, trạng thái bật tắt củatừng cổng, lưu lượng băng thông qua mỗi cổng, thời gian hoạt động liên tục(Uptime) của thiết bị

- Cảnh báo cho người quản trị bằng nhiều hình thức như email, tin nhắn tứcthời (IM), âm thanh… nếu như có thiết bị, dịch vụ gặp trục trặc

- Tổng hợp, lưu giữ và báo cáo định kỳ về tình trạng hoạt động của mạng

Đặc điểm của Nagios:

Trang 33

Các hoạt động kiểm tra được thực hiện bởi các plugin cho máy phục vụnagios và các module client trên các thiết bị người dùng cuối, nagios nhận cácthông tin từ plugin và xử lý các thông tin đó.

 Các plugin được thiết kế đơn giản và phát triển theo nhu cầu riêng bằng các ngônngữ lập trình như php, perl, C # …

 Có thể kiểm tra nhiều dịch vụ một lúc

 Không nhận dạng được topo mạng, người dùng phải khai báo toàn bộ thiết bị, dịch

vụ muốn giám sát

 Thông báo cho người quản trị khi có sự cố

 Giao diện web, trực quan, dễ sử dụng

Ưu điểm của Zabbix:

 Giám sát cả Server và thiết bị mạng

 Dễ dàng thao tác và cấu hình

 Hỗ trợ máy chủ Linux, Solaris, FreeBSD …

 Đáng tin cậy trong việc chứng thực người dùng

 Linh hoạt trong việc phân quyền người dùng

 Giao diện web đẹp mắt -> Giao diện web dễ sử dụng

 Thông báo sự cố qua email và SMS

 Biểu đổ theo dõi và báo cáo

 Mã nguồn mở và chi phí thấp

Nhược điểm của Zabbix:

 Không có giao diện web mobile hỗ trợ

 Không phù hợp với hệ thống mạng lớn hơn 1000+ node thiết bị client cầngiám sát Lúc này phát sinh vấn đề hiệu suất về PHP và Database

 Thiết kế template/alerting rule đôi khi khá phức tạp

Trang 34

Chính sách bản quyền: Phần mềm cung cấp phiên bản miễn phí, hỗ trợ các

hệ thống nhỏ và cả các hệ thống doanh nghiệp.

Ưu điểm: Phần mềm được cung cấp miễn phí, hỗ trợ nhiều tùy chọn giao

diện quản trị Web Phần mềm cài đặt dễ dàng, hỗ trợ tốt hệ điều hành Linux Giao

diện quản trị Web thân thiện, dễ sử dụng cho người dùng lần đầu Tương thích vớicác phần mềm hỗ trợ của Nagios

Nhược điểm: Phần mềm không cung cấp nhiều tùy chọn hiển thị thông tin

giám sát bằng đồ thị.

1.4.4 Hệ thống giám sát mã nguồn mở OpenNMS

OpenNMS là ứng dụng quản lý hệ thống mạng (Enterprise Grade NetworkManagement Application), được phát triển dựa trên nền tảng mã nguồn mở

Dự án OpenNMS (OpenNMS project) được bắt đầu vào tháng 7 – 1999, đây

là ứng dụng có khả năng mở rộng cho tất cả các khía cạnh của mô hình quản lýmạng FCAPS, có thể coi OpenNMS là nền tảng cho cả phần mềm miễn phí, mãnguồn mở và cả ứng dụng thương mại

OpenNMS có thể quản lý trên 10 000 thiết bị, có thể đáp ứng hầu hết mọinhu cầu của việc quản lý mạng quy mô lớn, với khả năng nâng cấp và mở rộng linhhoạt, tích hợp các giải pháp quản lý trong một

Thông tin tổng quan:

Trang 35

• License: GNU General Public License

• Ngôn ngữ phát triển: Java, JSP

• Dao diện quản lý: Web-based

• Database: JDBC, PostgreSQL

• Hệ điều hành: Có thể chạy độc lập trên mọi hệ điều hành, các nền tảng x86

và x64, bao gồm Linux, Solaris, Mac OS X, Microsoft Windows, FreeBSD

• Website: http://opennms.org

1.5 Kết luận

Chương 1 đã trình bày một cách chi tiết, rõ ràng về tổng quan hệ thống giámsát an ninh mạng Cụ thể đã trình bày được những nội dung sau:

- Giới thiệu hệ thống giám sát an ninh mạng

- Thành phần của hệ thống giám sát an ninh mạng

- Giao thức quản trị mạng đơn giản SNMP

- Giới thiệu một số hệ thống giám sát an ninh mạng mã nguồn mở

Trang 36

CHƯƠNG 2: HỆ THỐNG GIÁM SÁT AN NINH MẠNG SỬ DỤNG PHẦN

MỀM MÃ NGUỒN MỞ OPENNMS 2.1 Giới thiệu về OpenNMS

OpenNMS là một nền tảng quản lý mạng mã nguồn mở được thiết kế để xâydựng các giải pháp giám sát mạng Dự án OpenNMS được bắt đầu vào tháng7/1999, đây là nền tảng có khả năng mở rộng cho tất các các khía cạnh của mô hìnhquản lý FCAPS; có thể quản lý trên 10.000 thiết bị và đáp ứng nhu cầu quản lýmạng quy mô lớn với khả năng nâng cấp, mở rộng, tích hợp linh hoạt Việc thu thậpcác dữ liệu trong hệ thống mạng được sử dụng thông qua nhiều cách thức nhưJMX, WMI, SNMP, NRPE, XML HTTP, JDBC, XML, JSON…

Giải pháp tích hợp chức năng báo cáo, người dùng có thể xem các báo cáotrong giao diện bảng điều khiển và biểu đồ hiển thị Bên cạnh đó, OpenNMS có thểthu thập thông tin lớp 2 để xem xét cấu trúc liên kết trong hệ thống mạng Nó đượcxây dựng trên kiến trúc hướng sự kiện và hỗ trợ Grafana (một nền tảng để xây dựngcác analystics và monitoring)

2.1.1 Thông tin cơ bản

- License: GNU General Public License

- Ngôn ngữ phát triển: Java, JSP

- Giao diện quản lý: Web-based

- Database: JDBC, PostgreSQL

- Hệ điều hành: Có thể chạy độc lập trên mọi hệ điều hành, các nền tảngx86 và x64, bao gồm Linux, Solaris, Mac OS X, Microsoft Windows,FreeBSD

- Website: http://opennms.org

2.1.2 Khả năng quản lý

- Cơ sở hạ tầng (thiết bị chuyển mạch, bộ định tuyến, UPS)

- Lưu trữ (SAN, NAS)

- Cảm biến môi trường, PDU

- Thiết bị Telco (mạng TDM, 3G / GSM)

- Bất cứ điều gì có địa chỉ IP

Trang 37

2.1.3 Khả năng linh hoạt, dễ dàng mở rộng

- Được xây dựng dựa trên cơ sở mã GPLv2 (Giấy phép công cộng chung GNUv2), Java

- Sử dụng các thư viện rộng rãi

- Không giới hạn trong các ứng dụng khác

- Khả năng mở rộng hệ thống tốt

- Khả năng bảo trì dễ dàng

- Các kiến trúc được quyết định bởi yêu cầu quy mô rất lớn

2.1.4 Đa dạng về giao thức thu thập dữ liệu

- SNMP (Simple Network Management Protocol)

- HTTP (HyperText Transfer Protocol)

- JMX (Kết quả tìm kiếm)

- Kết quả tìm kiếm trên web

- Java Management Extensions

- NSClient

- XMP

2.1.5 Dịch vụ giám sát (tùy chọn lưu trữ thời gian đáp ứng)

- Đơn giản: ICMP Ping, HTTP GET

- Trung bình: Xử lý qua SNMP

- Nâng cao

- Trình tự trang

- Vận chuyển thư

2.1.6 Quản lý các sự kiện trong mạng

- Internal – Nội bộ: Một dịch vụ đã được tìm thấy bị ngừng hoạt động

- External – Bên ngoài: Bẫy SNMP, Syslog, TL1

- Custom – Tùy chỉnh: Các sự kiện được định dạnh XML qua TCP

- Event optionally – Các sự kiện tùy chọn được sao chép lại thành các bản sao

để báo động với mỗi thuộc tính đếm số trên mạng

2.2 Thành phần, kiến trúc của OpenNMS

OpenNMS có khả năng nhận biết các sự kiện, bất thường trong mạng và đưa

ra cảnh báo tức thì cho quản trị viên dựa vào các thông điệp được gửi từ agent đếntrung tâm quản lý (SNMP Trap) nhận được từ các thiết bị trong mạng Đơn vị quản

lý cơ bản nhất trong OpenNMS là Interface, mỗi Interface đại diện cho một phần

Trang 38

(element) trong mạng, các Interface được phân biệt bằng địa chỉ IP nên chúng sẽ làduy nhất Trong trường hợp có nhiều Interface được phát hiện trên cùng một thiết

bị, các Interface này sẽ được gom thành nhóm và gọi là các nút (node)

Việc thu thập các sự kiện trong OpenNMS gồm 2 quá trình thăm dò là tìm vàthu thập IP của thiết bị, sau đó là nhận biết các dịch vụ được hỗ trợ bởi thiết bị đó.OpenNMS sử dụng giao thức SNMP để thăm dò và thu thập thông tin của các thiết

bị trong hệ thống mạng Một trong các đặc tính quan trọng của giải pháp là nó cóthể hoạt động theo cách phân cấp và có thể giám sát nhiều dịch vụ như ICMP,SNMP, FTP, HTTP, SMTP, DNS, MySQL, IMAP, POP3, DHCP… Trong thực tế,giải pháp thường được triển khai phân tán như hình dưới đây:

Hình 2.11: OpenNMS dưới dạng kiến trúc của SNMP

OpenNMS chứa một tập các tiến trình chạy nền cho các trường hợp sử dụng

cụ thể trong quản lý mạng Kiến trúc OpenNMS được mô tả chi tiết bao gồm:

Ngày đăng: 20/04/2022, 10:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thanh Diệp, “Giáo trình SNMP toàn tập”, 2010 Sách, tạp chí
Tiêu đề: Giáo trình SNMP toàn tập”
[2] Nguyễn Ngọc Điệp, “Kỹ thuật theo dõi, giám sát an toàn mạng”, 2015 Sách, tạp chí
Tiêu đề: Kỹ thuật theo dõi, giám sát an toàn mạng
[3] Khánh Linh, “Ứng dụng OpenNMS trong giám sát an ninh mạng”, tạp chí an toàn thông tin, 2021 Sách, tạp chí
Tiêu đề: “Ứng dụng OpenNMS trong giám sát an ninh mạng”
[4] Đỗ Quang Trung, Lê Thị Bích Hằng, “Bài tập thực hành Bảo mật các dịch vụ mạng”, 2019Tiếng Anh Sách, tạp chí
Tiêu đề: “Bài tập thực hành Bảo mật các dịchvụ mạng”
[1] Richard Bejtlich, “The Practice of Network Security Monitoring”, No Starch Press, Inc., 2013 Sách, tạp chí
Tiêu đề: “The Practice of Network Security Monitoring”

HÌNH ẢNH LIÊN QUAN

− Giáo viên ghi bảng: con chồn - Hệ thống giám sát OpenNMS
i áo viên ghi bảng: con chồn (Trang 2)
Hình 1.3: Mối quan hệ giữa NMS và Agent - Hệ thống giám sát OpenNMS
Hình 1.3 Mối quan hệ giữa NMS và Agent (Trang 18)
Hình 1.4: Mô hình trao đổi giữa NMS và Agent - Hệ thống giám sát OpenNMS
Hình 1.4 Mô hình trao đổi giữa NMS và Agent (Trang 20)
Hình 1.5: Mô hình hoạt động của SNMP 1.3.5.1. Get - Hệ thống giám sát OpenNMS
Hình 1.5 Mô hình hoạt động của SNMP 1.3.5.1. Get (Trang 22)
Hình 1.7: Sơ đồ đường đi OID 1.3.5.3. Get-bulk - Hệ thống giám sát OpenNMS
Hình 1.7 Sơ đồ đường đi OID 1.3.5.3. Get-bulk (Trang 24)
Bảng 1.4: Các kiểu Trap - Hệ thống giám sát OpenNMS
Bảng 1.4 Các kiểu Trap (Trang 30)
Hình 2.11: OpenNMS dưới dạng kiến trúc của SNMP - Hệ thống giám sát OpenNMS
Hình 2.11 OpenNMS dưới dạng kiến trúc của SNMP (Trang 38)
Hình 2.12: Kiến trúc của OpenNMS - Hệ thống giám sát OpenNMS
Hình 2.12 Kiến trúc của OpenNMS (Trang 39)
Hình 2.13: OpenNMS tìm và hiển thị các Interface trong mạng - Hệ thống giám sát OpenNMS
Hình 2.13 OpenNMS tìm và hiển thị các Interface trong mạng (Trang 42)
Hình 2.14: Các sự kiện xảy ra trong hệ thống - Hệ thống giám sát OpenNMS
Hình 2.14 Các sự kiện xảy ra trong hệ thống (Trang 44)
Hình 2.15: Minh họa về cơ chế xử lý sự kiện trong OpenNMS 2.3.3. Quản lý hiệu năng hệ thống - Hệ thống giám sát OpenNMS
Hình 2.15 Minh họa về cơ chế xử lý sự kiện trong OpenNMS 2.3.3. Quản lý hiệu năng hệ thống (Trang 45)
Hình 2.16: Báo cáo về thời giam hồi đáp ICMP của một node 2.3.6. Giao diện quản lý - Hệ thống giám sát OpenNMS
Hình 2.16 Báo cáo về thời giam hồi đáp ICMP của một node 2.3.6. Giao diện quản lý (Trang 47)
hạn chế. Các đặc điểm trên phiên bản có phí và miễn phí được thể hiện trong bảng 2.5: - Hệ thống giám sát OpenNMS
h ạn chế. Các đặc điểm trên phiên bản có phí và miễn phí được thể hiện trong bảng 2.5: (Trang 49)
3.1. Mô hình triển khai - Hệ thống giám sát OpenNMS
3.1. Mô hình triển khai (Trang 52)
Hình 3.19: Màn hình đăng nhập OpenNMS - Hệ thống giám sát OpenNMS
Hình 3.19 Màn hình đăng nhập OpenNMS (Trang 54)

TỪ KHÓA LIÊN QUAN

w