Mod_Security est une solution plutôt intéressante aux problèmes de sécurité liés aux applications web. En effet, ce module Open-source disponible pour Apache est à lui seul un détecteur de tentative d’intrusion et un rempart face à une multitude d’attaques connues. Mod_Security a notamment la capacité d’analyser très précisément toute requête envoyée au serveur http ou https et de la bloquer si elle peut représenter un danger pour l'applicatif web. Basé sur un système de règles relativement simples à écrire, le filtre de Mod_Security s’applique sur toute requête en fonction de patterns prédéfinis ou définis par l'utilisateur.
Quelques exemples d’utilisation de Mod_Security
Comment contrôler les extensions des fichiers « uploadés » par l’intermédiaire d’un formulaire ?
<Location /fileupload.php>
SecFilterInheritance Off
SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif)"
</Location>
Eviter les attaques de type « Cross-site-scripting » en mettant en place un filtrage des balises pouvant contenir du code HTML ou Javascript.
SecFilter "<(.|n)+>"
Etablir un filtrage par rapport à un mot clé, dans notre exemple toute requete contenant la string /etc/passwd ne sera pas transmise à l’applicatif web.
SecFilter /etc/password
Empêcher les attaques de type “directory transveral”.
SecFilter "../"
Autre exemple très pratique, déclancher l’exécution d’un programme externe lorsqu’une règle de filtrage est vérifiée. Dans notre exemple, si une requête contient le mot "foobar" alors toutes les informations sur cette requête sont enregistrées dans le fichier de log et le script report_alert.sh est exécuté.
SecFilter foobar log,exec:/home/acz/bin/report_alert.sh
Biensur, Mod_Security ne doit pas empêcher les entreprises qui manipulent des données sensibles (banques, assurances, ...) à travers des applicatifs web de procéder régulièrement à des audit de code source afin d'éliminer toute vulnérabilité pouvant permettre à un pirate de s'introduire sur une machine.
A ce propos, l'AFUP organise le 3éme forum PHP qui se tiendra le 26 et 27 novembre à Paris ou se tiendra une conférence sur la sécurité applicative web avec PHP dirigée par Alain Thivillon consultant en sécurité pour le cabinet HSC que nous avons récemment interviewé.