Triển khai giải pháp phòng chống DoS bằng CSF

Triển khai giải pháp phòng chống DoS bằng CSF là một phương pháp hiệu quả để tăng cường an ninh mạng và bảo vệ hệ thống khỏi các cuộc tấn công từ chối dịch vụ (DoS). Trong bài viết này, chúng tôi sẽ hướng dẫn chi tiết cách cài đặt và cấu hình CSF (ConfigServer Security & Firewall) để ngăn chặn các mối đe dọa DoS, giảm thiểu rủi ro và đảm bảo tính sẵn sàng của hệ thống mạng.

Xem thêm:

Triển khai thử nghiệm tấn công DoS

Triển khai thử nghiệm tấn công ARP Poisoning

1. ConfigServer Security & Firewall (CSF)

CSF là 1 gói ứng dụng hoạt động trên Linux như là một tường lửa miễn phí dùng để tăng tính bảo mật cho máy chủ. CSF hoạt động dựa trên iptables và Login Failure Daemon (LFD) để quét các file log  để phát hiện dấu hiệu tấn công bất thường. Một số tính năng của CSF:

  • Chống tấn công DoS.
  • Chống Scan Port.
  • Chống SYN Flood.
  • Chống Ping Flood.
  • Cho phép khoá IP tạm thời hoặc vĩnh viễn ở hạ tầng mạng.

File cấu hình CSF trong Centos nằm ở mục /etc/csf/csf.conf, một số tham số quan trọng trong cấu hình CSF là:

  • TESTING = “0”: Mặc định khi vừa cài CSF thì TESTING =“1”, với TESTING= “1” thì LFD sẽ không hoạt động, nếu có gì sai sót thì server cũng sẽ không ngăn chặn các IP tấn công tới Server.
  • TCP_IN = “20,21,22,25,53,80,443”: Cho phép gói tin TCP đến các cổng 20,2122,25,53,80,443.
  • TCP_OUT = “25,80,443”: Cho phép gói tin TCP đi đến cổng 25,80,443 của hệ thống khác.
  • UDP_IN = “20,21,53,80,443”: Cho phép gói tin UDP đến các cổng 20,21,53,80,443
  • UDP_OUT = “20,21,53,113,123”: Cho phép gói tin UDP đi đến các cổng 20,21,53,113,123 của hệ thống khác.
  • ICMP_IN = “1”: Cho phép ping đến máy chủ.
  • ICMP_IN_RATE = “1/s”: Giới hạn số gói tin ping đến Server là 1 yêu cầu/ giây. Nếu ping nhanh hơn tốc độ này thì sẽ bị phản hồi “Request Timeout”. Trong trường hợp nhiều người ping tới Server cùng 1 lúc thì phần lớn sẽ nhận lại phản hồi “Request Timeout”.

2. Triển khai phòng chống

Bước 1: Sau khi cài đặt csf trên máy chủ web, tiến hành sử dụng csf làm firewall chính. Trên máy chủ centOS7, firewalld được sử dụng mặc định làm firewall chính. Để có thể sử dụng csf, cần tắt firewalld bằng các lệnh sau:

systemctl disable firewalld

systemctl stop firewalld

systemctl start csf

systemctl start lfd

Bước 2: Thực hiện thay đổi một số cấu hình qua câu lệnh: vi /etc/csf/csf.conf

Cấu hình thông số trong CSF

Một số thông số được thay đổi như:

TESTING = “0”

SYNFLOOD = “1”

SYNFLOOD_RATE = “30/s”

SYNFLOOD_BURST = “40”

CONNLIMIT = “80;20”

PORTFLOOD = “80;tcp;20;5”

CT_LIMIT = “100”

Bước 3: Lưu file cấu hình mới trong file csf.conf, tiến hành bật tường lửa qua câu lệnh “csf – e” và chạy các quy tắc tường lửa “csf – s”.

Bật CSF và chạy các quy tắc

Bước 4: Tiến hành thực hiện lại cuộc tấn công từ máy Kali

Kết quả thu được: Máy chủ web vẫn có hoạt động bình thường, CPU có tăng, nhưng không đáng kể. Các máy khác vẫn có thể truy cập đến web. Điều này chứng tỏ rằng, csf đang hoạt động đúng và giúp chặn các gói tin được gửi từ máy của kẻ tấn công.

Thông số máy chủ khi tấn công:

Không sử dụng CSF Sử dụng CSF
CPU 65 – 70% 29 – 33%
Network Receive 1800 KiB/s 2.4 KiB/s
Network Send 797 KiB/s 0 byte/s

Máy chủ vẫn hoạt động bình thường

Hy vọng bài viết hữu ích. Cảm ơn bạn đã tham khảo an ninh mạng máy tính trên ttnguyen.net.

Bài viết liên quan:

Lịch sử phát triển của Web Application Firewall (WAF)

So sánh chi tiết WAF và Firewall | Cái nào tốt hơn

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em