Modsecurity-apache/Tests

From aldeid
Jump to navigation Jump to search

Tests de bon fonctionnement

Description

Cette section vous présente un cas d'étude qui vous permettra de tester le bon fonctionnement de votre installation. Vous pouvez l'utiliser après avoir paramétré un jeu de règles personnalisées (myrules.conf) ou après avoir installé le jeu de règles de base proposé par Breach Security Inc.

Tests de bon fonctionnement à l'aide du navigateur

Les premiers tests à effectuer après avoir redémarré Apache (/usr/local/apache2/bin/apachectl restart) consistent à parcourir l'ensemble de votre site à l'aide de votre navigateur, ainsi qu'à tester différentes attaques (injections SQL, XSS, etc.) pertinentes en fonction des règles que vous avez mises en place.

Tests unitaires

Libre à vous de tester ensuite unitairement les différentes règles mises en place dans les fichiers de configuration de Modsecurity. L'exemple suivant vous montre comment tester le masquage de la bannière Apache.

Etape 1 : commenter le paramètre SecServerSignature

Dans un premier temps, commentons la ligne contenant le paramètre SecServerSignature :

<IfModule security2_module>
  # SecServerSignature " "
  ...
</IfModule>

Redémarrer ensuite Apache afin de prendre en compte les modifications :

# /usr/local/apache2/bin/apachectl restart

Etape 2 : Noter l'apparition de la bannière

Se connecter avec telnet ou Netcat :

# nc 127.0.0.1 80
GET / HTTP/1.1
Host: 127.0.0.1

Appuyer sur ENTREE puis observer les résultats obtenus :

HTTP/1.1 200 OK
Date: Mon, 16 Nov 2009 18:29:54 GMT
Server: Apache/2.2.14 (Unix) PHP/5.3.0
X-Powered-By: PHP/5.3.0
Noter les résultats obtenus : la bannière fournit des informations sur la version d'Apache installée sur le serveur.

Etape 3 : décommenter le paramètre SecServerSignature

Décommentons maintenant la ligne contenant le paramètre SecServerSignature et positionnons sa valeur à " " (espace) :

<IfModule security2_module>
  SecServerSignature " "
  ...
</IfModule>

Redémarrer ensuite Apache afin de prendre en compte les modifications :

# /usr/local/apache2/bin/apachectl restart

Etape 4 : Noter la disparition des informations de la bannière

Se connecter avec telnet ou Netcat :

# nc 127.0.0.1 80
GET / HTTP/1.1
Host: 127.0.0.1

Appuyer sur ENTREE puis observer les résultats obtenus :

HTTP/1.1 200 OK
Date: Mon, 16 Nov 2009 18:29:54 GMT
Server: 
X-Powered-By: PHP/5.3.0
Noter les résultats obtenus : la bannière remplace la version d'Apache par la chaîne fournie dans le fichier de configuration.

Tunning des règles du firewall

Lors de vos tests, il est fort probable que certaines pages ne s'affichent plus (erreur 403 par exemple). Ceci est valable notamment si vous utilisez mediawiki, phpBB ou autre. Dans ce cas, il est nécessaire de consulter le fichier de logs /var/log/apache2/error.log et de repérer l'erreur obtenue à la fin du fichier, afin de paramétrer une exception de règle.