Apache 2 et ModSecurity 2 facile !!!

Qu’est-ce que Apache ?

Non, je ne vous ferais pas le déshonneur de répondre à cette question !!! Un petit lien pour ceux qui ne savent pas, mais c’est tout : ici.

Qu’est-ce que ModSecurity ?

ModSecurity 2 est une extension Apache qui permet d’analyser les requêtes HTTP, et de détecter certaines attaques potentielles sur les applications Web qu’Apache peut héberger ou qu’Apache peut protéger en mode reverse-proxy. En clair, commercialement parlant, c’est un firewall pour les applications Web.

Cette extension est donc une bonne première protection pour les applications Web qui sont toujours potentiellement vulnérables. Le contexte de déploiement et de fonctionnement de l’application Web va jouer sur les paramètres de configuration de l’extension ModSecurity. On peut alors tuner finement les paramètres pour bloquer toute requête jugée illicite vis à vis du serveur Web, mais c’est un travail assez long qui nécessite de bien connaître les applications qui sont protégées.

Nous allons juste voir comment l’installer simplement sur un serveur Debian Etch (Pourquoi Debian, nous le verrons dans un autre billet concernant les distributions Linux et la sécurité) :

  • Editer le fichier /etc/apt/source.list

deb http://etc.inittab.org/~agi/debian/libapache-mod-security2/etch ./

  • Installer le package :

apt-get install libapache2-mod-security2

  • Créer et editez le fichier /etc/apache2/conf.d/mod-security2.conf :

Include mod-security2/*.conf

  • Ajouter un paquet de règle depuis cette adresse : http://www.modsecurity.org/download/modsecurity-core-rules_2.1-1.4.3.tar.gz

cd /etc/apache2/
mkdir mod-security2
cd mod-security2
wget http://www.modsecurity.org/download/modsecurity-core-rules_2.1-1.4.3.tar.gz
tar -xzf modsecurity-core-rules_2.1-1.4.3.tar.gz
rm modsecurity-core-rules_2.1-1.4.3.tar.gz

  • Il faut editer le fichier /etc/apache2/mod-security2/modsecurity_crs_10_config.conf, pour faire pointer les fichiers de logs (modsec_audit.log, modsec_debug.log) dans un bon répertoire, comme /var/log/apache2.
  • Puis recharger Apache2 :

/etc/init.d/apache2 reload

  • La dernière partie consistera à surfer sur vos sites Web, puis à regarder les logs de ModSecurity, pour désactiver les règles qui empêchent l’accès à ceux-ci.

Il ne faut pas oublier que ModSecurity n’est qu’un moyen préventif contre les intrusions sur les sites Web, et qu’il ne faut pas oublier les règles de base concernant le développement sécurisé, et aussi l’audit sécurité visant à conforter vos choix technique dans le développement de vos applications.