Vous êtes ici

Améliorer la sécurité sur apache : mod-security

Pourquoi devoir améliorer la sécurité sur apache ? 

  •  Pour par exemple palier les failles de sécurités présentes sur diffèrents CMS non maintenu ou avec quelques mises à jours de sécurité en retard. 
  •  Pour ajouter des protections contre différentes attaques telles que les injections SQLs.
  •  En tant qu'administrateur d'un système, nous ne sommes pas toujours maitre des développements, prendre les devants en ajoutant une protection en amont n'est parfois pas un luxe

 

2 solutions s'offrent à nous :

  •  Installer un serveur en frontal devant notre serveur web existant et mettre en place le mod-security associé à un proxypass qui envoi les requêtes vers notre vrai serveur web.
  •  Mettre en place le mod-security sur notre serveur web principal.

 

Dans les 2 cas, voici la procédure à suivre pour activer le mod-security sur apache.

 

1) Installation de la librairie mod-security sur notre système, ici debian:

 

apt-get install libapache-mod-security

 

2) Maintenant mettre en place la configuration du modsecurity :

 

cd /etc/modsecurity
mv modsecurity.conf-recommended modsecurity.conf

 

3) Pour le moment, comme vous pouvez le constater dans le fichier de configuration modsecurity.conf, nous sommes seulement en mode audit, nous allons donc activer le modsecurity pour de vrai :

 

vi /etc/modsecurity/modsecurity.conf 

 

Passer le paramètre SecRuleEngine sur On :

 

SecRuleEngine On

/etc/init.d/apache2 restart

 

4) Pour le moment, très, trop peu de règles sont activées. Par chance certaines règles standards sont incluses avec le paquet mod-security, nous allons les mettres en place :

 

ln -s /usr/share/modsecurity-crs/base_rules /etc/modsecurity/activated_rules
cp /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf /etc/modsecurity/

 

vi  /etc/apache2/mods-enabled/mod-security.conf :

Ajouter la ligne :

Include "/etc/modsecurity/activated_rules/*.conf"

 

/etc/init.d/apache2 restart

 

5) Maintenant que nous avons activé plus de règles de filtrages, nous pouvons surveiller les logs pour voir si aucune règle n'interfère dans le bon fonctionnement de notre système, ou tout simplement voir si nous sommes victime d'attaques :

 

tailf /var/log/apache2/modsec_audit.log

 

Ces logs nous permettent de voir quelle règle a été déclenchée, et donc, nous permettre de l'adapter si celle ci gêne au bon fonctionnement de nos applications web.

 

Voila, votre serveur web est maintenant plus robuste face aux attaques extérieurs. Très honnêtement, au vu du nombre grandissant d'attaque sur internet, je conseil fortement de mettre en place le mod security sur vos serveurs web.

 

 

TIPS :

- Désactiver certaines règles du modsecurity pour un virtualhost en particulier (utile pour certains CMS ou autres):

<IfModule mod_security2.c>
SecRuleRemoveById 970015
SecRuleRemoveById 970018
</IfModule>


- Désactiver l'intégralité du modsecurity pour un virtualhost :


<IfModule mod_security2.c>
SecRuleEngine Off
</IfModule>

 

Tags: 

www.le-gas.fr : Le guide de l'admin Systeme