Ứng dụng OpenNMS trong giám sát an ninh mạng (phần 1)

07:45 | 06/08/2021

Phát triển công nghệ mở phục vụ chuyển đổi số, triển khai chính phủ điện tử là một định hướng quan trọng của chiến lược phát triển trong những năm tới đây của các Bộ, Ban, Ngành. Một phần quan trọng trong phát triển công nghệ mở là phát triển, sử dụng các giải pháp mã nguồn mở. Việc xây dựng, triển khai hệ thống giám sát an ninh mạng tại các tổ chức, doanh nghiệp cũng nên xem xét các giải pháp mã nguồn mở như OpenMNS, Zabbix, Spunk,... để ứng dụng hiệu quả cho các hệ thống mạng.

Đôi nét về OpenNMS

OpenNMS là một nền tảng quản lý mạng mã nguồn mở được thiết kế để xây dựng các giải pháp giám sát mạng. Dự án OpenNMS được bắt đầu vào tháng 7/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ình quả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ập cá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áo trong 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 layer 2 để xem xét cấu trúc liên kết trong hệ thống mạng. Nó được xâ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ựng các analystics và monitoring).

Hình 1. Giao diện hiển thị bảng điều khiển OpenNMS [1]

Một số tính năng cơ bản của OpenNMS

OpenNMS được thiết kế để xây dựng giải pháp giám sát mạng với các tính năng cơ bản như sau:

- Tự động tìm kiếm các thiết bị trong mạng và các dịch vụ đang hoạt động. Bằng cách ping theo các dải địa chỉ định trước, OpenNMS tự động tìm ra các thiết bị đang hoạt động. Sau 24 giờ, quá trình được lặp lại để tìm những thiết bị mới được thêm vào hệ thống.

- Thu thập các số liệu hiệu suất từ những tiêu chuẩn ngành như SNMP, WMI và XMP, bằng cách sử dụng những trình thu thập chung có thể tùy chỉnh như HTTP và JSON.

- Giám sát hiệu năng hoạt động của từng thiết bị trong hệ thống mạng và phát hiện các dịch vụ bị ngừng hoạt động theo thời gian thực. OpenNMS cung cấp các thông số về thông lượng vào/ra, thời gian hoạt động, thời gian gián đoạn của thiết bị, dịch vụ và ghi lại vào cơ sở dữ liệu.

- Có thể được mở rộng cho các framework thu thập dữ liệu hiệu suất khác.

- Giám sát, phát hiện các bất thường xảy ra trong mạng với từng địa chỉ IP bằng quá trình thăm dò. Nếu trong quá trình thăm dò, một dịch vụ nào đó không đáp ứng lại thì hệ thống sẽ tạo ra sự kiện tương ứng và thông báo cho người quản trị. Nếu một thiết bị nào đó trong phạm vi liên kết mà không thể kết nối tới, thì hệ thống xác định đã xảy ra một sự cố trong mạng.

- Đo độ trễ và thông báo khi vượt quá giới hạn - ngưỡng cho quản trị hệ thống qua các kênh truyền tải thông tin như Email, thông báo lên màn hình quản trị.

- Người dùng có thể đặt nhiều mức giám sát khác nhau, tùy theo các thiết bị cần theo dõi. Hệ thống cũng hỗ trợ việc tạo báo cáo tổng hợp theo sự tuỳ chỉnh của người sử dụng.

- RestAPI giúp dễ dàng tích hợp OpenNMS vào cơ sở hạ tầng hiện tại của tổ chức, doanh nghiệp.

Kiến trúc của OpenNMS

Việc tích hợp giải pháp giám sát phức tạp hơn trong phần mềm mã nguồn mở yêu cầu kiến trúc module và một hệ thống API vững chắc. OpenNMS cung cấp nền tảng mã nguồn mở dựa trên JAVA. Việc phát triển và thiết kế OpenNMS tuân theo nguyên tắc FCAPS. Nó xác định các chức năng tiêu chuẩn của các ứng dụng quản lý mạng, bao gồm:

- Quản lý lỗi (Fault management);

- Quản lý cấu hình (Configuration management);

-  Quản lý kiểm toán( Accounting management);

- Quản lý hiệu suất (Performance management);

- Quản lý bảo mật (Security management);

Tập các daemon hỗ trợ quản lý lỗi, quản lý cấu hình và quản lý hiệu suất. Để thực hiện các trường hợp sử dụng khác nhau trong quản lý mạng, OpenNMS chứa một tập các daemon cho các trường hợp sử dụng cụ thể trong quản lý mạng. OpenNMS được thiết kế trên kiến trúc hướng sự kiện bao gồm các thành phần như Hình 2.


Hình 2.Kiến trúc của OpenNMS [1]

Các thành phần trong kiến trúc OpenNMS sẽ được trình bày tại phần 2 của bài viết này.

OpenNMS và một số giải pháp giám sát an toàn thông tin

OpenNMS được các chuyên gia đánh giá có những ưu điểm nổi bật như:  Hoạt động được trên đa nền tảng hệ điều hành như Linux, Windows, Solaris và OSX; Người dùng có thể tuỳ chỉnh được bảng điều khiển, xem báo cáo nhờ sự hỗ trợ của các giải pháp như Grafana; Có khả năng giám sát nhiệt độ thiết bị, việc cung cấp điện năng cho thiết bị; Hỗ trợ IPv4 và IPv6; Cảnh báo qua Email, SMS, XMPP và nhiều phương thức khác; Bản đồ nút địa lý để hiển thị các nút và ngừng dịch vụ bằng Open Street Map, Google Maps hoặc MapQuest.

Bên cạnh đó, OpenNMS được phát triển với cấu trúc phân tán và các module độc lập nên có thể phát triển riêng từng module để đáp ứng nhu cầu của nhà quản trị. Các tiến trình trong hệ thống được giao tiếp thông qua cơ chế gửi thông báo nên có thể chạy độc lập trên các máy khác nhau.

OpenNMS có thể giám sát mạng diện rộng với hàng nghìn thiết bị, tùy theo nhu cầu quản trị và cấu hình của máy chủ. Các dịch vụ cần thăm dò có thể thêm vào độc lập với mã nguồn của các lớp trên do kiến trúc nhiều lớp của OpenNMS.

Tuy nhiên, việc triển khai cấu hình và triển khai hệ thống của OpenNMS khá phức tạp. Mặc dù là mã nguồn mở, nhưng OpenNNMS hiện có hai phiên bản Meridian (có tính phí) và Horizon (miễn phí); với phiên bản Meridian việc cập nhật và hỗ trợ sẽ được thường xuyên hơn, trong khi đó với phiên bản Horizon việc cập nhật sẽ bị 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 1.

BẢNG 1: SO SÁNH TÍNH NĂNG HAI PHIÊN BẢN CỦA OPENNMS

Để có cái nhìn rõ hơn, tác giả thực hiện so sánh giải pháp OpenNMS và Cacti (Bảng 2). Cacti là một trong những giải pháp nổi tiếng trong phần mềm giám sát mạng mã nguồn mở. Nó có thể được cài đặt trên hệ điều hành Linux hoặc Windows; cho phép nhiều người dùng đăng nhập dữ liệu mạng và giám sát các thiết bị mạng. Nền tảng này cung cấp quản lý cài đặt quyền riêng tư mở rộng để xác định các kiểu người dùng khác nhau với các cấp độ truy cập khác nhau.

BẢNG 2: SO SÁNH GIẢI PHÁP OPENNMS VÀ CACTI [2]

Bên cạnh đó, khi so sánh các tính năng với một số giải pháp giám sát an ninh mạng khác, OpenNMS thể hiện nhiều ưu điểm như hình dưới đây:

Hình 3. So sánh tính năng các giải pháp giám sát mạng [3]

Kết luận

Với những tính năng của giải pháp mang lại thì OpenNMS vẫn luôn là một trong các giải pháp mã nguồn mở được các tổ chức, doanh nghiệp lựa chọn trong xây dựng các hệ thống giám sát an ninh mạng hiện nay. Bên cạnh đó, với hai phiên bản Meridian và Horizon, khi triển khai trong hệ thống mạng thì tổ chức, doanh nghiệp cần nghiên cứu, lựa chọn giải pháp, mô hình triển khai phù hợp với từng hệ thống và nhu cầu của đơn vị.

Tài liệu tham khảo

[1] https://www.opennms.com/

[2] https://www.getapp.com/it-management-software/a/opennms/compare/cacti/

[3] https://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems