Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
modsecurity [Le 08/05/2022, 22:18] 81.64.57.7 [ModSecurity] |
modsecurity [Le 11/09/2022, 10:36] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | |||
{{tag>Trusty Apache mod}} | {{tag>Trusty Apache mod}} | ||
---- | ---- | ||
- | ====== ModSecurity ======a | + | ====== 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écessaires. 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... | 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écessaires. 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... | ||
Ligne 20: | Ligne 19: | ||
* 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 ///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. | * Le dossier ///usr/share/modsecurity-crs/.// Il contient des exemples de fichier à utiliser selon les besoins de l'administrateur. | ||
- | s | + | |
===== Configuration générale ===== | ===== Configuration générale ===== | ||
Ligne 32: | Ligne 31: | ||
Ceci a comme résultat d'afficher une signature serveur différente de l'habituelle, affichant les versions utilisées par les applications d'Apache. Cela est un problème de sécurité, car si votre serveur n'est pas à jour et qu'une faille existe sur un des applicatifs utilisés, le pirate peut facilement s'en rendre compte et l'exploiter. La signature est le plus souvent affichée sur les pages de code d'erreur (exemple: page 404). | Ceci a comme résultat d'afficher une signature serveur différente de l'habituelle, affichant les versions utilisées par les applications d'Apache. Cela est un problème de sécurité, car si votre serveur n'est pas à jour et qu'une faille existe sur un des applicatifs utilisés, le pirate peut facilement s'en rendre compte et l'exploiter. La signature est le plus souvent affichée sur les pages de code d'erreur (exemple: page 404). | ||
- | Pour ce faire, il faut placer dans la configuration (///etc/modsecurity/modsecurity.conf//) la directive "SecServerSignature" suivie du message désiré. | + | Pour ce faire, il faut placer dans la configuration (///etc/modsecurity/modsecurity.conf//) la directive "SecServerSignature" suivie du message désiré. |
Exemple : //SecServerSignature "Microsoft IIS7"// | Exemple : //SecServerSignature "Microsoft IIS7"// | ||
Ligne 63: | Ligne 62: | ||
Voici deux exemples de commandes simples pour appréhender la puissance du moteur de modsecurity. | Voici deux exemples de commandes simples pour appréhender la puissance du moteur de modsecurity. | ||
- | * **Détection Antispam** : | + | * **Détection Antispam** : |
<code>SecRule ARGS "(test)?[ \.-_]+detection" \ | <code>SecRule ARGS "(test)?[ \.-_]+detection" \ | ||
"deny,severity:2,msg:'Spam',redirect:http://yourdomain/blocked.html"</code> | "deny,severity:2,msg:'Spam',redirect:http://yourdomain/blocked.html"</code> | ||
Ligne 69: | Ligne 68: | ||
Cette règle aura le rôle de bloquer toute tentative d'écriture (que ce soit par le biais des champs de recherche, d'envoi de commentaire, etc...) faisant appel aux mots clés "test detection", "test_detection", "detection", mais pas du mot "test" utilisé seul. On s’aperçoit alors du nombre de possibilités permises par l'utilisation d'expressions régulières. | Cette règle aura le rôle de bloquer toute tentative d'écriture (que ce soit par le biais des champs de recherche, d'envoi de commentaire, etc...) faisant appel aux mots clés "test detection", "test_detection", "detection", mais pas du mot "test" utilisé seul. On s’aperçoit alors du nombre de possibilités permises par l'utilisation d'expressions régulières. | ||
- | * **Mise en œuvre d'une Liste Noire** : | + | * **Mise en œuvre d'une Liste Noire** : |
<code>SecRule ARGS "@pmFromFile /etc/modsecurity/blacklist.txt" \ | <code>SecRule ARGS "@pmFromFile /etc/modsecurity/blacklist.txt" \ | ||
"deny,severity:2,msg:'Blacklisted',redirect:http://yourdomain/blocked.html"</code> | "deny,severity:2,msg:'Blacklisted',redirect:http://yourdomain/blocked.html"</code> |