Tại sao hệ thống của bạn cần một “người gác cổng” như FastNetMon?
Tôi từng quản lý hạ tầng cho một văn phòng 50 nhân sự kèm một cụm datacenter nhỏ. Có những ngày, Internet bỗng dưng nghẽn đặc. Nhân viên không thể check mail, nhưng lạ thay, CPU và RAM của server vẫn ở mức cực thấp. Sau 15 phút loay hoay với tcpdump, tôi mới phát hiện một IP đang bị flood traffic nặng. Việc soi log thủ công lúc dầu sôi lửa bỏng đúng là một cực hình.
Đó là lúc FastNetMon phát huy tác dụng. Thay vì soi từng gói tin (packet capture) gây tốn tài nguyên, công cụ này phân tích dữ liệu Flow (NetFlow, sFlow, IPFIX). Hãy coi nó như việc bạn kiểm tra hóa đơn cước phí để tìm ra ai đang gọi điện phá hoại, thay vì nghe lén từng cuộc gọi. Cách tiếp cận này giúp giảm tải CPU đến 90% so với phương pháp truyền thống, cho phép phát hiện tấn công chỉ trong 2-5 giây.
Cài đặt FastNetMon (Community Edition)
FastNetMon có hai phiên bản: Advanced (trả phí) và Community (miễn phí). Với nhu cầu quản lý mạng văn phòng hoặc DC quy mô vừa, bản Community là quá đủ dùng. Tôi ưu tiên cài đặt trên Ubuntu 22.04 LTS vì tính tương thích cao.
Bạn có thể cài đặt nhanh qua script chính thức:
wget https://raw.githubusercontent.com/pavel-odintsov/fastnetmon/master/src/fastnetmon_install.pl -O fastnetmon_install.pl
perl fastnetmon_install.pl
Script sẽ tự động nhận diện OS và cài đặt các dependency. Quá trình này thường mất khoảng 3-5 phút tùy tốc độ mạng. Sau khi hoàn tất, service fastnetmon sẽ sẵn sàng khởi chạy.
Cấu hình chi tiết để bắt đầu nhận diện traffic
File cấu hình chính nằm tại /etc/fastnetmon.conf. Đây là bộ não của hệ thống, nơi bạn định nghĩa nguồn dữ liệu và ngưỡng cảnh báo.
1. Khai báo dải IP cần bảo vệ
FastNetMon cần biết dải IP nào thuộc quyền sở hữu của bạn. Hãy liệt kê chúng trong file /etc/networks_list, mỗi dải một dòng:
1.2.3.0/24
192.168.1.0/24
2. Cấu hình nhận diện Flow
Mở file /etc/fastnetmon.conf. Tùy vào thiết bị mạng bạn đang dùng (Router Cisco, Mikrotik hay Switch Juniper), hãy bật giao thức tương ứng:
# NetFlow (Cisco, Mikrotik, Ubiquiti)
netflow = on
netflow_port = 2055
netflow_host = 0.0.0.0
# sFlow (HP, Juniper, Arista)
sflow = on
sflow_port = 6343
sflow_host = 0.0.0.0
3. Thiết lập ngưỡng cảnh báo (Thresholds)
Đây là bước then chốt. Đặt ngưỡng quá thấp sẽ gây báo động giả; quá cao thì server sẽ “sập” trước khi kịp xử lý. Với đường truyền 100Mbps phổ biến, tôi thường bắt đầu với các thông số an toàn sau:
# Ngưỡng gói tin trên giây (PPS)
threshold_pps = 20000
# Ngưỡng băng thông (Mbps)
threshold_mbps = 80
# Ngưỡng số lượng kết nối đồng thời
threshold_flows = 3500
Lưu file và khởi động lại service để áp dụng thay đổi: sudo systemctl restart fastnetmon.
Viết Script phản ứng khi có tấn công
Điểm mạnh của FastNetMon là khả năng tự động hóa qua notify_script. Khi phát hiện IP vượt ngưỡng, nó sẽ kích hoạt script để thực hiện các hành động như gửi Telegram hoặc đẩy BGP Blackhole.
Tìm dòng sau trong file cấu hình và trỏ đến script của bạn:
notify_script_path = /usr/local/bin/fastnetmon_notify.sh
Dưới đây là một mẫu script đơn giản để ghi log và chặn IP tạm thời:
#!/bin/bash
# FastNetMon truyền vào 3 tham số: IP, hướng tấn công, và cường độ
IP_TARGET=$1
DIRECTION=$2
echo "Cảnh báo: IP $IP_TARGET bị tấn công ($DIRECTION) lúc $(date)" >> /var/log/fastnetmon_attacks.log
# Nếu chạy trên Gateway, bạn có thể chặn IP bằng iptables
# iptables -I FORWARD -d $IP_TARGET -j DROP
Đừng quên cấp quyền thực thi: chmod +x /usr/local/bin/fastnetmon_notify.sh.
Giám sát thực tế qua Dashboard
Để theo dõi traffic thời gian thực, hãy sử dụng lệnh:
fastnetmon_client
Công cụ này hiển thị danh sách các IP “ngốn” nhiều băng thông nhất. Nếu bạn thử nghiệm tấn công giả lập bằng hping3, bạn sẽ thấy các con số nhảy vọt và IP đó bị đưa vào “Ban list” ngay lập tức.
Kinh nghiệm của tôi là nên kết hợp FastNetMon với InfluxDB và Grafana. Việc trực quan hóa dữ liệu bằng biểu đồ giúp bạn nhận diện các mẫu tấn công (attack patterns) dễ dàng hơn nhiều so với việc nhìn dòng lệnh khô khan.
Cấu hình router đẩy Flow ban đầu có thể hơi rắc rối. Tuy nhiên, khi đã chạy ổn định, FastNetMon sẽ là người bảo vệ thầm lặng. Bạn sẽ kê gối ngủ ngon mà không lo bị “đánh úp” bởi các đợt DDoS bất ngờ.

