Installation modsecurity-apache sur Debian Squeeze
La version de modsecurity n’étant pas très récente pour la squeeze. Je préfère créer un paquet
binaire à partir des sources de la Sid.
Installation de modsecurity-apache (2.6.3-1) à partir des sources Debian Sid (unstable)
Je prends les 3 fichiers sources dans les paquetages Sid.
wget http://ftp.de.debian.org/debian/pool/main/m/modsecurity-apache/modsecurity-apache_2.6.3-1.dsc
wget http://ftp.de.debian.org/debian/pool/main/m/modsecurity-apache/modsecurity-apache_2.6.3.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/main/m/modsecurity-apache/modsecurity-apache_2.6.3-1.debian.tar.gz
Dépaquette une archive source Debian
dpkg-source -x modsecurity-apache_2.6.3-1.dsc
cd modsecurity-apache-2.6.3/
Si on édite modsecurity-apache_2.6.3-1.dsc, on peut voir les dépendances à satisfaire pour créer le paquet.
Build-Depends: debhelper (>> 7.0.0), apache2-threaded-dev | apache2-prefork-dev, libxml2-dev (>= 2.0.50-10), liblua5.1-0-dev, libcurl4-gnutls-dev
aptitude install apache2-prefork-dev libxml2-dev liblua5.1-0-dev libcurl4-gnutls-dev
Construction du paquet
debuild -us -uc
Résultat
libapache2-modsecurity_2.6.3-1_i386.deb
Modsecurity peut être configuré avec des règles fournis par l’OWAP. Elles permettent une protection générique contre les vulnérabilités régulières trouvées dans les applications web (modsecurity-crs – OWASP ModSecurity Core Rule Set Project)
Je télécharge le dernier modsecurity-crs (à faire régulièrement)
$ cd /etc/modsecurity/
$ wget http://downloads.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.3.tar.gz
$ tar xzf modsecurity-crs_2.2.3.tar.gz
$ mv modsecurity-crs_2.2.3 modsecurity-crs
Un exemple de configuration est fourni avec l’archive :
cp modsecurity_crs_10_config.conf.example modsecurity_crs_10_config.conf
J’édite le fichier de configuration du module mod-security de Apache
vi /etc/apache2/mods-available/mod-security.con
<IfModule security2_module>
# Default Debian dir for modsecurity's persistent data
SecDataDir /var/cache/modsecurity
# ajoute ici les fichiers de configurations
Include "/etc/modsecurity/modsecurity-crs/modsecurity_crs_10_config.conf"
Include "/etc/modsecurity/modsecurity-crs/base_rules/*.conf"
</IfModule>
J’active les règles en les passant dans le répertoire des activated_rules
cp base_rules/* activated_rules/
J’édite le fichier de configuration de modsecurity
vi modsecurity_crs_10_config.conf
–> SecRuleEngine On
Et zou…on redémarre Apache
/etc/init.d/apache2 restart
——–
Tests
——-
On peut tester avec une série de requêtes http
index.php?SELECT * FROM mysql.users
index.php?foo=http://fakeattacker.com
?abc=../../
Contrôle des log
[error] [client 192.168.0.13] ModSecurity: Access denied with code 403 (phase 2). Pattern match "^[\\\\\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/etc/modsecurity/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "98"] [id "960017"] [rev "2.2.3"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [tag "http://technet.microsoft.com/en-us/magazine/2005.01.hackerbasher.aspx"] [hostname "192.168.0.222"] [uri "/index.php"] [unique_id "TxG9rn8AAQEAADp8CEYAAABC"]
[Sat Jan 14 18:45:28 2012] [error] [client 192.168.0.13] ModSecurity: Access denied with code 403 (phase 2). Pattern match "^[\\\\\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/etc/modsecurity/modsecurity-crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "98"] [id "960017"] [rev "2.2.3"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [tag "http://technet.microsoft.com/en-us/magazine/2005.01.hackerbasher.aspx"] [hostname "192.168.0.222"] [uri "/index.php"] [unique_id "TxG-OH8AAQEAADp7CXsAAAAA"]
——-
Quelques Doc en référence
——-
http://www.modsecurity.org/documentation/modsecurity-apache/2.1.3/html-multipage/03-configuration-directives.html
http://library.linode.com/web-servers/apache/mod-security
——-
Cet article Installation modsecurity-apache sur Debian Squeeze est apparu en premier sur PointRoot.org.