Dans cet article, nous aurons expliqué les étapes nécessaires pour installer et configurer ModSecurity Apache sur Ubuntu 20.04 LTS. Avant de poursuivre ce tutoriel, assurez-vous d'être connecté en tant qu'utilisateur avec sudo
privilèges. Toutes les commandes de ce didacticiel doivent être exécutées en tant qu'utilisateur non root.
ModSecurity est le pare-feu d'application Web (WAF) open source le plus connu, offrant une protection complète pour vos applications Web (comme WordPress, Owncloud, Ghost, etc.) contre un large gamme d'attaques de couche 7 (HTTP), telles que l'injection SQL, les scripts intersites et l'inclusion de fichiers locaux. ModSecurity est une boîte à outils pour la surveillance, la journalisation et le contrôle d'accès des applications Web en temps réel.
Installer ModSecurity Apache sur Ubuntu 20.04
Étape 1. Tout d'abord, avant de commencer à installer un package sur votre serveur Ubuntu, nous vous recommandons de toujours vous assurer que tous les packages système sont mis à jour.
sudo apt update sudo apt upgrade
Étape 2. Installez ModSecurity sur le système Ubuntu.
Exécutez la commande pour l'installer sur Ubuntu :
sudo apt install libapache2-mod-security2
Redémarrez Apache pour que la modification prenne effet :
sudo systemctl restart apache2
Vérifiez que la version de ModSecurity :
apt-cache show libapache2-modsecurity
Étape 3. Configurez ModSecurity.
Maintenant, déplacez et changez le nom du fichier ModSecurity par défaut :
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
Ensuite, téléchargez le CRS OWASP ModSecurity depuis Github :
cd ~ git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
Après cela, déplacez et renommez crs-setup.conf.example
à crs-setup.conf
. Ensuite, déplacez également le répertoire rules/ :
cd ~/owasp-modsecurity-crs sudo mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf sudo mv rules/ /etc/modsecurity/
Ensuite, ouvrez ce fichier de configuration :
sudo nano etc/apache2/mods-available/security2.conf
Ajoutez une autre directive Include pointant vers l'ensemble de règles :
<IfModule security2_module> # Default Debian dir for modsecurity's persistent data SecDataDir /var/cache/modsecurity # Include all the *.conf files in /etc/modsecurity. # Keeping your local configuration in that directory # will allow for an easy upgrade of THIS file and # make your life easier IncludeOptional /etc/modsecurity/*.confInclude /etc/modsecurity/rules/*.conf </IfModule>
Redémarrez Apache pour que les modifications prennent effet :
sudo systemctl restart apache2
Étape 4. Testez ModSecurity.
Ouvrez la configuration Apache par défaut et ajoutez deux directives supplémentaires, en utilisant la configuration par défaut comme exemple :
sudo nano /etc/apache2/sites-available/000-default.conf
Ajouter le SecRuleEngine et SecRule directives comme indiqué ci-dessous :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SecRuleEngine On SecRule ARGS:modsecparam "@contains test" "id:4567,deny,status:403,msg:'ModSecurity test rule'" </VirtualHost>
Redémarrez Apache pour que les modifications prennent effet :
sudo systemctl restart apache2
Ensuite, curl
la page d'index pour déclencher intentionnellement les alarmes en utilisant ce qui suit :
curl localhost/index.html?modsecparam=test
Le code de réponse doit être 403. Il doit y avoir un message dans les journaux indiquant que la règle ModSecurity définie a fonctionné. Attendez-vous à recevoir un code de réponse 403 et à voir la réponse dans les journaux :
sudo tail -f /var/log/apache2/error.log
C'est tout ce que vous avez à faire pour installer ModSecurity sur Ubuntu 20.04 LTS Focal Fossa. J'espère que vous trouverez cette astuce rapide utile. Pour en savoir plus sur ModSecurity Apache, veuillez vous référer à leur base de connaissances officielle. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.