Giới thiệu dự án

Trong kỷ nguyên số hóa và sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0, hạ tầng công nghệ thông tin (CNTT) của các tổ chức và doanh nghiệp đang đối mặt với những hiểm họa an ninh mạng khốc liệt. Theo báo cáo thường niên năm 2024 từ Hiệp hội An ninh mạng Quốc gia, toàn cầu đã ghi nhận hơn 659.000 cuộc tấn công mạng quy mô lớn. Tại Việt Nam, Cục An toàn Thông tin ghi nhận hơn 1.300 sự cố an ninh mạng nghiêm trọng trong năm 2024, với tỷ lệ rò rỉ và đánh cắp dữ liệu cá nhân tăng tới 50% so với năm 2023. Các chiến dịch tấn công có chủ đích (Advanced Persistent Threat - APT) điển hình như vụ xâm nhập chuỗi cung ứng SolarWinds, khai thác lỗ hổng zero-day trên Microsoft Exchange Server (ảnh hưởng hơn 250.000 máy chủ toàn cầu), mã độc tống tiền Conti tấn công chính phủ Costa Rica, hay vụ tấn công APT lịch sử vào hệ thống Vietnam Airlines cho thấy các biện pháp bảo vệ thụ động truyền thống không còn đủ khả năng phòng vệ.

Vấn đề cốt lõi đặt ra là sự phân tán của dữ liệu nhật ký (log) trên hàng loạt máy chủ, thiết bị mạng và ứng dụng, dẫn đến sự thiếu hụt khả năng giám sát tập trung theo thời gian thực. Các doanh nghiệp vừa và nhỏ (SME) thường thiếu hụt ngân sách triển khai các giải pháp thương mại đắt đỏ như IBM QRadar hay Splunk, trong khi các giải pháp nguồn mở thuần lưu trữ như ELK Stack lại thiếu hụt các bộ quy tắc bảo mật chuyên dụng và năng lực phản ứng tự động.

Dự án "Tìm hiểu và triển khai hệ thống SIEM bằng Wazuh" được thực hiện nhằm giải quyết trực tiếp bài toán trên, với 5 mục tiêu trọng tâm:

  1. Nghiên cứu sâu về kiến trúc hệ thống Quản lý Sự kiện và Thông tin Bảo mật (Security Information and Event Management - SIEM) và Hệ thống Phát hiện Xâm nhập dựa trên Máy chủ (Host-based Intrusion Detection System - HIDS).
  2. Xây dựng và triển khai mô hình Wazuh SIEM quy mô phân tán, quản trị tập trung các thiết bị đầu cuối chạy hệ điều hành Linux (Ubuntu 24.04/Debian) và Windows Server 2022.
  3. Tích hợp hệ sinh thái mở rộng bao gồm Suricata NIDS (Network Intrusion Detection System), hệ thống CTI (Cyber Threat Intelligence) VirusTotal API, nền tảng xử lý sự cố DFIR-IRIS và kênh cảnh báo tức thời qua Telegram Bot API.
  4. Xây dựng và thực nghiệm các kịch bản phát hiện, phòng chống tấn công mạng: SSH Brute-Force, SQL Injection, thay đổi tệp tin trái phép (FIM), phát hiện phần mềm độc hại/rootkit và tiến trình ẩn.
  5. Cấu hình cơ chế Phản hồi Chủ động (Active Response) nhằm tự động ngăn chặn kẻ tấn công theo thời gian thực (giảm thiểu thời gian trung bình để phản ứng - MTTR).

Phạm vi đề tài tập trung vào việc hiện thực hóa mô hình trung tâm điều hành an ninh mạng (Security Operations Center - SOC) mức độ thử nghiệm và ứng dụng cho doanh nghiệp, vận hành trên nền tảng ảo hóa VMware Workstation Pro và môi trường mạng giả lập.


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

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

Trước khi lựa chọn Wazuh, đề tài đã tiến hành phân tích và so sánh các giải pháp SIEM/Phân tích log phổ biến trên thị trường:

Tiêu chí Wazuh SIEM ELK Stack (Elasticsearch, Logstash, Kibana) IBM QRadar Splunk Enterprise
Mô hình bản quyền Mã nguồn mở (GPLv2/Apache 2.0), hoàn toàn miễn phí Nguồn mở / Bán thương mại (Elastic License) Thương mại đóng, chi phí bản quyền rất cao Thương mại đóng, tính phí theo dung lượng log/ngày
Chức năng HIDS/EDR Tích hợp sẵn FIM, SCA, Rootcheck, Active Response Không có sẵn (cần cấu hình Beats thủ công và thiếu rule engine bảo mật) Tích hợp toàn diện Tích hợp qua các add-on/Splunk Enterprise Security
Quy tắc bảo mật Tích hợp sẵn bộ luật MITRE ATT&CK, PCI DSS, GDPR, NIST 800-53 Phải tự xây dựng truy vấn và cảnh báo thủ công Tích hợp Sense Analytics Engine chuyên sâu Hỗ trợ Search Processing Language (SPL) mạnh mẽ
Khả năng phản hồi Tích hợp Active Response (stateful & stateless) Hạn chế (yêu cầu webhook hoặc công cụ thứ ba) Tự động hóa SOAR qua QRadar SOAR Tích hợp SOAR qua Splunk Phantom
Độ phức tạp triển khai Trung bình, tối ưu sẵn cho an ninh thông tin Trung bình, tốn nhiều công đoạn cấu hình pipeline Phức tạp, yêu cầu chuyên gia hãng triển khai Phức tạp, yêu cầu hạ tầng phần cứng lớn

Đề tài áp dụng phương pháp phân tích yêu cầu MoSCoW:

  • Must-have (Bắt buộc): Thu thập log tập trung; Phát hiện tấn công Brute-force và SQLi; Giám sát toàn vẹn tệp (FIM); Cảnh báo tức thời qua Telegram; Phản hồi chủ động chặn IP.
  • Should-have (Nên có): Tích hợp phân tích lưu lượng mạng Suricata; Tra cứu mã băm tập tin qua VirusTotal API; Khởi tạo ticket điều tra sự cố trên DFIR-IRIS.
  • Could-have (Có thể có): Mở rộng kiến trúc Wazuh Cluster Multi-node với bộ cân bằng tải; Tích hợp giám sát Docker container và cloud infrastructure (AWS CloudTrail).
  • Won't-have (Chưa thực hiện): Tích hợp mô hình học máy (Machine Learning) tự phát hiện bất thường hành vi người dùng (UEBA).

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình phân tầng mô-đun hóa, đảm bảo khả năng co giãn linh hoạt (scalability) và tính bảo mật cao trong truyền nhận dữ liệu:

Chi tiết thông số kỹ thuật và cổng dịch vụ chuẩn hóa:

  • Wazuh Server / Worker: Port 1514 (TCP/UDP - Giao tiếp Agent), Port 1515 (TCP - Đăng ký Agent tự động), Port 1516 (TCP - Cluster sync), Port 55000 (TCP - RESTful API).
  • Wazuh Indexer: Port 9200 (TCP - RESTful Index search), Port 9300-9400 (TCP - Giao tiếp nội bộ cụm Node).
  • Wazuh Dashboard: Port 443 (HTTPS - Truy cập quản trị Web UI).
  • Cơ chế lưu trữ: Sử dụng các chỉ mục chuyên biệt: wazuh-alerts-* (cảnh báo vi phạm rule), wazuh-archives-* (toàn bộ nhật ký thô), wazuh-monitoring-* (trạng thái agent), wazuh-statistics-* (hiệu năng vận hành).

Methodology

Dự án triển khai theo phương pháp Agile kết hợp quy trình vận hành SecOps:

  • Giai đoạn 1 (Tuần 1-3): Nghiên cứu lý thuyết SIEM/HIDS, cấu trúc giải mã (Decoders) và hệ thống Ruleset của Wazuh.
  • Giai đoạn 2 (Tuần 4-7): Triển khai hạ tầng máy chủ Wazuh All-in-One/Multi-node, cấu hình bảo mật truyền tải TLS, phân bổ tài nguyên VM.
  • Giai đoạn 3 (Tuần 8-11): Cài đặt Wazuh Agent trên Ubuntu 24.04 và Windows Server 2022; thiết lập tích hợp Suricata NIDS, DFIR-IRIS, VirusTotal API và Telegram Bot.
  • Giai đoạn 4 (Tuần 12-14): Thực hiện giả lập tấn công từ Kali Linux, kiểm thử bộ luật tùy chỉnh (local_rules.xml), hiệu chỉnh Active Response và đo lường tỷ lệ phát hiện.
  • Giai đoạn 5 (Tuần 15-16): Đánh giá hiệu năng, kiểm tra sao lưu/khôi phục (Snapshot/Restore) và hoàn thiện báo cáo tốt nghiệp.

Implementation và kết quả

Development process

Quá trình hiện thực hóa giải pháp tập trung vào việc tinh chỉnh các tệp cấu hình cốt lõi trên Wazuh Manager và Agent.

1. Cấu hình giám sát toàn vẹn tệp tin (FIM - Syscheck)

Trên tệp /var/ossec/etc/ossec.conf của Agent, kích hoạt giám sát thư mục quan trọng theo thời gian thực (real-time) và ghi nhận thuộc tính băm:

<syscheck>
  <disabled>no</disabled>
  <frequency>43200</frequency>
  <scan_on_start>yes</scan_on_start>
  
  <!-- Giám sát thời gian thực các thư mục hệ thống quan trọng -->
  <directories check_all="yes" realtime="yes" report_changes="yes">/etc,/usr/bin,/usr/sbin</directories>
  <directories check_all="yes" realtime="yes">/var/www/html</directories>
  
  <!-- Bỏ qua các tệp tạm không cần thiết để tối ưu I/O -->
  <ignore>/etc/mtab</ignore>
  <ignore>/etc/hosts.deny</ignore>
  <synchronization>
    <enabled>yes</enabled>
    <interval>10m</interval>
    <response_timeout>30</response_timeout>
  </synchronization>
</syscheck>

2. Cấu hình Phản hồi chủ động (Active Response) chặn SSH Brute-Force

Khi phát hiện hành vi dò quét mật khẩu SSH thỏa mãn rule ID 5712 (mức độ nghiêm trọng cao), Wazuh Server tự động ra lệnh cho Agent kích hoạt script firewall-drop để chặn IP kẻ tấn công trong 1800 giây (30 phút):

<!-- Định nghĩa lệnh thực thi trên Wazuh Manager -->
<command>
  <name>firewall-drop</name>
  <executable>firewall-drop</executable>
  <timeout_allowed>yes</timeout_allowed>
</command>

<!-- Kích hoạt phản hồi có trạng thái (Stateful Active Response) -->
<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5712</rules_id>
  <timeout>1800</timeout>
</active-response>

3. Tích hợp phân tích VirusTotal API tự động qua FIM

Khi một tệp nhị phân mới xuất hiện trong thư mục /var/www/html hoặc thư mục tải về, hash SHA1/MD5 được gửi tự động tới API của VirusTotal:

<integration>
  <name>virustotal</name>
  <api_key>YOUR_VIRUSTOTAL_API_KEY_HERE</api_key>
  <group>syscheck</group>
  <alert_format>json</alert_format>
</integration>

4. Thu thập log Suricata NIDS qua định dạng EVE-JSON

Tích hợp phân tích lưu lượng mạng sâu bằng cách cấu hình Agent đọc trực tiếp đầu ra của Suricata:

<localfile>
  <log_format>json</log_format>
  <location>/var/log/suricata/eve.json</location>
</localfile>

Testing và validation

Nhóm nghiên cứu đã sử dụng máy tấn công Kali Linux để thực thi 5 kịch bản kiểm thử bảo mật thực tế:

Kết quả đo lường và thống kê thực nghiệm:

Kịch bản tấn công Công cụ sử dụng Bộ giải mã & Quy tắc kích hoạt Thời gian phát hiện (Detection Latency) Kết quả xử lý
SSH Brute-Force THC-Hydra (Wordlist rockyou.txt) Rule ID 5710, 5711, 5712 (SSHD ruleset) < 1.2 giây sau lần thử thứ 6 IP kẻ tấn công bị IPTables chặn tự động trong 1800s
SQL Injection SQLmap v1.7 & BurpSuite Rule ID 31101, 31103 (Web attack decoders) < 0.8 giây Ghi nhận câu lệnh injection, cảnh báo tức thì về IRIS
Tải lên mã độc nhị phân Tệp ELF mã độc thực thi ngầm Syscheck + VirusTotal integration rule 87105 3.5 giây (bao gồm thời gian truy vấn CTI API) Phát hiện 48/72 Antivirus engines nhận diện độc hại
Tiến trình ẩn / Rootkit Diamorphine LKM rootkit Wazuh Rootcheck (getsid, getpgid mismatch) Quét định kỳ / Real-time check Cảnh báo tiến trình ngầm không hiển thị trong ps aux
Sửa đổi file nhạy cảm Chỉnh sửa trái phép /etc/passwd Syscheck FIM Rule 550, 554 < 0.5 giây Gửi chi tiết user, timestamp, file diff về Telegram

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

Hệ thống đã vận hành ổn định trong môi trường thử nghiệm với các kết quả cụ thể:

  • Độ chính xác phát hiện: Đạt 100% đối với các cuộc tấn công Brute-force có ngưỡng (threshold) rõ ràng và 96.5% đối với các mẫu khai thác SQLi phổ biến.
  • Hiệu năng xử lý sự kiện: Wazuh Server xử lý ổn định 3.500 Sự kiện mỗi giây (EPS - Events Per Second) với mức tiêu thụ CPU trung bình dưới 25% trên cấu hình 4 vCPU / 8GB RAM.
  • Tốc độ thông báo: Thời gian từ lúc phát sinh sự cố an ninh trên Agent đến khi gửi tin nhắn cảnh báo thành công qua Telegram Bot dao động từ 1.5 - 2.8 giây.
  • Khả năng điều tra (DFIR): 100% các cảnh báo mức độ nghiêm trọng cao (Rule Level >= 10) được đồng bộ tự động sang DFIR-IRIS dưới dạng Incident Case với đầy đủ IOC (Indicators of Compromise).

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

  1. Chu trình Phòng thủ Tự động Khép kín (Closed-loop Automated Defense): Không dừng lại ở việc hiển thị log như các hệ thống SIEM truyền thống, đề tài đã xây dựng thành công chu trình hoàn chỉnh: Phát hiện (Wazuh/Suricata) -> Làm giàu dữ liệu CTI (VirusTotal) -> Phản hồi chủ động (Active Response firewall-drop) -> Quản trị ca sự cố (DFIR-IRIS) -> Báo động đa kênh (Telegram/Email).
  2. Tối ưu hóa Chi phí Đầu tư (TCO): Đề tài chứng minh khả năng xây dựng một giải pháp SOC nội bộ hoàn chỉnh cho doanh nghiệp SME chỉ sử dụng 100% công nghệ mã nguồn mở, tiết kiệm từ 85% đến 95% chi phí so với việc thuê dịch vụ MSSP hoặc mua bản quyền phần mềm độc quyền hàng năm.
  3. Mô hình HIDS kết hợp NIDS toàn diện: Tận dụng sức mạnh kết hợp giữa phân tích sự kiện trên máy chủ (Host-based qua Wazuh Agent) và phân tích lưu lượng gói tin sâu trên mạng (Network-based qua Suricata), triệt tiêu hoàn toàn các điểm mù bảo mật (blind spots).

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

Kịch bản triển khai thực tiễn

Hệ thống được thiết kế phù hợp cho nhiều quy mô hạ tầng:

  • Doanh nghiệp vừa và nhỏ (SME / Startups): Triển khai mô hình Wazuh All-in-One trên một máy chủ chuyên dụng (hoặc Cloud VPS) để giám sát toàn bộ Web Server, Database Server và máy trạm nhân viên.
  • Tổ chức giáo dục / Trường Đại học: Xây dựng phòng thực hành thao trường mạng (Cyber Range), phục vụ nghiên cứu và giảng dạy an ninh thông tin, trực quan hóa luồng tấn công MITRE ATT&CK.
  • Hạ tầng Thương mại Điện tử: Giám sát liên tục tính toàn vẹn của mã nguồn website (/var/www/html), chống tấn công thay đổi giao diện (Defacement), phát hiện các lỗ hổng CVE chưa được vá và đáp ứng tiêu chuẩn thanh toán an toàn PCI DSS.

Yêu cầu phần cứng và triển khai

Yêu cầu tối thiểu (Mô hình thử nghiệm / Dưới 50 Agents):
- Wazuh Server + Indexer + Dashboard (All-in-One): 4 vCPU, 8GB RAM, 50GB SSD Storage.
- Hệ điều hành khuyến nghị: Ubuntu Server 22.04 / 24.04 LTS hoặc Debian 12.

Yêu cầu khuyến nghị (Mô hình sản xuất / 100 - 500 Agents):
- Cụm Wazuh Master & Workers (2 Nodes): 8 vCPU, 16GB RAM mỗi Node.
- Cụm Wazuh Indexer (2-3 Nodes): 8 vCPU, 16-32GB RAM, 500GB NVMe SSD (RAID 10).
- Băng thông mạng: Tối thiểu 1 Gbps LAN.

Lộ trình triển khai 4 bước chuẩn hóa:

  1. Bước 1: Cài đặt cụm Wazuh Indexer và cấu hình bảo mật chứng chỉ số TLS/SSL nội bộ.
  2. Bước 2: Cài đặt Wazuh Server, triển khai Filebeat để chuyển tiếp nhật ký sang Indexer.
  3. Bước 3: Cài đặt Wazuh Dashboard, nạp cấu hình kết nối API và chứng chỉ quản trị.
  4. Bước 4: Triển khai tự động hóa cài đặt Wazuh Agent trên máy đích qua Bash script / Ansible playbook.

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

Hạn chế kỹ thuật

  • Giới hạn API bên thứ ba: Tích hợp VirusTotal sử dụng tài khoản Public API bị giới hạn tần suất 4 yêu cầu/phút (Rate limit), dẫn đến hiện tượng trễ khi xảy ra bùng nổ tệp tin cần quét.
  • Nguy cơ từ chối dịch vụ tự thân (Self-DoS): Cơ chế Active Response nếu không được tinh chỉnh luật kỹ lưỡng có thể dẫn đến việc chặn nhầm địa chỉ IP hợp lệ của quản trị viên (False Positive).
  • Môi trường thử nghiệm: Đồ án chủ yếu triển khai trên môi trường máy ảo VMware Workstation, chưa đánh giá hết tải thực tế với hàng nghìn agent trong môi trường sản xuất thực địa.

Hướng phát triển trong tương lai

  • Ứng dụng các mô hình Trí tuệ nhân tạo (AI/Machine Learning) trên nền tảng Wazuh để phân tích bất thường hành vi người dùng (UEBA) và giảm tỷ lệ dương tính giả (False Positives).
  • Mở rộng triển khai cụm Wazuh độ sẵn sàng cao (High Availability) trên nền tảng điều phối container Kubernetes (K8s) sử dụng Helm Charts.
  • Xây dựng thêm kịch bản tích hợp tự động hóa điều tra mở rộng với TheHive và Cortex SOAR.

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

+-----------------------------------------------------------------------------------+
| Sinh viên & Người nghiên cứu:                                                     |
| -> Cung cấp tài liệu tham khảo chi tiết, bài thực hành Lab từng bước về SIEM/EDR. |
| -> Hiểu rõ phương thức hoạt động của MITRE ATT&CK, HIDS decoders và ruleset.      |
+-----------------------------------------------------------------------------------+
| Kỹ sư Quản trị mạng & SecOps:                                                     |
| -> Nắm bắt quy trình xây dựng SOC giá rẻ nhưng đạt hiệu quả cao.                  |
| -> Sở hữu các mẫu cấu hình mẫu (XML config, script Active Response) áp dụng ngay. |
+-----------------------------------------------------------------------------------+
| Doanh nghiệp SME & Tổ chức:                                                       |
| -> Tiết kiệm 85-90% chi phí bản quyền giải pháp an ninh mạng.                     |
| -> Nâng cao mức độ tuân thủ các tiêu chuẩn bảo mật quốc tế (PCI DSS, ISO 27001). |
+-----------------------------------------------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai một hệ thống Wazuh SIEM hoàn chỉnh là gì?

Hệ thống thử nghiệm All-in-One (Server, Indexer, Dashboard trên cùng một máy) yêu cầu tối thiểu máy chủ 4 vCPU, 8GB RAM và 50GB ổ cứng SSD chạy trên hệ điều hành Linux (Ubuntu 22.04/24.04 LTS hoặc Debian 12). Đối với các Agent giám sát trên máy trạm/máy chủ đầu cuối, Wazuh Agent rất nhẹ, chỉ chiếm khoảng 30-50MB RAM và dưới 1% tài nguyên CPU trong điều kiện hoạt động bình thường.

2. Làm thế nào để ngăn chặn hiện tượng Active Response chặn nhầm IP hợp lệ (False Positive)?

Để chống chặn nhầm, trong cấu hình ossec.conf của Wazuh Manager, người quản trị cần khai báo danh sách IP tin cậy (White-list) trong thẻ <white_list>. Đồng thời, chỉ nên kích hoạt hành động firewall-drop đối với các rule có mức độ cảnh báo cao (Rule Level >= 10) và sử dụng cơ chế Stateful Response với thời gian timeout hợp lý (ví dụ: 1800s thay vì chặn vĩnh viễn).

3. Tích hợp Suricata NIDS với Wazuh mang lại lợi ích gì vượt trội so với chỉ dùng Wazuh đơn lẻ?

Wazuh bản chất là HIDS, chuyên sâu vào phân tích sự kiện trên máy chủ (file system, process, local log). Khi tích hợp Suricata NIDS, hệ thống có thêm năng lực giải mã và phân tích sâu các gói tin lưu chuyển trên toàn mạng (Network packet inspection), phát hiện các hành vi quét cổng mạng, tấn công từ chối dịch vụ (DDoS) hoặc khai thác lỗ hổng mạng trước khi kẻ tấn công kịp chạm tới tầng hệ điều hành máy chủ.

4. Giao tiếp giữa Wazuh Agent và Wazuh Server có an toàn không?

Hoàn toàn an toàn. Toàn bộ lưu lượng truyền tải giữa Agent và Server qua cổng TCP 1514 đều được mã hóa bằng giao thức TLS chuẩn công nghiệp. Quá trình đăng ký và xác thực Agent qua cổng TCP 1515 sử dụng cơ chế xác thực khóa đối xứng bí mật (Pre-Shared Key - PSK) được cấp phát riêng biệt cho từng máy trạm.

5. Chi phí triển khai Wazuh so với các giải pháp thương mại như thế nào?

Wazuh là phần mềm mã nguồn mở hoàn toàn miễn phí, không giới hạn số lượng Agent và không tính phí theo dung lượng log thu thập mỗi ngày (ngược lại với mô hình của Splunk hay QRadar). Doanh nghiệp chỉ cần đầu tư chi phí hạ tầng máy chủ (phần cứng hoặc Cloud VPS) và nhân lực vận hành, giúp tiết kiệm hàng chục nghìn USD chi phí bản quyền phần mềm hàng năm.


Kết luận

Đề tài tốt nghiệp "Tìm hiểu và triển khai hệ thống SIEM bằng Wazuh" do nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Đà Lạt thực hiện đã hoàn thành xuất sắc các mục tiêu đề ra. Dự án không chỉ dừng lại ở mức độ nghiên cứu lý thuyết mà đã xây dựng thành công một mô hình thực nghiệm bảo mật toàn diện, kết hợp chặt chẽ giữa HIDS, NIDS, CTI và SOAR tự động hóa. Kết quả thử nghiệm các kịch bản tấn công thực tế từ Kali Linux đã chứng minh tính khả thi, độ tin cậy và khả năng đáp ứng thời gian thực của hệ thống trong việc bảo vệ an toàn thông tin cho tổ chức. Đây là nền tảng vững chắc để tiếp tục phát triển các giải pháp bảo mật nâng cao cho doanh nghiệp trong bối cảnh các mối đe dọa không gian mạng ngày càng phức tạp.