|
Tutorial
: Installation sécurisée, automatisée
en globalité ou manuelle de Apache pour
Linux avec Openssl, Php4, Mysql,
Mod_ssl,
Mod_rewrite, Mod_perl , DSO
&
Mod_security avec les rêgles de l'IDS
Snort
Par Xavier
Poli, SecuObs.com
Le 03/05/2004
|
|
Pages : 1
- 2
- 3
- 4
- 5
- 6
- 7
----------------------------------------
Installer mod_security-1.7.6
en tant que DSO pour apache :
cd
/usr/src/
tar -zxvf mod_security-1.8.tar.gz
cd mod_security-1.8
/usr/local/apache/bin/apxs -cia ./apache1/mod_security.c
-DEAPI
|
Vérifiez la présence des lignes
suivantes dans leur section respective du fichier
de configuration d'apache /usr/local/apache/conf/httpd.conf,
sinon ajoutez les dans la section DSO :
LoadModule
security_module libexec/mod_security.so
AddModule mod_security.c
|
Convertir
les rêgles snort du fichier snortrules-snapshot-CURRENT
avec le script perl snort2modsec.pl :
cd
/usr/src/
chmod +x snort2modsec.pl
rm -fr /usr/src/rules/
tar -C /usr/src/ -zxvf snortrules-snapshot-CURRENT.tar.gz
./snort2modsec.pl /usr/src/rules/* >
/usr/local/apache/conf/modsec.conf
|
Ajouter la section module suivante dans le fichier
de configuration d'apache /usr/local/apache/conf/httpd.conf
avec votre éditeur préféré
et ajuster vos rêgles :
<IfModule
mod_security.c>
# activer le moteur de mod_security
SecFilterEngine On
# vérifie la validité
de l'encodage des urls
SecFilterCheckURLEncoding On
# vérifie la validité
de l'unicode
SecFilterCheckUnicodeEncoding On
# Only allow bytes from this range
SecFilterForceByteRange 0 255
# log seulement pour certaines requetes
SecAuditEngine RelevantOnly
# Nom du fichier de log
SecAuditLog logs/modsec_log
# niveau de debug
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
# activation du scan des données
en POST, par exemple les formulaires
SecFilterScanPOST On
# log des requetes http suspectes avec
un status erreur 401, erreur d'authentification
SecFilterDefaultAction "deny,log,status:401"
# l'insertion du fichier modsec.conf
contenant l equivalent des regles snort
pour mod_security
include /usr/local/apache/conf/modsec.conf
</IfModule> |
Vous pouvez éditer le fichier /usr/local/apache/conf/modsec.conf
et le fichier /usr/local/apache/conf/httpd.conf
pour retirer ou configurer des rêgles.
Le fichier modsec.conf devra de toutes façons
être quelque peu modifié car la
syntaxe de certaines rêgles (*xxx*, \x00,
etc) empêche l'insertion du fichier dans
httpd.conf, supprimer les rêgles qui posent
problèmes, le lancement de la commande
apachectl start ou apachectl startssl (/usr/local/apache/bin/)
vous donnera plus d'informations sur les rêgles
qui posent problèmes.
Quelques exemples de règles possibles
sur lesquelles vous pouvez vous baser pour forger
les votres que vous inclurez dans httpd.conf
directement :
| #
filtre un mot dans la premiere ligne
de la requête
SecFilter keyword
# filtres les mots dans des variables
SecFilterSelective "variable list
separated with |" keyword
# autoriser une adresse ip à
bypasser l'ensemble des regles de deny
SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$"
nolog,allow
# bypasser les rêgles pour les
requetes avec HTTP_USER_AGENT = x
SecFilterSelective HTTP_USER_AGENT "x"
# n'autoriser les cookies que si ils
comprenent entre 1 et 9 caractéres
SecFilterSelective COOKIE_sessionid
"!^(|[0-9]{1,9})$"
# les entetes HTTP_USER_AGENT &
HTTP_HOST sont requises, pas de telnet
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST"
"^$"
# ne pas autoriser les fichiers en upload
SecFilterSelective "HTTP_CONTENT_TYPE"
multipart/form-data
# check si le login secuobs est utilisé
avc un mauvais passwd puis fait appel
à un script externe comme l'envoi
d'un mail ou autre
SecFilterSelective REQUEST_URI "login_failed\.php"
chain
SecFilterSelective ARG_username "^secuobs$"
log,exec:/usr/local/apache/bin/mail.pl
# interdire googlebot
SecFilter HTTP_USER_AGENT "Google"
nolog,redirect:http://www.google.com
# refuser les javascripts sauf ceux
inclus dans une variable
SecFilter "ARGS|!ARG_html"
"<[:space:]*script"
|
Différentes actions sont possibles :
| deny
allow
status
redirect
exec
log
nolog
pass
pause
|
Vous
pouvez installer tout ce qui a trait à
mod_security + la conversion des rêgles
Snort d'un seul coup avec le fichier suivant.
Nommez le mod_security.sh, passez un chmod +x
mod_security.sh, placez le dans /usr/src/ puis
éxécutez le avec la commande ./mod_security.sh
en vous plaçant au préalable dans
/usr/src/, le fichier :
#!/bin/sh
cd
/usr/src/
tar -zxvf mod_security-1.8.tar.gz
cd mod_security-1.8
mkdir -p /home/usr/local/apache
/usr/local/apache/bin/apxs -cia ./apache1/mod_security.c
cd /usr/src/
chmod +x snort2modsec.pl
rm -fr /usr/src/rules/
tar -C /usr/src/ -zxvf snortrules-snapshot-CURRENT.tar.gz
./snort2modsec.pl /usr/src/rules/* >
/usr/local/apache/conf/modsec.conf
|
Pages : 1
- 2
- 3
- 4
- 5
- 6
- 7
----------------------------------------
|
|
|
|
|
| Mini-Tagwall | | | |
Revue de presse : security, microsoft, windows, vulnérabilité, network, google, vulnerability, hacker, attack, inject, remote, mobile, server
+ de mots clés pour la revue de presse
Annuaires des videos : virus, spyware, vmware, firmware, biometric, lockpicking, wimax, password, kernel, malware, spammer, windows, iphone
+ de mots clés pour les videos
| | |
|
|