03
Nov 05

Securiser votre serveur Apache avec mod_security

03 novembre 2005 | Non classé

Mod_Security est un module pour Apache qui apporte une solution aux problêmes de sécurité et d’attaques applicatives web. En effet, malgrés le déploiement de mesures de sécurité élevées sur un serveur web, il est toujours possible qu’une simple erreur de programmation dans un script « cgi » ou « php » mette en péril l’intégrité et la confidentialité des données stockées.

Installation sous Linux/Debian:

Verifions tout d’abord si les packages sont disponnibles via apt:

serveur:~# apt-cache search libapache-mod-security libapache-mod-security - Tighten web applications security for Apache 1.x mod-security-common - Tighten web applications security - common files

On installe:

serveur:~# apt-get install libapache-mod-security mod-security-common

Installation à  partir des sources: (necessite apache-dev => apt-get install apache-dev)

serveur:~# wget http://www.modsecurity.org/download/modsecurity-1.8.7.tar.gz serveur:~# tar xzvf  modsecurity-1.8.7.tar.gz serveur:~# cd modsecurity-1.8.7 serveur:~/modsecurity-1.8.7# apxs -cia apache1/mod_security.c

Verifions que le module est bien déclaré dans modules.conf:

serveur:~# cat /etc/apache/modules.conf|grep security LoadModule security_module /usr/lib/apache/1.3/mod_security.so

Si ce n’est pas le cas, rajouter donc cette ligne.

Dans /etc/apache/httpd.conf, rajouter:

< IfModule mod_security.c > # activer le moteur de mod_security SecFilterEngine On # vérifie la validité de l'encodage des urls SecFilterCheckURLEncoding On # vérifie la validité de l'unicode SecFilterCheckUnicodeEncoding On # Only allow bytes from this range SecFilterForceByteRange 0 255 # log seulement pour certaines requetes SecAuditEngine RelevantOnly # Nom du fichier de log SecAuditLog /var/log/apache/modsec_log # niveau de debug SecFilterDebugLog /var/log/apache/modsec_debug_log SecFilterDebugLevel 0 # activation du scan des données en POST, par exemple les formulaires SecFilterScanPOST On # log des requetes http suspectes avec un status erreur 401, erreur d'authentification SecFilterDefaultAction "deny,log,status:401" # Controle des fichiers a uploader (seules des images autorisées ici) SecFilterInheritance Off SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif|png)"  # les entetes HTTP_USER_AGENT & HTTP_HOST sont requises, pas de telnet SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$" # Eviter les attaques de type « Cross-site-scripting » SecFilter "<(.|n)+>" # toute requete contenant la string /etc/passwd ne sera pas transmise à  l’applicatif web. SecFilter /etc/password # Basic protection contre les commandes system SecFilter /bin/sh SecFilter /bin/bash SecFilter /bin/ls #Empécher les attaques de type “directory transveralâ€?. SecFilter "../" # Eviter les problemes de SQL Injection SecFilter "delete[[:space:]]+from" SecFilter "insert[[:space:]]+into" SecFilter "select.+from" #Prévention des attaques de type XSS SecFilter "<(.|n)+>" ] < /IfModule >

Le site de Mod_Security
Voir aussi
Publié sur Generation Libre


  • Securiser votre serveur Apache avec mod_security

    Mod_Security est un module pour Apache qui apporte une solution aux problêmes de sécurité et d’attaques applicatives web. En effet, malgrés le déploiement de mesures de sécurité élevées sur un serveur web, il est toujours possible qu&#82…