SIEM/Log Management Tìm hiểu các giao thức thu thập log (Syslog, Beats, Fluent Bit, Wazuh, Vector)

I. Giới thiệu tổng quan
Trong kiến trúc giám sát tập trung hiện đại, việc xây dựng một "đường ống" dẫn dữ liệu (Data Pipeline) ổn định là ưu tiên hàng đầu. Nội dung bài thực hành này tập trung vào việc nghiên cứu các giao thức truyền tin truyền thống như Syslog, kết hợp với các bộ thu gom hiện đại (Beats, Fluent Bit, Vector) nhằm đồng bộ hóa log từ đa nguồn về OpenSearch.

1777195109739.png

Hình 1: Luồng thu thập log tổng thể về OpenSearch.​
Thành phần thực hiện:
  • Hệ thống OpenSearch & Dashboards( triển khai trên Docker).
  • Các Agent vận chuyển dữ liệu: Filebeat, Winlogbeat, Fluent Bit, Wazuh Agent.
  • Môi trường nguồn: Ubuntu Server, Windows Event Logs và thiết bị mạng giả lập.
Vấn đề cần giải quyết
Thực tế triển khai thường nảy sinh xung đột khi dữ liệu nguồn không đồng nhất về định dạng (Raw log, JSON, Syslog). Bài viết sẽ giải quyết bài toán:

  • Lựa chọn giao thức UDP hay TCP cho port 514 để cân bằng giữa tốc độ và độ tin cậy?
  • Làm thế nào để đẩy log từ các ứng dụng tụ phát triển thông qua REST API mà không làm quá tải Indexer?
II. Triển Khai
1. Giải pháp kỹ thuật

Mình chia quy trình ingest log thành 4 nhóm chiến thuật chính dựa trên đặc thù tài nguyên:

  • Tầng hạ tầng: Thu nhập Syslog từ Router/Firewall qua port 514.
  • Tầng Host OS: Cài đạt Filebeat để "tail" log file trên Linux và Winlogbeat để hốt Event Logs trên Windows.
  • Tầng tối ưu hóa: Sử dụng Fluent Bit (C) hoặc Vector (Rust) cho các môi trường có RAM thấp.
  • Tầng bảo mật: Tận dụng Wazuh để thu thập log an ninh chuyên sâu.
Các bước thực hiện chi tiết
1.1. Giao thức Syslog (UDP/TCP 514)

Đây là cách tiếp cận "không cần agent" (agent-less) cho các thiết bị cũ.

  • Lưu ý thực tế: Khi cấu hình, mình khuyên các bạn nên ưu tiên TCP nếu băng thông mạng cho phép. UDP rất nhanh nhưng trong môi trường lab có độ trễ cao, hiện tượng mất gói (packet loss) sẽ khiến log bị đứt đoạn, cực kỳ khó debug.
1777195216492.png

Hình 2: Thu thập log qua Syslog (UDP/TCP 514).​
1.2. Triển khai Agents dòng Beats
Dòng Beats (Elastic) vẫn là tiêu chuẩn vàng về độ ổn định.
Cấu hình "xương sống" trong filebeat.yml:
# Định nghĩa đầu ra trực tiếp về OpenSearch
output.elasticsearch:
hosts: ["https://10.21.1.100:9200"] # Trỏ về IP Cluster của bạn
index: "system-audit-%{+yyyy.MM.dd}"
username: "admin"
password: "your_password"
ssl.verification_mode: "none"

1777195314232.png

Hình 3: Filebeat/Winlogbeat thu thập và gửi log.​


1.3. Fluent Bit & Vector - Bài toán hiệu năng
Nếu server của bạn "hẻo" (RAM dưới 2GB), đừng dùng Beats. Hãy chuyển sang Fluent Bit. Nó nhẹ hơn đáng kể và hỗ trợ tốt các plugin đầu ra cho OpenSearch. Vector lại là lựa chọn tuyệt vời nếu bạn muốn lọc dữ liệu (Filter) ngay tại nguồn để tiết kiệm dung lượng lưu trữ cho ổ cứng.

1777195380318.png

Hình 4: Pipeline log tối ưu với Fluent Bit/Vector.

1.4. Kỹ thuật Ingest qua REST API

Đây là "vũ khí" cho các bạn Dev. OpenSearch cung cấp Endpoint _bulk cực kỳ mạnh mẽ để đẩy log hàng loạt.
1777195459879.png

Hình 5: Đẩy log vào OpenSearch qua REST API.

Ví dụ lệnh đẩy log bằng CURL:

Bash

# Đẩy log thủ công để kiểm tra kết nối Indexer

curl -XPOST "https://localhost:9200/web-access/_doc/" -u admin:admin --insecure -H "Content-Type: application/json" -d '

{

"timestamp": "2026-04-26",

"event_type": "ssh_login_failed",

"source_ip": "192.168.10.5"

}'

AI Roleplay - Góc nhìn chuyên gia

Chuyên gia Security Operations: "Một lỗi chết người mà các bạn mới làm lab hay mắc phải là đẩy log 'thô' (raw) mà không qua xử lý. Hãy luôn định nghĩa Mapping trước khi đẩy dữ liệu. Nếu bạn gán sai kiểu dữ liệu cho field IP thành text, bạn sẽ không bao giờ thực hiện được các thao tác tìm kiếm theo dải mạng (CIDR) trên Dashboard đâu!"

III. Kết Luận

Làm chủ được luồng dữ liệu (Data Ingestion) là bạn đã nắm giữ 50% sức mạnh của hệ thống giám sát. Qua bài lab, ta thấy Beats phù hợp cho sự ổn định lâu dài, Fluent Bit dành cho các hệ thống tối ưu tài nguyên, còn REST API là cầu nối linh hoạt cho mọi loại ứng dụng. Bài học lớn nhất là phải luôn cân nhắc giữa độ trễ của mạng và tính toàn vẹn của log khi chọn giao thức truyền tin.
1777195555401.png

Hình 6: Hiển thị log trên OpenSearch Dashboards.

Tài Liệu Tham Khảo​

 
Back
Top