Cài đặt Apache2 trên Ubuntu 22.04: Configure mod_evasive

bởi | LPI, Ubuntu

Home » LPI » Ubuntu » Cài đặt Apache2 trên Ubuntu 22.04: Configure mod_evasive

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

Cài đặt Apache2 trên Ubuntu 22.04: Configure mod_evasive

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

Tham khảo thêm

Cài đặt Apache2 trên Ubuntu 22.04

Cài đặt Apache2 trên Ubuntu 22.04: Virtual Hostings