Giới thiệu dự án

Trong bối cảnh bùng nổ của các cuộc tấn công không gian mạng có chủ đích (APT), mã độc tống tiền (Ransomware) và khai thác lỗ hổng Zero-day, các trung tâm điều hành an ninh mạng (SOC - Security Operation Center) đối mặt với áp lực chưa từng có. Theo các báo cáo an toàn thông tin toàn cầu, trung bình một doanh nghiệp quy mô vừa phải tiếp nhận từ 10.000 đến hơn 100.000 sự kiện bảo mật mỗi ngày. Sự phân tán của nhật ký (log) trên nhiều nền tảng không đồng nhất (Linux, Windows, Router, Tường lửa) dẫn đến hiện tượng quá tải cảnh báo (Alert Fatigue), khiến thời gian phát hiện (MTTD - Mean Time to Detect) và thời gian phản hồi (MTTR - Mean Time to Respond) trung bình kéo dài từ vài giờ đến hàng tuần nếu xử lý thủ công.

Vấn đề cốt lõi đặt ra là: Làm thế nào để xây dựng một kiến trúc hợp nhất có khả năng thu thập, chuẩn hóa, tương quan dữ liệu thời gian thực, đồng thời tự động hóa quy trình phân tích và phản ứng với các sự cố bảo mật mà không phụ thuộc vào các giải pháp thương mại đắt đỏ?

Đề tài "Triển khai giải pháp SIEM-SOAR cho việc phân tích và phản hồi sự cố an toàn thông tin" (Khoa Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM) được xây dựng nhằm giải quyết triệt để bài toán trên thông qua 4 mục tiêu trọng tâm:

  1. Xây dựng hệ thống SIEM (Security Information and Event Management) dựa trên nền tảng Wazuh v4.x để thu thập, phân tích và chuẩn hóa nhật ký đa nguồn tập trung.
  2. Triển khai kiến trúc SOAR (Security Orchestration, Automation and Response) kết hợp SIRP (Security Incident Response Platform - TheHive v4), TIP (Threat Intelligence Platform - Cortex v3) và công cụ tự động hóa N8N.
  3. Hiện thực hóa cơ chế phân tích thông minh và phản ứng chủ động (Active Response): Tích hợp làm giàu dữ liệu mối đe dọa (Threat Enrichment) với VirusTotal, AbuseIPDB và tự động hóa cách ly, ngăn chặn địa chỉ IP độc hại, xóa mã độc.
  4. Kiểm thử và đánh giá hiệu năng trên hệ thống mạng doanh nghiệp mô phỏng qua mạng riêng ảo ZeroTier VPN với 9 kịch bản tấn công thực tế.

Giải pháp mang lại kết quả có thể định lượng rõ rệt: Giảm thời gian phản ứng từ hàng chục phút xuống dưới 3 giây đối với các tấn công nguy hiểm, tự động hóa 100% quy trình làm giàu chỉ số nguy hại (IOC - Indicators of Compromise) và đồng bộ trạng thái giám sát toàn diện cho hệ thống.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Thị trường giám sát và ứng phó sự cố an ninh hiện nay phân hóa thành hai phân khúc rõ rệt: Các bộ giải pháp thương mại độc quyền và các giải pháp mã nguồn mở.

Tiêu chí IBM QRadar / Splunk Enterprise ServiceNow / Swimlane SOAR Giải pháp đề xuất (Wazuh + TheHive + Cortex + N8N)
Mô hình triển khai On-Premise / SaaS độc quyền SaaS / Cloud Enterprise On-Premise / Multi-Cloud linh hoạt
Chi phí bản quyền Rất cao (tính theo GB log/ngày hoặc EPS) Rất cao (tính theo User/Node) Mã nguồn mở (Tối ưu hóa TCO 100% license)
Khả năng tùy biến Phụ thuộc vào hệ sinh thái vendor Cần chuyên gia viết module riêng Toàn quyền kiểm soát Rule XML, Python script, Workflow JSON
Tích hợp Endpoint Yêu cầu license Agent riêng biệt Cần REST API của bên thứ ba HIDS/XDR tích hợp sẵn cơ chế Active Response đa nền tảng
Cộng đồng hỗ trợ Hạn chế trong nhóm khách hàng trả phí Tài liệu nội bộ hãng Cộng đồng Open-Source toàn cầu lớn mạnh

Hệ thống phân loại yêu cầu theo mô hình MoSCoW:

  • Must have (Bắt buộc): Thu thập log từ Ubuntu, Windows 10, Router; Chuẩn hóa log qua Decoder và kích hoạt Rule XML; Tự động đồng bộ cảnh báo sang TheHive; Khóa IP tấn công tự động qua Active Response.
  • Should have (Nên có): Tích hợp Threat Intelligence (AbuseIPDB, VirusTotal); Tự động gửi thông báo qua Email/Teams; Giám sát toàn vẹn tệp tin (FIM).
  • Could have (Có thể có): Giám sát NIDS tập trung bằng Snort; Phân tích đa luồng nhiều Observable cùng lúc qua Cortex.
  • Won't have (Chưa thực hiện): Áp dụng Machine Learning tự động sinh luật tương quan (dành cho hướng phát triển tiếp theo).

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo dạng module hóa phân tầng, đảm bảo tính sẵn sàng cao và dễ dàng mở rộng:

[ Endpoints: Windows 10 / Ubuntu / Router ] 
       (Port 1514/TCP: Syslog / Encrypted Agent Logs)

Thành phần công nghệ và giao thức

  • Wazuh Cluster (v4.x): Gồm Wazuh-Server (tiếp nhận log qua cổng 1514/TCP, quản lý Agent qua cổng 1515/TCP), Wazuh-Indexer (Elasticsearch-based phân tích toàn văn) và Wazuh-Dashboard trực quan hóa cảnh báo.
  • TheHive (v4.x): Tiếp nhận Alert dạng JSON, phân loại Case/Task, quản lý Observables (IP, Hash, URL) theo các vai trò RBAC (Admin, Analyst).
  • Cortex (v3.x): Khởi chạy các Analyzer (AbuseIPDB, CyberChef, CuckooSandbox) và Responder thông qua REST API.
  • N8N Automation Engine: Đóng vai trò cầu nối điều phối (Orchestrator), lắng nghe Webhook, xử lý logic JSON và gọi ngược lại REST API của Wazuh (Port 55000/TCP) để ra lệnh cho Wazuh-Agent thực thi lệnh phòng thủ.

Methodology

Dự án áp dụng phương pháp luận phát triển theo chu trình khép kín thích ứng (SecOps Agile Lifecycle), chia làm 4 giai đoạn rõ ràng:

  1. Thiết kế hạ tầng mạng ảo hóa: Kết nối các thực thể mạng qua ZeroTier VPN (Subnet: 10.0.0.0/24192.168.0.0/24).
  2. Xây dựng giải pháp SIEM: Cấu hình Wazuh Manager, triển khai Agent đa nền tảng và tối ưu hóa bộ luật local_rules.xml.
  3. Xây dựng chuỗi SOAR: Cấu hình TheHive, Cortex, tích hợp TheHive4py và thiết lập kịch bản tự động hóa Node-based trên N8N.
  4. Kiểm thử thực chiến (Red-Team/Blue-Team Scenario): Sử dụng Kali Linux mô phỏng các cuộc tấn công và đánh giá phản ứng của hệ thống.

Implementation và kết quả

Development process

Quá trình triển khai kỹ thuật tập trung vào việc chuẩn hóa luồng dữ liệu giữa SIEM và SOAR:

1. Xây dựng luật phân tích sự kiện tùy chỉnh (local_rules.xml)

Hệ thống sử dụng cú pháp XML chuẩn của Wazuh, kế thừa từ rule mặc định (<if_sid>) và phân biệt dải mạng Public/Private thông qua biểu thức chính quy PCRE2:

<group name="local,syslog,sshd,">
  <!-- Rule ID: 100003 - Phát hiện đăng nhập SSH thành công từ IP Public -->
  <rule id="100003" level="10" overwrite="yes">
    <if_sid>5715</if_sid>
    <match type="pcre2">\b(?!(10)|192\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))</match>
    <description>[KLTN][SSH] - Login successfully from Public IP address.</description>
    <group>authentication_success,pci_dss_10.5,nist_800_53_AC.7,</group>
  </rule>
</group>

2. Tích hợp chuyển tiếp cảnh báo Wazuh sang TheHive (custom-w2thive.py)

Sử dụng script Python trung gian khai thác thư viện thehive4py, trích xuất dữ liệu cảnh báo từ tệp /var/ossec/logs/alerts/alerts.json và chuyển đổi sang định dạng Case/Alert của TheHive:

#!/usr/bin/env python3
import json, sys
from thehive4py.api import TheHiveApi
from thehive4py.models import Alert, CustomFieldHelper

alert_file = sys.argv[1]
th_api = TheHiveApi('http://10.0.0.31:9000', 'YOUR_API_KEY_HERE')

with open(alert_file) as f:
    alert_json = json.load(f)

# Phân loại mức độ nghiêm trọng dựa trên Rule Level
severity = 1
if alert_json['rule']['level'] >= 10:
    severity = 3
elif alert_json['rule']['level'] >= 7:
    severity = 2

# Trích xuất Observables tự động
artifacts = []
if 'srcip' in alert_json.get('data', {}):
    artifacts.append({'dataType': 'ip', 'data': alert_json['data']['srcip']})

alert = Alert(
    title=f"[SIEM-Alert] {alert_json['rule']['description']}",
    tlp=2,
    severity=severity,
    type='wazuh_alert',
    source='wazuh',
    sourceRef=alert_json['id'],
    description=alert_json.get('full_log', ''),
    artifacts=artifacts
)
th_api.create_alert(alert)

3. Cấu hình kịch bản Active Response chặn IP độc hại

Khi phát hiện tấn công Web (ShellShock CVE-2014-6271 hoặc SQL Injection), Wazuh kích hoạt script firewall-drop trên Agent thông qua cấu hình ossec.conf:

<command>
  <name>firewall-drop</name>
  <executable>firewall-drop</executable>
  <timeout_allowed>yes</timeout_allowed>
</command>

<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>100015,100020</rules_id>
  <timeout>600</timeout>
</active-response>

Testing và validation

Hệ thống được thử nghiệm toàn diện qua 9 kịch bản tấn công điển hình từ máy tấn công Kali Linux:

STT Kịch bản thử nghiệm Mục tiêu kiểm thử Cơ chế phát hiện & Phản hồi Kết quả đo lường
1 SSH Brute Force Public WebServer WebServer (20.0.0.99) Rule 100012 kích hoạt; Đẩy Alert sang TheHive Bắt trọn 100% attempts; Alert tạo trong < 1.1s
2 RDP Brute Force Endpoint Windows 10 Client Rule 0580-win-security phát hiện Event ID 4625 Tạo Case trên TheHive kèm IP nguồn
3 File Integrity Monitoring (FIM) Thư mục nhạy cảm Windows syscheck quét thời gian thực (Create/Modify/Delete) Phát hiện sai khác hash MD5/SHA256 tức thì
4 Khai thác ShellShock (CVE-2014-6271) Local WebServer (192.168.1.10) Rule Web nhận diện payload; Active Response kích hoạt Drop IP tại iptables trong 1.8s; Ping ICMP ngắt hoàn toàn
5 SQL Injection WebApp Public WebServer (20.0.0.99) Phân tích URL Payload; Active Response ngắt kết nối Chặn IP tấn công 600s; Tự phục hồi sau timeout
6 Malware Download (eicar.com) Public WebServer Wazuh FIM + Tích hợp API VirusTotal Tự động xóa tệp độc trong 2.4s sau khi có kết quả Hash
7 Giám sát mối đe dọa mạng nội bộ Toàn hệ thống NIDS Snort trên Router đẩy log về SIEM Phân loại đúng traffic bất thường
8 Làm giàu dữ liệu IP độc tự động CTI AbuseIPDB N8N chuyển Observable sang Cortex Analyzer Xuất báo cáo điểm danh tiếng IP về Email SOC
[ Hiệu năng thực nghiệm ]
- Thời gian phát hiện trung bình (MTTD): 1.12 giây
- Thời gian phản hồi ngăn chặn (MTTR): 2.15 giây
- Tỷ lệ phát hiện chính xác (Accuracy): 99.2% trên toàn bộ tập test kịch bản
- Độ trễ luồng điều phối N8N: ~350ms/giao dịch

Kết quả đạt được

Hệ thống đã hoàn thành 100% các yêu cầu kỹ thuật đề ra:

  • Xây dựng thành công hệ sinh thái giám sát an ninh toàn diện gồm 4 máy chủ/máy khách kết nối ổn định qua VPN.
  • Xử lý mượt mà lưu lượng log thử nghiệm với thông lượng trung bình 500 EPS (Events Per Second) mà không gây tắc nghẽn tài nguyên trên máy chủ SIEM (CPU duy trì < 45%, RAM < 6GB).
  • Tự động hóa hoàn toàn quy trình: Phát hiện (Wazuh) -> Tạo Case (TheHive) -> Đánh giá đe dọa (Cortex) -> Phản ứng ngăn chặn (Active Response/N8N) -> Thông báo (Email).

Đổi mới và đóng góp

  1. Kiến trúc SIEM-SOAR mã nguồn mở tối ưu hóa: Khắc phục nhược điểm rời rạc của các công cụ đơn lẻ bằng cách kết hợp sức mạnh phân tích sâu của Wazuh với khả năng quản trị Case chuyên nghiệp của TheHive và bộ máy tự động hóa linh hoạt N8N.
  2. Cơ chế phản ứng động đa tầng: Không dừng lại ở việc gửi cảnh báo tĩnh (Passive Alerting), hệ thống triển khai cơ chế cách ly tức thời tại tầng mạng (iptables, Windows Firewall) kết hợp xử lý mã độc mức tệp tin dựa trên Threat Intelligence thời gian thực.
  3. Giảm thiểu cảnh báo giả (False Positive Reduction): Ứng dụng kỹ thuật cấu hình Rule nhiều lớp (if_sid, if_matched_sid, regular expression filtering) giúp chuẩn hóa dữ liệu, nhóm các cảnh báo liên quan vào cùng một sự cố duy nhất (Case Consolidation), giảm hơn 80% số lượng thông báo rác gửi đến kỹ sư SOC.

Ứng dụng thực tế và triển khai

Yêu cầu hệ thống và Triển khai

Để triển khai giải pháp trong môi trường doanh nghiệp quy mô vừa (50-200 endpoints), cấu hình khuyến nghị như sau:

Thành phần Máy chủ SIEM (Wazuh Cluster) Máy chủ SOAR (TheHive + Cortex + N8N)
Hệ điều hành Ubuntu Server 22.04 LTS (64-bit) Ubuntu Server 22.04 LTS (64-bit)
CPU / vCPU 8 Cores (Tối thiểu 4 Cores) 4 Cores
RAM 16 GB (Dành cho Elasticsearch Indexer) 8 GB
Lưu trữ (Disk) 200 GB SSD (NVMe khuyến nghị) 100 GB SSD
Mạng 1 Gbps NIC 1 Gbps NIC

Lộ trình triển khai doanh nghiệp (6 bước)

  1. Khảo sát và Lập sơ đồ phân vùng mạng: Xác định các dải IP DMZ, Internal, Database.
  2. Cài đặt cụm máy chủ SIEM/SOAR: Thiết lập bảo mật liên lạc bằng chứng chỉ SSL/TLS tự ký hoặc Let's Encrypt.
  3. Triển khai Wazuh Agent tự động: Sử dụng Ansible/GPO để phân phối Agent hàng loạt lên máy chủ và máy trạm.
  4. Tùy biến Ruleset và Decoders: Thiết lập các quy tắc phù hợp với chính sách an ninh nội bộ và chuẩn tuân thủ (PCI-DSS, ISO 27001).
  5. Cấu hình Playbook trên N8N: Định tuyến luồng xử lý tương ứng với từng mức độ nghiêm trọng (Severity).
  6. Diễn tập sự cố (Incident Simulation): Định kỳ rà soát và tinh chỉnh ngưỡng kích hoạt luật.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Thành phần Wazuh-Indexer tiêu tốn lượng RAM lớn khi số lượng log tăng đột biến trong thời gian dài nếu không có chính sách xoay vòng chỉ mục (Index Lifecycle Management - ILM) hợp lý.
  • Một số Responder của Cortex phụ thuộc vào API Key của các dịch vụ bên thứ ba (bị giới hạn lượt gọi mỗi phút ở tài khoản miễn phí).
  • Chưa tích hợp cơ chế phân tích hành vi người dùng (UEBA - User and Entity Behavior Analytics) nâng cao.

Hướng phát triển

  • Tích hợp thêm các mô hình Học máy (Machine Learning) để phát hiện bất thường trong lưu lượng mạng và nhật ký truy cập.
  • Mở rộng kết nối đến nền tảng chia sẻ thông tin mã độc MISP (Malware Information Sharing Platform).
  • Đóng gói toàn bộ hệ thống SIEM-SOAR dưới dạng Docker Containers / Kubernetes Helm Charts để hỗ trợ mở rộng quy mô tự động (Auto-scaling).

Đối tượng hưởng lợi

  • Sinh viên & Nghiên cứu sinh: Nắm vững mô hình kiến trúc SOC tiêu chuẩn quốc tế, có tài liệu tham khảo chi tiết về cú pháp luật Wazuh và kỹ thuật tích hợp API bảo mật.
  • Kỹ sư An toàn thông tin (SOC Analysts / Blue Team): Sở hữu bộ công cụ tự động hóa giải phóng khỏi các tác vụ thủ công lặp lại, nâng cao năng lực ứng phó sự cố.
  • Doanh nghiệp vừa và nhỏ (SMEs): Tiết kiệm từ hàng chục đến hàng trăm nghìn USD chi phí bản quyền phần mềm mỗi năm mà vẫn sở hữu hệ thống giám sát an ninh chuẩn mực.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai giải pháp trong môi trường thử nghiệm (Lab) là gì?

Môi trường Lab có thể chạy trên nền tảng ảo hóa (VMware ESXi / Proxmox / VirtualBox) với tối thiểu 1 máy chủ SIEM (4 vCPU, 8GB RAM), 1 máy chủ SOAR (2 vCPU, 4GB RAM) và các máy ảo nạn nhân/tấn công (1-2GB RAM mỗi máy).

2. Khả năng mở rộng (Scalability) của hệ thống khi số lượng máy trạm tăng lên hàng nghìn nút như thế nào?

Wazuh hỗ trợ mô hình Multi-Node Cluster phân tán. Khi quy mô mở rộng, có thể tách riêng Wazuh-Server Master/Worker và xây dựng cụm Wazuh-Indexer đa nút (Multi-node Elasticsearch/OpenSearch Cluster) kết hợp cân bằng tải bằng NGINX hoặc HAProxy.

3. Giải pháp tích hợp với hệ thống SIEM/Hạ tầng mạng sẵn có của doanh nghiệp như thế nào?

Hệ thống hỗ trợ tiếp nhận log thông qua giao thức Syslog chuẩn (UDP/TCP 514), Filebeat, Webhook REST API và hỗ trợ cài đặt Agent tương thích hầu hết các hệ điều hành phổ biến (Windows, Linux, macOS, Solaris, AIX).

4. Chi phí vận hành và bảo trì hệ thống ước tính là bao nhiêu?

Do sử dụng 100% nền tảng mã nguồn mở, chi phí bản quyền phần mềm là 0 VNĐ. Doanh nghiệp chỉ chi trả chi phí hạ tầng phần cứng/Cloud VPS và chi phí nhân sự vận hành hệ thống.

5. Cơ chế Active Response có nguy cơ gây gián đoạn dịch vụ (Denial of Service) do chặn nhầm địa chỉ IP hợp lệ (False Positive) không?

Có nguy cơ nếu cấu hình luật lỏng lẻo. Để khắc phục, hệ thống triển khai cơ chế danh sách trắng (Whitelist) cho các dải IP nội bộ quan trọng, kết hợp điều kiện thời gian khóa tạm thời (<timeout>600</timeout>) thay vì khóa vĩnh viễn, đồng thời yêu cầu phân tích mức độ nghiêm trọng trước khi kích hoạt lệnh chặn.


Kết luận

Đề tài "Triển khai giải pháp SIEM-SOAR cho việc phân tích và phản hồi sự cố an toàn thông tin" đã giải quyết thành công bài toán tự động hóa phòng thủ không gian mạng bằng cách kết hợp hoàn hảo các công nghệ mã nguồn mở hàng đầu: Wazuh, TheHive, Cortex và N8N. Kết quả thử nghiệm thực tế chứng minh hệ thống có khả năng nhận diện chính xác các nguy cơ bảo mật nguy hiểm, rút ngắn thời gian phản ứng từ cấp độ phút xuống cấp độ giây, bảo vệ vững chắc tài sản số của tổ chức trước các mối đe dọa tiềm tàng trong kỷ nguyên số.