Apportez votre aide…
Ceci est une ancienne révision du document !
ModSecurity
ModSecurity est un module d'Apache spécialisé dans la sécurité. Il permet donc de sécuriser la couche applicative avant l'arrivée des requêtes sur le site hébergé sur l'Apache en question. Même s'il s'agit d'un module, ses fonctionnalités sont vastes et permettent de toucher à tous les points de sécurité nécessaire. Comme utilisations possible, citons la détection de tentatives d'inclusions, la lutte anti-spam, l'utilisation d'exploits (il permet de cacher les numéros de versions utilisées sur les pages d'erreur renvoyées par le serveur Web), l'application d'une liste noire (ou blanche), etc…
Pré-requis
- Disposer des droits d'administration.
- Disposer d'un serveur Apache installé. Voir la page correspondante
Installation
Pour installer ce logiciel, il suffit d'installer le paquet libapache2-modsecurity. Cela aura le résultat de créer:
- Les fichiers mod-security.conf et mod-security.load dans le dossier /etc/apache2/mod-available. Le lien symbolique (correspondant à la commande "a2enmod mod-security" sera automatiquement créé).
- Le dossier /etc/modsecurity/. Il contiendra toute la configuration à venir. Pour que la configuration soit prise en compte, il faudra que les fichiers contenant les directives disposent d'un suffixe .conf.
- Le dossier /usr/share/modsecurity-crs/. Il contient des exemples de fichier à utiliser selon les besoins de l'administrateur.
Configuration minimale
Pour fonctionner, ModSecurity a besoin d'une configuration activée, non présente après l'installation du module. Pour ce faire, il est possible de simplement renommer le fichier /etc/modsecurity/modsecurity.conf-recommended, et lui enlever la partie "-recommanded" pour qu'il soit reconnu par l'application.
Il est nécessaire de comprendre que s'agissant d'un module, la configuration associée est ici séparée dans un dossier à part (/etc/modsecurity/), mais que cela est parfaitement optionnel. Il suffit que la configuration est lue par le moteur Apache, pour que les directives modsecurity soient reconnues. Par exemple, il est possible de placer directement les directives dans les fichiers de VirtualHost
La configuration de ce fichier, via la directive "SecRuleEngine DetectionOnly", n'aura pas l'action de bloquer quelle que requête que ce soit. Elle se contentera de journaliser les détections (voir partie suivante). Si, à des fins de tests, ou quand votre configuration vous semble parée, vous pensez être prêt à bloquer les requêtes suspectes, alors il faut passer le paramètre SecRuleEngine à On.
Journalisation (log)
Deux fichiers de logs sont présents à l'activation de l'application:
- /var/log/apache2/modsec_audit.log - Audit Log : Permet un audit approfondi de chaque requête, avec tous les éléments nécessaires, classés selon le type de données (type d'header, pattern détecté, etc…) récoltée.
- /var/log/apache2/modsec_debug.log - Debug Log : Permet un affichage bien plus condensé des informations, en ne gardant que les plus essentielles. Utile pour retrouver une requête bloquée sur un serveur en production.
Les paramètres de la journalisation sont configurables dans n'importe quel fichier pris en compte par Apache.
Utilisation
TODO
Désinstallation
TODO
Voir aussi
- Discussion « J'ai un soucis avec le logiciel Bidule » sur le forum Ubuntu-fr
—- Contributeurs principaux : Guillaume Fenollar, et bientôt vous?