Chặn DDoS bằng CSF

Chặn DDoS bằng CSF 2025

Dưới đây là hướng dẫn chi tiết cách chặn DDoS bằng CSF trên hệ thống Linux. CSF là một tường lửa mạnh mẽ và dễ sử dụng, cung cấp các tính năng bảo mật nâng cao để bảo vệ máy chủ của bạn khỏi các mối đe dọa mạng, bao gồm cả các cuộc tấn công từ chối dịch vụ phân tán (DDoS).

Lưu Ý: DDoS là một trong những mối đe dọa phổ biến và phức tạp nhất đối với các máy chủ web. Việc cấu hình CSF đúng cách là rất quan trọng để đảm bảo bảo mật và duy trì hiệu suất của máy chủ.


Mục lục

1. Giới Thiệu Về DDoS và CSF

1.1. DDoS Là Gì?

DDoS (Distributed Denial of Service) là một loại tấn công mạng mà kẻ tấn công sử dụng nhiều nguồn (thường là các máy tính bị nhiễm phần mềm độc hại) để gửi một lượng lớn yêu cầu đến máy chủ mục tiêu, khiến máy chủ không thể xử lý được và dẫn đến tình trạng dịch vụ bị gián đoạn hoặc chậm chạp.

1.2. CSF (ConfigServer Security & Firewall) Là Gì?

CSF là một tường lửa dạng trạng thái (stateful) dựa trên iptables, được thiết kế để cung cấp bảo mật cho các máy chủ web. CSF không chỉ cung cấp các quy tắc tường lửa mạnh mẽ mà còn tích hợp các tính năng bảo mật bổ sung như phát hiện xâm nhập (IDS), quản lý các quy tắc IP, và nhiều hơn nữa.


2. Các Bước Chuẩn Bị Trước Khi Cài Đặt CSF

a. Yêu Cầu Hệ Thống:

  • Hệ điều hành: CentOS 7/8, AlmaLinux 8, RHEL 7/8, hoặc các bản phân phối Linux tương thích khác.
  • Quyền Root: Bạn cần quyền truy cập root hoặc sử dụng sudo để thực hiện các lệnh cài đặt.

b. Cập Nhật Hệ Thống:

Trước khi cài đặt bất kỳ gói phần mềm nào, hãy đảm bảo rằng hệ thống của bạn được cập nhật đầy đủ.

Trên các hệ thống sử dụng dnf (CentOS 8, AlmaLinux 8, RHEL 8):

sudo dnf update -y

Trên các hệ thống sử dụng yum (CentOS 7, RHEL 7):

sudo yum update -y

3. Cài Đặt CSF

Bước 1: Cài Đặt Các Phụ Thuộc Cần Thiết

Trước khi cài đặt CSF, hãy đảm bảo rằng bạn đã cài đặt các gói phụ thuộc như perl, libwww-perl, và unzip.

Trên CentOS 8, AlmaLinux 8, RHEL 8 sử dụng dnf:

sudo dnf install perl-libwww-perl perl-Digest-SHA unzip -y

Trên CentOS 7, RHEL 7 sử dụng yum:

sudo yum install perl-libwww-perl perl-Digest-SHA unzip -y

Bước 2: Tải Về và Giải Nén CSF

Tải phiên bản mới nhất của CSF từ trang chính thức.

cd /usr/src
sudo wget https://download.configserver.com/csf.tgz

Giải nén tệp đã tải về.

sudo tar -xzf csf.tgz
cd csf

Bước 3: Cài Đặt CSF

Chạy lệnh cài đặt.

sudo sh install.sh

Bước 4: Kiểm Tra Tình Trạng của CSF và LFD

Sau khi cài đặt, CSF (Firewall) và LFD (Login Failure Daemon) sẽ được khởi động tự động. Kiểm tra trạng thái của chúng bằng lệnh:

sudo systemctl status csf
sudo systemctl status lfd

Nếu CSF chưa được kích hoạt, bạn có thể kích hoạt nó bằng lệnh:

sudo systemctl enable csf
sudo systemctl enable lfd

4. Cấu Hình CSF Để Chặn DDoS

CSF cung cấp nhiều tính năng để chống lại các cuộc tấn công DDoS. Dưới đây là các bước cấu hình cơ bản:

Bước 1: Sao Lưu File Cấu Hình Mặc Định

Trước khi chỉnh sửa bất kỳ file cấu hình nào, hãy sao lưu phiên bản gốc để có thể khôi phục nếu cần.

sudo cp /etc/csf/csf.conf /etc/csf/csf.conf.backup

Bước 2: Mở File Cấu Hình CSF

Sử dụng trình soạn thảo văn bản như nano hoặc vi để mở file cấu hình.

sudo nano /etc/csf/csf.conf

Bước 3: Điều Chỉnh Các Thiết Lập Cơ Bản Cho Chống DDoS

a. Bật Mod Security và Login Failure Daemon

Đảm bảo các tùy chọn sau được bật trong file csf.conf:

LF_MODE = "1" # Chế độ mặc định để theo dõi các lỗi đăng nhập
LF_ALERT_TO_EMAIL = "your-email@example.com" # Địa chỉ email nhận cảnh báo

b. Bật Chống DDoS Bằng Các Thiết Lập Tối ưu

Chặn SYN Flood:

CT_LIMIT = "100"
CT_INTERVAL = "60"
CT_SILENT = "1"

Chặn ICMP Flood:

ICMP_IN_RATE = "100/s"

Chặn UDP Flood:

UDP_IN_RATE = "100/s"

Chặn HTTP Flood:

PORTFLOOD = "80;tcp;200;1,443;tcp;200;1"

Giải Thích:

  • CT_LIMIT: Giới hạn số lượng kết nối TCP mới từ một IP trong khoảng thời gian CT_INTERVAL.
  • CT_SILENT: Nếu đặt là 1, CSF sẽ không gửi cảnh báo email khi chặn các kết nối này.
  • ICMP_IN_RATEUDP_IN_RATE: Giới hạn số lượng gói ICMP và UDP được phép từ một IP trong giây.
  • PORTFLOOD: Giới hạn số lượng yêu cầu đến các cổng cụ thể (ví dụ: HTTP và HTTPS) từ một IP trong một khoảng thời gian ngắn.

c. Bật Chặn Các Tấn Công Xâm Nhập Khác

# Chặn các cuộc tấn công XSS, SQL Injection, v.v.
LF_SCRIPT_ALERT = "1"

Bước 4: Cấu Hình Tường Lửa Bổ Sung

Giới Hạn Kết Nối Đồng Thời:

CT_LIMIT = "100"
CT_INTERVAL = "60"
CT_SILENT = "1"

Bật Giao Thức UDP và ICMP:

UDP_IN = "53,67,123,161,162,500,514,520,1434"
ICMP_IN = "1"

Chặn các Cổng Không Cần Thiết:

TCP_IN = "22,80,443,3306"
TCP_OUT = "20,21,22,25,53,80,443,3306"
UDP_IN = "53,67,123,161,162,500,514,520,1434"
UDP_OUT = "53,67,123,161,162,500,514,520,1434"

Giải Thích:

  • TCP_INTCP_OUT: Các cổng TCP mà máy chủ sẽ chấp nhận và gửi.
  • UDP_INUDP_OUT: Các cổng UDP mà máy chủ sẽ chấp nhận và gửi.

Bước 5: Lưu và Khởi Động Lại CSF

Sau khi đã điều chỉnh các thiết lập, lưu file cấu hình và khởi động lại CSF để áp dụng các thay đổi.

sudo csf -r

Bước 6: Kiểm Tra Cấu Hình CSF

Đảm bảo rằng CSF đang hoạt động bình thường và các quy tắc đã được áp dụng.

sudo csf -l

Lệnh này sẽ liệt kê tất cả các quy tắc hiện tại trong CSF.


5. Các Thiết Lập Nâng Cao Để Chặn DDoS

a. Sử Dụng SYN Flood Protection

CSF cung cấp bảo vệ chống lại SYN Flood bằng cách giới hạn số lượng kết nối TCP mới từ một IP.

CT_LIMIT = "100"
CT_INTERVAL = "60"
CT_SILENT = "1"

b. Bật Chặn UDP và ICMP Flood

Giới hạn số lượng gói UDP và ICMP từ một IP để ngăn chặn các cuộc tấn công UDP Flood và ICMP Flood.

UDP_IN_RATE = "100/s"
ICMP_IN_RATE = "100/s"

c. Chặn Các Cổng Bất Thường

Chỉ mở các cổng cần thiết và chặn tất cả các cổng khác để giảm bớt khả năng bị tấn công.

TCP_IN = "22,80,443,3306"
TCP_OUT = "20,21,22,25,53,80,443,3306"
UDP_IN = "53,67,123,161,162,500,514,520,1434"
UDP_OUT = "53,67,123,161,162,500,514,520,1434"

d. Bật Chặn Các Tấn Công XSS và SQL Injection

CSF có thể phát hiện và chặn các cuộc tấn công XSS và SQL Injection thông qua các quy tắc mặc định.

LF_SCRIPT_ALERT = "1"

6. Theo Dõi và Điều Chỉnh CSF

a. Theo Dõi Nhật Ký CSF

CSF ghi lại các sự kiện bảo mật vào file log /var/log/lfd.log. Bạn có thể xem nhật ký bằng lệnh:

sudo tail -f /var/log/lfd.log

b. Điều Chỉnh Quy Tắc Dựa Trên Lưu Lượng Truy Cập

Dựa trên nhật ký và phân tích lưu lượng truy cập, bạn có thể điều chỉnh các thiết lập CSF để phù hợp hơn với nhu cầu bảo mật của máy chủ.

c. Cập Nhật CSF Thường Xuyên

Đảm bảo rằng bạn luôn sử dụng phiên bản mới nhất của CSF để tận dụng các bản vá lỗi và tính năng bảo mật mới.

sudo csf -u

7. Các Bước Bổ Sung Để Bảo Vệ Máy Chủ Khỏi DDoS

a. Sử Dụng CDN (Content Delivery Network)

Sử dụng CDN như Cloudflare để giảm tải cho máy chủ của bạn và bảo vệ khỏi các cuộc tấn công DDoS.

b. Tối Ưu Hóa Cấu Hình Máy Chủ

Đảm bảo rằng máy chủ của bạn được cấu hình tối ưu để xử lý lưu lượng truy cập cao, bao gồm việc tăng giới hạn kết nối và tối ưu hóa tài nguyên hệ thống.

c. Sử Dụng Các Công Cụ Giám Sát

Sử dụng các công cụ giám sát như Nagios, Zabbix hoặc Prometheus để theo dõi hiệu suất và nhận diện sớm các dấu hiệu tấn công DDoS.


8. Xử Lý Các Vấn Đề Thường Gặp

a. CSF Không Khởi Động Được

Nguyên Nhân:

  • Có lỗi trong cấu hình csf.conf.
  • Các dịch vụ phụ thuộc chưa được cài đặt.

Giải Pháp:

  1. Kiểm Tra Lỗi Cấu Hình:
    sudo csf -r
    

    Xem các thông báo lỗi để xác định vấn đề.

  2. Kiểm Tra Các Cổng Đang Sử Dụng:
    sudo netstat -tuln | grep <port_number>
    

    Thay <port_number> bằng cổng bạn muốn kiểm tra (ví dụ: 80, 443).

  3. Sửa Lỗi Cấu Hình Nếu Cần:
    sudo nano /etc/csf/csf.conf
    

b. Người Dùng Hợp Pháp Bị Chặn

Nguyên Nhân:

  • Giới hạn quá chặt hoặc thiết lập không phù hợp với lưu lượng truy cập thực tế.

Giải Pháp:

  • Điều chỉnh lại các thiết lập trong csf.conf để phù hợp hơn với nhu cầu thực tế.
  • Thêm các địa chỉ IP hợp pháp vào danh sách Allow để tránh bị chặn.

c. Hiệu Suất Máy Chủ Giảm Khi CSF Đang Hoạt Động

Nguyên Nhân:

  • Cấu hình không tối ưu hoặc quá nhiều quy tắc.

Giải Pháp:

  • Rà soát và tối ưu hóa các quy tắc hạn chế.
  • Giảm số lượng yêu cầu tối đa hoặc khoảng thời gian để giảm tải cho máy chủ.

9. Tài Nguyên Hỗ Trợ và Tham Khảo


10. Kết Luận

Chặn các cuộc tấn công DDoS bằng CSF là một cách hiệu quả để bảo vệ máy chủ Linux của bạn khỏi các mối đe dọa mạng. Bằng cách làm theo các bước hướng dẫn trên, bạn có thể cấu hình CSF để ngăn chặn DDoS và đảm bảo rằng máy chủ của bạn luôn hoạt động ổn định và an toàn.

Nhớ:

  • Sao lưu cấu hình trước khi thực hiện bất kỳ thay đổi nào.
  • Theo dõi và điều chỉnh các quy tắc bảo mật dựa trên lưu lượng truy cập thực tế.
  • Cập nhật CSF thường xuyên để tận dụng các tính năng mới và bảo mật tốt hơn.

Nếu bạn gặp bất kỳ vấn đề nào trong quá trình cài đặt hoặc cấu hình, đừng ngần ngại tham khảo tài liệu chính thức của CSF hoặc liên hệ với cộng đồng hỗ trợ để được giúp đỡ.


Chúc bạn thành công trong việc bảo mật máy chủ của mình với CSF! Nếu bạn có bất kỳ câu hỏi nào thêm hoặc cần hỗ trợ, hãy cho tôi biết nhé!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *