Tester
mod_evasive sur Apache 2.4
J'ai fais une synthèse de l'utilisation de mod_evasive qui semble complète :
https://www.visionduweb.eu/wiki/index.php?title=Installer_Apache2_sur_Debian#Mod_Evasive
Pourtant, cela ne semble pas fonctionner avec ma configuration.
Tester si le module mod_evasive fonctionne ou non :
Utiliser le script perl "test.pl" situé dans le répertoire /usr/share/doc/libapache2-mod-evasive/examples/.
#!/usr/bin/perl
# test.pl: small script to test mod_dosevasive's effectiveness
use IO::Socket;
use strict;
for(0..100) {
my($response);
my($SOCKET) = new IO::Socket::INET( Proto => "tcp",
PeerAddr=> "127.0.0.1:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET /?$_ HTTP/1.0\n\n";
$response = <$SOCKET>;
print $response;
close($SOCKET);
}
Puis, lancer le script depuis le terminal.
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
Le script effectue 100 demandes sur votre serveur Web.
Le code de réponse 403 indique que l'accès est refusé par le serveur Web.
HORS ! Lors de mes essais, j'ai la réponse suivante :
HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
HTTP/1.1 400 Bad Request
Source : https://www.visionduweb.eu/wiki/index.php?title=Installer_Apache2_sur_Debian#Tester_mod_evasive
( Je suis sur Debian SID. )
/var/log/apache2$ cat other_vhosts_access.log m'affiche bien les 100 requêtes, mais, en erreur 400 également.
vpsxxx.vps.ovh.ca:80 127.0.0.1 - - [07/Nov/2018:04:23:50 +0100] "GET /?96 HTTP/1.0\n" 400 0 "-" "-"
vpsxxx.vps.ovh.ca:80 127.0.0.1 - - [07/Nov/2018:04:23:50 +0100] "GET /?97 HTTP/1.0\n" 400 0 "-" "-"
vpsxxx.vps.ovh.ca:80 127.0.0.1 - - [07/Nov/2018:04:23:50 +0100] "GET /?98 HTTP/1.0\n" 400 0 "-" "-"
vpsxxx.vps.ovh.ca:80 127.0.0.1 - - [07/Nov/2018:04:23:50 +0100] "GET /?99 HTTP/1.0\n" 400 0 "-" "-"
vpsxxx.vps.ovh.ca:80 127.0.0.1 - - [07/Nov/2018:04:23:50 +0100] "GET /?100 HTTP/1.0\n" 400 0 "-" "-"
Ce serrait du à mes différents VirtualHosts ?
Source : https://www.visionduweb.eu/wiki/index.php?title=VirtualHosts_des_domaines_enregistr%C3%A9s#Configuration_de_l.27.C3.A9coute_du_port_HTTP_80_2
Configuration
de l'écoute du port HTTP 80
# VirtualHost du domaine green-nrj.com
<VirtualHost *:80>
ServerName www.green-nrj.com
ServerAlias green-nrj.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Redirection http://(www).domaine.ext vers https://
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://www.green-nrj.com$1 [QSA,L,R=301]
</IfModule>
</VirtualHost>