Giới thiệu

G-BlackHole Forwarder là thành phần trung gian trong hệ thống SIEM, hoạt động như một gateway và proxy server để thu thập, xử lý và chuyển tiếp dữ liệu từ nhiều nguồn khác nhau đến các hệ thống đích. Forwarder được thiết kế để hoạt động độc lập hoặc kết hợp với Agent trong môi trường hybrid.

Tính năng chính

Thu thập dữ liệu từ nhiều nguồn

  • MQTT Broker: Chạy embedded MQTT broker để nhận dữ liệu từ các Agent
  • Rsyslog Server: Thu thập syslog từ các thiết bị mạng qua UDP/TCP
  • HTTP CONNECT Proxy: Cung cấp proxy server cho các kết nối HTTPS

Xử lý và chuyển tiếp dữ liệu

  • Data Transformation: Xử lý và chuyển đổi dữ liệu từ các nguồn khác nhau
  • Routing: Định tuyến dữ liệu đến các sink phù hợp
  • Buffering: Quản lý buffer và retry logic cho độ tin cậy cao

Tích hợp và giao tiếp

  • Multiple Sinks: Hỗ trợ gửi dữ liệu đến MQTT, Kafka, BlackHole
  • Registry Integration: Kết nối với Registry server để xác thực và đồng bộ cấu hình
  • Service Management: Hỗ trợ chạy như Windows Service hoặc systemd service

Kiến trúc

Forwarder được xây dựng theo kiến trúc modular với các thành phần chính:
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   MQTT Broker   │    │  Rsyslog Server │    │  HTTP Proxy     │
│                 │    │                 │    │                 │
│ • Embedded      │    │ • UDP/TCP       │    │ • CONNECT       │
│ • Authentication│    │ • IP Filtering  │    │ • Authentication│
│ • Topic Routing │    │ • Log Parsing   │    │ • SSL Tunneling │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         └───────────────────────┼───────────────────────┘

                    ┌─────────────────┐
                    │   Orchestrator  │
                    │                 │
                    │ • Data Flow     │
                    │ • Configuration │
                    │ • Health Check  │
                    └─────────────────┘

                    ┌─────────────────┐
                    │     Sinks       │
                    │                 │
                    │ • MQTT          │
                    │ • Kafka         │
                    │ • BlackHole     │
                    └─────────────────┘

Pipelines xử lý dữ liệu

Forwarder cung cấp mô-đun transforms dựa trên VRL để tinh chỉnh dòng sự kiện trước khi gửi đến sinks. Người vận hành có thể kết hợp các transform như filter, route, throttle, reduce, deduperemap để tạo pipeline phù hợp cho từng nguồn dữ liệu, từ việc loại bỏ nhiễu, phân nhánh nội dung cho nhiều đích đến, cho tới hợp nhất và enrich dữ liệu.

Nền tảng hỗ trợ

Windows

  • Windows 10/11: Desktop và Server editions
  • Windows Server 2016+: Tất cả editions
  • Service Mode: Hỗ trợ chạy như Windows Service

Linux

  • Distributions: Ubuntu, CentOS, RHEL, Debian, Alpine
  • Architecture: x86_64, ARM64
  • Musl Support: Tối ưu cho Alpine Linux và các distro sử dụng musl libc
  • Systemd: Hỗ trợ systemd service management

Yêu cầu hệ thống

Tối thiểu

  • CPU: 1 core
  • Memory: 2GB RAM
  • Disk: 5GB free space
  • Network: Kết nối internet ổn định

Khuyến nghị

  • CPU: 2+ cores
  • Memory: 4GB+ RAM
  • Disk: 20GB+ free space cho logs và cache
  • Network: Băng thông cao cho việc xử lý dữ liệu

Bảo mật

  • Authentication: Xác thực với Registry server bằng API key
  • TLS/SSL: Hỗ trợ mã hóa trong quá trình truyền dữ liệu
  • Proxy Authentication: Hỗ trợ Basic Auth cho HTTP CONNECT proxy
  • MQTT Security: Hỗ trợ authentication cho MQTT broker

Giám sát và logging

  • Health Checks: Tự động kiểm tra sức khỏe của các service
  • Metrics: Thu thập metrics về hiệu suất và trạng thái
  • Structured Logging: Log có cấu trúc với các level khác nhau
  • Error Recovery: Tự động phục hồi từ lỗi và retry logic