I. I.Tổng quan các giao thức
1.1. SyslogSyslog là một giao thức tiêu chuẩn (Client-Server) được sử dụng để gửi các thông điệp hệ thống hoặc sự kiện mạng. Các daemon phổ biến triển khai Syslog bao gồm rsyslog và syslog-ng.
- Hoạt động chủ yếu trên port 514 (UDP/TCP) hoặc 6514 (TLS).
- Chuẩn hóa theo RFC 3164 và RFC 5424
- Cấu trúc cơ bản bao gồm: PRI (Priority), Header (Timestamp, Hostname) và Message.
- Ưu điểm:
+ Được hỗ trợ mặc định trên hầu hết các thiết bị mạng (Router, Switch, Firewall) và hệ điều hành Linux/Unix. Không cần cài thêm Agent.
+ Nhẹ, tiêu tốn ít tài nguyên mạng.
- Nhược điểm:
+ Dữ liệu dạng text không có cấu trúc, gây khó khăn cho việc parse log
+ Nếu dùng UDP, dữ liệu có thể bị mất mát khi mạng tắc nghẽn mà không có cơ chế truyền lại.
2.2. Elastic Beats
Beats là tập hợp các data shippers mã nguồn mở, hạng nhẹ được viết bằng Go, do Elastic phát triển. Đối với SOC, hai Beats phổ biến nhất là Filebeat (đọc file log) và Winlogbeat (đọc Windows Event Logs).
- Đọc log, parse cơ bản và đẩy trực tiếp vào Logstash, Elasticsearch hoặc OpenSearch.
- Hỗ trợ cơ chế "Backpressure": tự động giảm tốc độ đọc log nếu server đích bị quá tải.
- Ưu điểm:
+ Đóng gói sẵn nhiều module cho các dịch vụ phổ biến (Apache, Nginx, Suricata, Zeek), tự động chia trường rất chuẩn xác.
+ Winlogbeat cực kỳ mạnh mẽ trong việc thu thập log bảo mật của Windows (Sysmon, Security, PowerShell).
- Nhược điểm:
+ Bị gắn chặt với hệ sinh thái ELK.
+ Khi cài đặt nhiều loại Beats trên cùng một máy chủ (Filebeat + Metricbeat + Packetbeat), tổng tài nguyên RAM/CPU tiêu thụ sẽ khá đáng kể.
1.3. Fluent Bit
Fluent Bit là một vi xử lý dữ liệu hạng nhẹ được viết bằng C. Nó thường được dùng chung hoặc thay thế Fluentd.
- Tiêu thụ ít tài nguyên
- Kiến trúc Plugin linh hoạt (Input, Parser, Filter, Router, Output).
- Ưu điểm:
+ Là tiêu chuẩn vàng cho môi trường Container và Kubernetes (K8s). Rất mạnh trong việc thu thập log từ Docker.
+ Chuyển đổi dữ liệu unstructured thành cấu trúc JSON mượt mà trước khi đẩy đi.
- Nhược điểm:
+ Việc viết thêm các parser custom khó khăn hơn so với các công cụ dùng Ruby hay Go.
+ Hệ sinh thái plugin bảo mật không phong phú bằng Beats.
1.4. Wazuh
Wazuh Agent là một agent giám sát an ninh điểm cuối (Host-based Intrusion Detection System - HIDS).
- Chạy trên đa nền tảng (Windows, Linux, macOS). Thu thập log và gửi mã hóa về Wazuh Manager.
- Ưu điểm:
+ Tích hợp sẵn tính năng theo dõi tính toàn vẹn file, phát hiện rootkit, đánh giá cấu hình an toàn (SCA) và rà quét lỗ hổng.
+ Có khả năng phản hồi tự động: chặn IP, kill process ngay khi phát hiện tấn công.
+ Đẩy thẳng log đã được cảnh báo, dán nhãn chuẩn MITRE ATT&CK vào SIEM (OpenSearch).
- Nhược điểm:
+ Nặng hơn đáng kể so với Syslog hay Fluent Bit.
+ Cấu hình kiến trúc phức tạp (cần dựng Wazuh Server/Manager trung gian).
1.5. Vector
Vector là một giải pháp thế hệ mới, được viết hoàn toàn bằng ngôn ngữ Rust. Nó đóng vai trò vừa là Agent vừa là Aggregator.
- Sử dụng ngôn ngữ VRL (Vector Remap Language) cực kỳ mạnh mẽ để parse, định tuyến và chuyển đổi dữ liệu.
- Ưu điểm:
+ Nhanh hơn và tốn ít RAM/CPU hơn hẳn Logstash và Fluentd nhờ khả năng quản lý bộ nhớ an toàn của Rust.
+ Độ tin cậy cao, đảm bảo không mất mát log
+ Tương thích với rất nhiều Output (S3, Kafka, OpenSearch, Splunk).
- Nhược điểm:
+ Cộng đồng hỗ trợ chưa lớn bằng ELK hay Fluentd.
+ Cú pháp VRL cần thời gian làm quen.
II. Bảng so sánh tổng quan
| Tiêu chí | Syslog (rsyslog) | Elastic Beats | Fluent Bit | Wazuh Agent | Vector |
| Ngôn ngữ lõi | C | Go | C | C / C++ | Rust |
| Mức tiêu thụ tài nguyên | Rất thấp | Trung bình | Rất thấp | Cao | Thấp - Rất tối ưu |
| Định dạng Log mặc định | Unstructured Text | JSON / ECS | JSON | JSON (sau Manager) | Tùy chỉnh linh hoạt |
| Use-case tốt nhất | Router, Switch, Firewall, thiết bị legacy. | Máy chủ Windows (Winlogbeat), Nginx/Apache. | Môi trường Docker, K8s, Microservices. | Máy chủ cần giám sát bảo mật chặt chẽ (SOC/EDR). | Làm Router tổng (Aggregator) thay cho Logstash. |