Apache httpd : Configure mod_evasive2024/02/02 |
Enable [mod_evasive] module to defend from DoS attacks and so on. |
|
[1] | Install and configure [mod_evasive]. |
root@www:~ #
pkg install -y ap24-mod_evasive
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf # line 184 : uncomment LoadModule evasive20_module libexec/apache24/mod_evasive20.so
root@www:~ #
vi /usr/local/etc/apache24/Includes/evasive.conf # create new <IfModule mod_evasive20.c> # hash table size DOSHashTableSize 3097 # threshold for the number of requests for the same page per page interval DOSPageCount 2 # threshold for the total number of requests for any object by the same client on the same listener per site interval DOSSiteCount 50 # the interval for the page count threshold DOSPageInterval 1 # the interval for the site count threshold DOSSiteInterval 1 # amount of time (in seconds) that a client will be blocked for if they are added to the blocking list DOSBlockingPeriod 10 # log directory DOSLogDir "/var/log/mod-evasive" # uncomment and configure follows if you need # notification address if IP address becomes blacklisted #DOSEmailNotify root@localhost # possible to set any command #DOSSystemCommand "su - someuser -c '/sbin/... %s ...'" </IfModule> mkdir /var/log/mod-evasive root@www:~ # chown www:www /var/log/mod-evasive root@www:~ # service apache24 reload |
[2] | Test to access to Apache httpd. |
root@www:~ # for i in `seq 1 20`; do curl -I localhost; done HTTP/1.1 200 OK Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Upgrade: h2 Connection: Upgrade Last-Modified: Tue, 30 Jan 2024 00:21:58 GMT ETag: "82-6101ec01fa41e" Accept-Ranges: bytes Content-Length: 130 Content-Type: text/html HTTP/1.1 200 OK Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Upgrade: h2 Connection: Upgrade Last-Modified: Tue, 30 Jan 2024 00:21:58 GMT ETag: "82-6101ec01fa41e" Accept-Ranges: bytes Content-Length: 130 Content-Type: text/html HTTP/1.1 200 OK Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Upgrade: h2 Connection: Upgrade Last-Modified: Tue, 30 Jan 2024 00:21:58 GMT ETag: "82-6101ec01fa41e" Accept-Ranges: bytes Content-Length: 130 Content-Type: text/html HTTP/1.1 200 OK Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Upgrade: h2 Connection: Upgrade Last-Modified: Tue, 30 Jan 2024 00:21:58 GMT ETag: "82-6101ec01fa41e" Accept-Ranges: bytes Content-Length: 130 Content-Type: text/html HTTP/1.1 403 Forbidden Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Content-Type: text/html; charset=iso-8859-1 HTTP/1.1 403 Forbidden Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Content-Type: text/html; charset=iso-8859-1 HTTP/1.1 403 Forbidden Date: Fri, 02 Feb 2024 01:01:38 GMT Server: Apache/2.4.58 (FreeBSD) OpenSSL/3.0.12 mod_auth_kerb/5.4 Content-Type: text/html; charset=iso-8859-1 ..... ..... # if blocked, logs are recorded root@www:~ # ls -l /var/log/mod-evasive total 1 -rw-r--r-- 1 www www 5 Feb 2 09:59 dos-::1 |
Sponsored Link |