Trong bối cảnh các mối đe dọa an ninh mạng ngày càng gia tăng, việc triển khai hệ thống phát hiện xâm nhập là bước quan trọng để bảo vệ hạ tầng mạng hiệu quả. Bài viết hướng dẫn cấu hình Suricata (IDS) trên OPNsense một cách chi tiết, giúp bạn dễ dàng kích hoạt, thiết lập rules và theo dõi cảnh báo ngay trên giao diện quản trị của OPNsense.
Tổng quan về OPNsense
OPNsense là một nền tảng tường lửa mã nguồn mở miễn phí, được xây dựng dựa trên FreeBSD, cung cấp các tính năng cấp doanh nghiệp như phát hiện và ngăn chặn xâm nhập (IDS/IPS), hỗ trợ VPN (OpenVPN, WireGuard), và điều khiển lưu lượng (traffic shaping) thông qua giao diện web thân thiện với người dùng.
OPNsense được phát triển bởi Deciso và được tách nhánh (fork) từ pfSense vào năm 2015 nhằm cung cấp giao diện hiện đại hơn, được cập nhật thường xuyên hơn và tập trung mạnh vào bảo mật. Dự án này nổi tiếng với chu kỳ phát triển nhanh (các bản phát hành lớn mỗi 6 tháng) và sự chú trọng mạnh mẽ vào vấn đề bảo mật.
Tổng quan về Suricata
Suricata là một công cụ phát hiện mối đe dọa mạng hiệu năng cao, mã nguồn mở, có thể hoạt động như Hệ thống phát hiện xâm nhập (IDS), Hệ thống ngăn chặn xâm nhập (IPS) và công cụ giám sát an ninh mạng (NSM).
Được phát triển bởi Open Information Security Foundation (OISF), Suricata sử dụng các quy tắc dựa trên chữ ký (signature-based rules), kiểm tra sâu gói tin (Deep Packet Inspection) và xử lý đa luồng (multi-threading) để phân tích lưu lượng mạng, phát hiện mã độc và chặn các cuộc tấn công theo thời gian thực.
Hiện nay, Suricata được sử dụng bởi nhiều nhà cung cấp thương mại và các dự án mã nguồn mở, từ các hệ thống triển khai tại chỗ (on-premises) cho đến các nhà cung cấp dịch vụ đám mây như Amazon Web Services và nhiều nền tảng khác. Suricata được tích hợp như là một plugin có thể triển khai trong OPNsense, người quản trị có thể bật IDS/IPS, cập nhật ruleset, theo dõi alert và tùy chỉnh quy tắc thông qua giao diện web, giúp tăng cường khả năng bảo vệ mạng trước các mối đe dọa.
Các bước cấu hình Suricata (IDS) trên OPNsense
Vào OPNsense WEB GUI chọn Services → Intrusion Detection → Administration:
Màn hình Settings xuất hiện:
Chọn Enabled ở phần Settings:
Chọn Interface mà IDS sẽ listen:
Trong dòng Pattern matcher, có các tùy chọn lựa chọn khác nhau. Hãy chọn Hyperscan cho các hệ thống Intel và Aho-Corasick, biến thể "Ken Steele" cho các hệ thống AMD:
Các option tùy chọn về logging:
Enable syslog alerts: Gửi các alert (cảnh báo IDS) vào system log của OPNsense.
Enable eve syslog output: Gửi log IDS dạng EVE JSON format sang syslog.
Rotate log: Thiết lập chu kỳ xoay log (log rotation).
Save logs: Số lượng file log cũ được giữ lại.
Nhấn Apply sau khi thực hiện các tùy chọn:
Chuyển qua tab Download:
Cần cập nhật các ô checkbox cho những rule mong muốn, sau đó nhấn vào ‘Enable selected':
Kéo thanh cụ xuống bên dưới và chọn Download & Update Rules:
Rules sau khi download thành công:
Chuyển qua tab Rules, tab này sẽ liệt kê tất cả các quy tắc đã được tải xuống một cách chi tiết:
Tùy chọn ở tab User defined có thể được sử dụng để người dùng có thể tự định nghĩa (tạo) các quy tắc của riêng mình. Ấn vào dấu + để thêm rule:
Tab Alert sẽ liệt kê tất cả các cảnh báo của IDS/IPS. Các cảnh báo sẽ được hiển thị tại đây:
Ngoài ra, IDS còn có mục Schedule có thể tạo các cronjob để cập nhật định kỳ các bộ quy tắc (rules). Đây là một bước khá quan trọng, vì các quy tắc cần được cập nhật thường xuyên để đảm bảo khả năng bảo vệ trước các cuộc tấn công.
Giao diện web của OPNsense sẽ chuyển từ menu IDS sang System → Settings → Cron và hiển thị một mẫu cronjob để cập nhật các quy tắc IDS. Hãy điều chỉnh các thiết lập theo nhu cầu và đánh dấu chọn (enable) để kích hoạt:
Nhấp vào Apply. Cronjob bây giờ đã được kích hoạt và hoạt động:
Như vậy là đã hoàn thành các bước để triển khai Suricata trên OPNsense bằng việc thêm các rule cần thiết cho công cụ IDS và thiết lập schedule để các rule có thể chạy một cách định kỳ.
Kiểm thử chức năng IDS của Suricata trên OPNsense
Nmap (Network Mapper) là một công cụ miễn phí và mã nguồn mở dùng để khám phá mạng, kiểm tra bảo mật và quản lý tài sản mạng. Nó gửi các gói IP thô (raw IP packets) để xác định các máy chủ đang hoạt động, các cổng đang mở, các dịch vụ đang chạy, hệ điều hành và cấu hình tường lửa. Công cụ này được các chuyên gia bảo mật sử dụng để tìm lỗ hổng, quét mạng và kiểm tra các cơ chế bảo mật. Để kiểm thử chức năng IDS của Suricata trên OPNsense, ta sẽ sử dụng lệnh như sau tới interface WAN của Firewall:
nmap -A <IP_WAN>
Trên giao diện WEB GUI của OPNsense, thực hiện tải rulesets ET open/emerging-scan:
Đảm bảo Rule ET Scan Possible Nmap User-Agent Observed được enabled:
Ở một máy chạy hệ điều hành Ubuntu 22.04 đã cài đặt Nmap chạy lệnh Nmap tới IP WAN của Firewall OPNsense, tiến hành theo dõi alert ở tab Alerts trên giao diện:
Trên tab Alerts trên OPNsense WEB GUI đã hiện cảnh báo khi một máy ngoài chạy lệnh Nmap tới cổng WAN của firewall. Như vậy chức năng IDS của Suricata đã được kiểm thử thành công.
Có thể nói, cấu hình Suricata (IDS) trên OPNsense là một giải pháp hiệu quả giúp nâng cao khả năng giám sát và phát hiện sớm các mối đe dọa an ninh mạng. Với các bước cấu hình cơ bản, cập nhật rules định kỳ và kiểm thử thực tế, quản trị viên có thể chủ động tăng cường lớp bảo vệ cho hệ thống mạng một cách linh hoạt và dễ dàng.
#CloudWave Radar
#CloudWave Radar
Chúng tôi có 4 môi trường staging, 2 môi trường production, hàng chục microservice và rất nhiều phiên bản thử nghiệm. Lúc đầu dùng VPS tưởng là đủ, nhưng rồi mỗi lần cập nhật code là một lần lo… không biết lần này ‘tháo’ có làm hỏng cái gì không?