Hướng Dẫn Hạn Chế DDoS Bằng CSF

Bài viết này sẽ hướng dẫn bạn cách Hạn Chế DDoS Bằng CSF. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.Trước khi đi vào nội dung chính của bài viết này, các bạn nên đọc trước bài viết “Hướng dẫn cài đặt và cấu hình csf”.

Dưới đây là một số thông số và thủ thuật nhỏ giúp tăng cường khả năng chống chọi với DDoS.

Lưu ý:

  • Không có bất kỳ biện pháp nào chống DDoS hoàn toàn một khi server đã truy cập vào Internet. Chỉ có biện pháp giảm thiểu (mitigate) độ thiệt hai khi bị DDoS.
  • Không có cách nào để server hoạt động “bình thường” khi đang là mục tiêu bị DDoS. Điều tốt nhất ta có thể thực hiện là giữ cho server online trong suốt cuộc tấn công và tìm cách giảm traffic đầu vào (INCOMMING).
  • Trong một số hoàn cảnh, phương án tốt nhất mà ta có thể làm đó là null route địa chỉ IP của server J hay nói vui là rút dây mạng.
  • Các cấu hình trên CSF của bài viết này chỉ có tác dụng với các cuộc tấn công nhỏ, và chỉ nên cấu hình khi đang bị tấn công (vì có thể sẽ ảnh hưởng tới hoạt động hằng ngày của server). Cấu hình nên được khôi phục lại như ban đầu sau khi đợt tấn công đã chấm dứt.
  • CSF không phải là cách duy nhất để hạn chế các cuộc tấn công DDoS nhỏ, trong trường hợp ta cần một biện pháp lâu dài và ổn định thì nên tham khảo các dịch vụ khác.

Bắt đầu cấu hình:

1) Backup file config của csf:

# cp /etc/csf/csf.conf /etc/csf/csf_conf.bak

 

2) Rate limit incoming traffic:

Thông số đầu tiên cần nghĩ đến cũng như là thông số hiệu quả nhất để giảm thiểu DDoS đó là giới hạn số lượng connection được phép truy cập trên mỗi IP. Tuy nhiên, ta không nên set thông số này quá thấp, vì một số giao thức như FTP, IMAP, hay thậm chí là HTTP thường tạo khá nhiều connection cho mỗi phiên. Ngoài ra, đa số các hộ gia đình hay doanh nghiệp truy cập internet với một IP chung, nên nếu ta set thông số này quá thấp thì khi mỗi người trong một tập thể truy cập một lần cũng có thể dẫn đến bị chặn.

Để cấu hình thông số này trên csf, ta điều chỉnh như sau:

# Mặc định:

CT_LIMIT = “0”

# Điều chỉnh:

CT_LIMIT = “150”

Như ví dụ trên, ta đang giới hạn mỗi IP chỉ được phép mở 150 connection.

Trong trường hợp server đang bị tấn công DDoS, ta nên tắt tính năng gửi mail cảnh báo vì khi đó server sẽ gửi rất nhiều mail cảnh báo, điều này có thể tăng load trên server:

# Mặc định:

CT_EMAIL_ALERT = “1”

# Điều chỉnh:

CT_EMAIL_ALERT = “0”

Ta có thể liệt kê các port cần thực hiện limit, thay vì limit tất cả các port như mặc định:

# Mặc định:

CT_PORTS = “ ”

# Điều chỉnh:

CT_PORTS = “80,443”

 

3) SYN flood protection

Đầu tiên, ta cần kiểm tra số gói SYN đang có bằng lệnh sau:

# netstat -nap | grep SYN -c

Lưu ý: Nếu lệnh trên cho ra kết quả là có gói SYN thì cũng chưa chắc chắn rằng server đang bị SYN flood, đó chỉ có thể là server đang trong trạng thái load cao và traffic đầu vào cao. Chỉ khi nào số gói SYN lớn (vài trăm) thì khả năng lúc đó server mới bị DDoS.

Để bật tính năng SYN flood protection, ta điều chỉnh như sau:

# Mặc định

SYNFLOOD = “0”

# Điều chỉnh

SYNFLOOD = “1”

Ngoài ra, còn 02 thông số khác cần lưu ý tới:

  • SYNFLOOD_RATE: số gói SYN cho phép trên mỗi IP trong một giây. Mặc định thông số này là 100/s, ta có thể giảm xuống tuy vào nhu cầu.
  • SYNFLOOD_BURST: số lần mà một IP có thể chạm ngưỡng SYNFLOOD_RATE trước khi bị block. Mặc định thông số này là 150, tức là IP đó phải chạm ngưỡng 150 lần rồi mới bị khóa.

4) Reload csf để nhận cấu hình

# csf -r

 

22/03/2021
Was this article helpful?