Install and configure mod_evasive
– Kích hoạt mô-đun [mod_evasive] để bảo vệ khỏi các cuộc tấn công DoS, v.v.
root@srv:~# apt -y install libapache2-mod-evasive root@srv:~# vi /etc/apache2/mods-available/evasive.conf # bỏ ghi chú từng dòng để cấu hình <IfModule mod_evasive20.c> # kích thước hash table DOSHashTableSize 3097 # ngưỡng cho số lượng yêu cầu cho cùng một page trên mỗi khoảng thời gian page DOSPageCount 2 # ngưỡng cho tổng số yêu cầu đối với bất kỳ đối tượng nào của cùng một client trên cùng một trình nghe trên mỗi khoảng thời gian site DOSSiteCount 50 # khoảng thời gian cho ngưỡng đếm page DOSPageInterval 1 # khoảng thời gian cho ngưỡng đếm site DOSSiteInterval 1 # khoảng thời gian (tính bằng giây) mà client sẽ bị chặn nếu họ được thêm vào danh sách chặn DOSBlockingPeriod 10 # bỏ ghi chú và cấu hình sau nếu bạn cần # địa chỉ thông báo nếu địa chỉ IP bị liệt vào danh sách đen #DOSEmailNotify root@localhost # có thể đặt bất kỳ lệnh nào #DOSSystemCommand "su - someuser -c '/sbin/... %s ...'" # thư mục log DOSLogDir "/var/log/mod-evasive" </IfModule>
root@srv:~# mkdir /var/log/mod-evasive root@srv:~# chown www-data:www-data /var/log/mod-evasive root@srv:~# systemctl reload apache2
Kiểm tra access Apache2
root@srv:~# for ((i=1; i <= 20; i++)); do curl -I localhost; done HTTP/1.1 200 OK Date: Sat, 01 Jun 2024 07:47:59 GMT Server: Apache Last-Modified: Mon, 27 May 2024 14:20:50 GMT ETag: "29af-61970396caaaf" Accept-Ranges: bytes Content-Length: 10671 Vary: Accept-Encoding Content-Type: text/html HTTP/1.1 200 OK Date: Sat, 01 Jun 2024 07:47:59 GMT Server: Apache Last-Modified: Mon, 27 May 2024 14:20:50 GMT ETag: "29af-61970396caaaf" Accept-Ranges: bytes Content-Length: 10671 Vary: Accept-Encoding Content-Type: text/html .... .... # chuyển sang "403 Forbidden" nếu bị chặn HTTP/1.1 403 Forbidden Date: Sat, 01 Jun 2024 07:47:59 GMT Server: Apache Content-Type: text/html; charset=iso-8859-1 HTTP/1.1 403 Forbidden Date: Sat, 01 Jun 2024 07:47:59 GMT Server: Apache Content-Type: text/html; charset=iso-8859-1 ..... .....
– nếu bị chặn, logs sẽ được ghi lại
root@srv:~# ll /var/log/mod-evasive
total 8
drwxr-xr-x 2 www-data www-data 4096 Jun 1 14:47 ./
drwxrwxr-x 11 root syslog 4096 Jun 1 14:47 ../
– nếu đặt thông báo. Do không cài đặt, nó sẽ được gửi như sau
root@srv:~# mail
No mail for root