Quay lại danh sách
Tin tức công nghệ

Hướng Dẫn Thiết Lập Hệ Thống Phát Hiện Xâm Nhập Snort Trên VPS: Phòng Chống Scan Port Và Tấn Công Mạng

28 tháng 5, 2026

1. Đặt vấn đề: Tại sao VPS của bạn cần một hệ thống IDS như Snort?

Trong kỷ nguyên số, máy chủ riêng ảo (VPS) là hạ tầng cốt lõi của nhiều doanh nghiệp để vận hành website, ứng dụng và lưu trữ dữ liệu. Tuy nhiên, việc công khai địa chỉ IP trên Internet khiến VPS trở thành mục tiêu liên tục của các hacker và botnet tự động. Trước khi thực hiện một cuộc tấn công thực sự, kẻ xấu luôn tiến hành giai đoạn trinh sát, phổ biến nhất là quét cổng (scan port) để tìm ra các dịch vụ lỗi thời hoặc cấu hình sai.

Nếu chỉ phụ thuộc vào tường lửa (Firewall) thông thường, bạn chỉ có thể chặn hoặc cho phép lưu lượng truy cập dựa trên IP và Port mà không thể hiểu được hành vi bên trong gói tin. Đó là lý do tại sao một Hệ thống Phát hiện Xâm nhập (IDS - Intrusion Detection System) như Snort trở nên thiết yếu. Snort hoạt động như một camera an ninh thông minh, liên tục giám sát lưu lượng mạng, phân tích sâu gói tin (Deep Packet Inspection) và đưa ra cảnh báo ngay lập tức khi phát hiện dấu hiệu bất thường.

2. Tổng quan về Snort IDS

Snort là một phần mềm mã nguồn mở phòng chống và phát hiện xâm nhập mạng hàng đầu thế giới, hiện được quản lý bởi Cisco. Snort có thể vận hành ở ba chế độ chính: Sniffer (đọc gói tin), Packet Logger (ghi nhật ký gói tin), và phổ biến nhất là Network Intrusion Detection System (NIDS).

Ở chế độ NIDS, Snort phân tích lưu lượng mạng dựa trên một tập hợp các quy tắc (Rules) được định nghĩa trước. Khi một gói tin khớp với signature (dấu hiệu nhận dạng) của một cuộc tấn công, Snort sẽ ghi log và kích hoạt cảnh báo. Hệ thống này sở hữu những ưu điểm vượt trội phù hợp cho môi trường VPS:

  • Nhẹ và hiệu quả: Tiêu tốn ít tài nguyên phần cứng, lý tưởng cho các gói VPS cấu hình vừa phải.
  • Cộng đồng mạnh mẽ: Tập hợp luật (Snort Subscriber Ruleset) được cập nhật liên tục để đối phó với các lỗ hổng zero-day mới nhất.
  • Khả năng tùy biến cao: Cho phép quản trị viên tự viết luật riêng để bảo vệ các ứng dụng đặc thù của doanh nghiệp.

3. Hướng dẫn các bước thiết lập Snort trên Linux VPS

Trong hướng dẫn này, chúng ta sẽ triển khai Snort trên môi trường Ubuntu Server (phiên bản 22.04 LTS hoặc mới hơn) - hệ điều hành phổ biến nhất cho VPS hiện nay.

Bước 1: Chuẩn bị hệ thống và cài đặt các gói phụ thuộc

Trước khi cài đặt Snort, hãy đảm bảo hệ thống của bạn được cập nhật và cài đặt đầy đủ các thư viện cần thiết cho việc biên dịch và xử lý gói tin:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev liblzma-dev libssl-dev pkg-config libhwloc-dev libluajit-5.1-dev

Bước 2: Cài đặt Snort từ Kho lưu trữ (Repository)

Để đơn giản và đảm bảo tính ổn định cho môi trường production, bạn có thể cài đặt trực tiếp bản phân phối của Ubuntu:

sudo apt install snort -y

Trong quá trình cài đặt, một giao diện cấu hình sẽ xuất hiện yêu cầu bạn nhập giao diện mạng (Network Interface) muốn giám sát (ví dụ: eth0 hoặc ens3) và dải mạng nội bộ (Address Range). Hãy nhập dải IP của VPS của bạn dưới định dạng CIDR (ví dụ: 192.168.1.0/24 hoặc giữ nguyên mặc định nếu là IP public đơn lẻ).

Bước 3: Cấu hình tệp tin cấu hình chính (snort.conf)

Tệp cấu hình của Snort nằm tại đường dẫn /etc/snort/snort.conf. Chúng ta cần tinh chỉnh một số biến cốt lõi để Snort hoạt động chính xác:

sudo nano /etc/snort/snort.conf

Tìm và chỉnh sửa các dòng sau:

  • ipvar HOME_NET: Định nghĩa mạng nội bộ cần bảo vệ. Bạn nên điền IP public của VPS của mình (ví dụ: ipvar HOME_NET 203.0.113.50/32).
  • ipvar EXTERNAL_NET: Định nghĩa mạng bên ngoài. Thông thường ta cấu hình là bất kỳ mạng nào không phải HOME_NET: ipvar EXTERNAL_NET !$HOME_NET.

Lưu và đóng tệp tin sau khi hoàn tất chỉnh sửa.

Bước 4: Kiểm tra cấu hình

Trước khi khởi chạy dịch vụ, hãy luôn kiểm tra xem tệp cấu hình có bị lỗi cú pháp hay không bằng lệnh:

sudo snort -T -c /etc/snort/snort.conf

Nếu bạn nhìn thấy thông điệp "Snort successfully validated the configuration!", hệ thống đã sẵn sàng.

4. Cấu hình Luật (Rules) để phát hiện hành vi Quét Cổng (Scan Port)

Cơ chế phát hiện của Snort dựa vào các Rules. Để giúp doanh nghiệp chủ động phát hiện các đợt trinh sát, chúng ta sẽ tạo một file chứa luật tùy biến (custom rules).

Tạo file luật tùy chỉnh

sudo nano /etc/snort/rules/local.rules

Thêm vào các dòng luật sau để phát hiện các kiểu quét cổng thông dụng (như SYN Scan, XMAS Scan, Ping Sweep) từ công cụ khét tiếng Nmap:

# Cảnh báo khi có hành vi dò quét cổng TCP SYN (Kiểu quét phổ biến của Nmap)
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"[CANH BAO] Phat hien hanh vi quet cong TCP SYN"; flags:S; detection_filter:track by_src, count 20, seconds 10; sid:1000001; rev:1;)

# Cảnh báo hành vi quét cổng Ping Sweep (Dò tìm máy chủ đang hoạt động)
alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"[CANH BAO] Phat hien hanh vi Ping Sweep"; icmp_id:0; sid:1000002; rev:1;)

Giải thích cú pháp: Loại luật là alert, áp dụng cho giao thức tcp hoặc icmp từ mạng bên ngoài vào mạng cần bảo vệ. Thuộc tính detection_filter định nghĩa nếu một IP nguồn thực hiện quá 20 kết nối trong vòng 10 giây, Snort sẽ kích hoạt cảnh báo nhằm tránh sai số (false positive) với lưu lượng thông thường.

5. Vận hành, thử nghiệm và giám sát cảnh báo thời gian thực

Để kiểm tra hệ thống hoạt động chính xác hay không, hãy khởi chạy Snort ở chế độ hiển thị log ra bảng điều khiển (console):

sudo snort -A console -q -c /etc/snort/snort.conf -i eth0

Bây giờ, từ một máy tính khác đóng vai trò kẻ tấn công, sử dụng công cụ Nmap để thực hiện quét cổng VPS của bạn:

nmap -sS -F [IP_CUA_VPS]

Ngay lập tức trên màn hình console của VPS, các dòng cảnh báo định dạng rõ ràng sẽ xuất hiện liên tục dạng:

05/28-23:59:01.123456 [**] [1:1000001:1] [CANH BAO] Phat hien hanh vi quet cong TCP SYN [**] {TCP} 198.51.100.12:45322 -> 203.0.113.50:80

Khi hệ thống thử nghiệm ổn định, bạn hãy chuyển Snort chạy dưới dạng dịch vụ nền (daemon) để đảm bảo an ninh liên tục:

sudo systemctl start snort
sudo systemctl enable snort

6. Kết luận và các khuyến nghị bảo mật nâng cao

Thiết lập thành công Snort IDS trên VPS là bạn đã xây dựng được một lớp phòng thủ chiều sâu vô cùng quan trọng, giúp doanh nghiệp không còn "mù lòa" trước các đợt tấn công mạng ngầm. Việc biết rõ ai đang quét cổng, quét lúc nào và nhắm vào dịch vụ nào sẽ giúp quản trị viên đưa ra các chiến lược vá lỗi kịp thời.

Tuy nhiên, một hệ thống IDS thuần túy chỉ đưa ra cảnh báo mà không thể chủ động ngăn chặn. Để tối ưu hóa an ninh mạng, doanh nghiệp nên cân nhắc phối hợp Snort với các công cụ tự động hóa như Fail2ban hoặc cấu hình Snort chạy ở chế độ IPS (Intusion Prevention System) kết hợp với `iptables/nftables`. Khi đó, thay vì chỉ ghi log, hệ thống sẽ tự động drop gói tin độc hại và khóa IP của kẻ tấn công ngay lập tức tại cửa ngõ máy chủ.

Hướng Dẫn Thiết Lập Hệ Thống Phát Hiện Xâm Nhập Snort Trên VPS: Phòng Chống Scan Port Và Tấn Công Mạng | DPTCloud