Mod_security est un module Apache qui aide à protéger votre site Web contre diverses attaques telles que les scripts intersites, les attaques par injection SQL, les attaques de traversée de chemin, etc. Mod_evasive est un module Apache qui aide à prévenir les attaques HTTP DoS (DDoS) ou les attaques par force brute du serveur. . Si CentOS est installé sur votre serveur, suivez ces instructions pour installer mod_security avec l'ensemble de règles de base OWASP.
Pour installer et configurer les modules mod_security et mod_evasive sur un VPS Ubuntu afin de renforcer et sécuriser votre serveur web Apache, suivez les étapes décrites ci-dessous :
Assurez-vous que tous les packages du système d'exploitation sont à jour :
sudo apt-get updatesudo apt-get upgrade
Installez mod-security et mod-evasive à l'aide de la commande suivante :
sudo apt-get install libapache2-mod-security2 libapache2-modsecurity libapache2-mod-evasive
Pour activer les règles mod_security, copiez le fichier de configuration mod_security recommandé, puis modifiez-le et définissez l'option "SecRuleEngine" sur On :
sudo cp /etc/modsecurity/modsecurity.conf{-recommandé,}sudo vi /etc/modsecurity/modsecurity.conf
SecRuleEngine activé
De plus, c'est une bonne idée d'augmenter la valeur 'SecRequestBodyLimit' à la taille maximale des fichiers que vous accepteriez de télécharger sur le serveur, par exemple, réglez-la sur 32 Mo et interdisez à mod_security d'accéder aux corps de réponse pour économiser certaines ressources du serveur :
SecRequestBodyLimit 32768000SecRequestBodyInMemoryLimit 32768000SecResponseBodyAccess Désactivé
Les règles mod_security sont disponibles dans les répertoires suivants :
/usr/share/modsecurity-crs/base_rules/usr/share/modsecurity-crs/optional_rules/usr/share/modsecurity-crs/experimental_rules
Pour activer toutes les règles de base du CRS, créez des liens symboliques à l'aide de la commande suivante :
sudo ln -s /usr/share/modsecurity-crs/base_rules/*.conf /usr/share/modsecurity-crs/activated_rules/
Pour activer les fichiers de règles facultatifs et expérimentaux de CRS que vous souhaitez utiliser, créez des liens symboliques sous l'emplacement du répertoire « enabled_rules » en conséquence.
Il est recommandé de télécharger et de configurer l'ensemble de règles de base OWASP (Open Web Application Security Project) :
sudo apt-get install gitsudo git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.gitsudo mv /usr/share/modsecurity-crs /usr/share/modsecurity-crs.baksudo mv owasp- modsecurity-crs /usr/share/modsecurity-crssudo mv /usr/share/modsecurity-crs/crs-setup.conf.example /usr/share/modsecurity-crs/crs-setup.conf
Modifiez les fichiers suivants :
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_35_bad_robots.conf
commentaires lignes 16, 21 et 28 :
#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_bad_robots.data" \#SecRule REQUEST_HEADERS:User-Agent "@pmFromFile modsecurity_35_bad_robots.data" \#SecRule REQUEST_HEADERS:User-Agent
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_40_generic_attacks.conf
commentaire ligne 169 :
#SecRule REQUEST_COOKIES|!REQUEST_COOKIES :/__utm/|!REQUEST_COOKIES :/_pk_ref/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML :/* "@pmFromFile modsecurity_40_generic_attacks.data" \
sudo vi /usr/share/modsecurity-crs/activated_rules/modsecurity_crs_50_outbound.conf
commentaire ligne 101 :
#SecRule RESPONSE_BODY "!@pmFromFile modsecurity_50_outbound.data" \
Configurez le module mod_evasive :
sudo vi /etc/apache2/mods-available/mod-evasive.conf
DOSHashTableSize 3097 DOSPageCount 10 DOSSiteCount 30 DOSPageInterval 1 DOSSiteInterval 3 DOSBlockingPeriod 3600 DOSLogDir /var/log/apache2/mod_evasive.log
Voir le fichier README inclus avec mod_evasive pour plus de détails sur les différents paramètres de configuration.
Créer un fichier journal pour mod_evasive :
touchez /var/log/apache2/mod_evasive.logsudo chown www-data:www-data /var/log/apache2/mod_evasive.log
Exécutez la commande suivante pour activer les modules Apache :
sudo a2enmod headersudo a2enmod evasivesudo a2enmod security2
Redémarrez le serveur web Apache2 :
redémarrage du service sudo apache2
Vérifiez si les modules mod_security et mod_evasive sont activés sur votre serveur :
sudo apachectl -M | grep security2security2_module (partagé)sudo apachectl -M | grep evasiveevasive20_module (partagé)
Si vous avez un site Web basé sur WordPress hébergé sur votre VPS, vous devrez probablement désactiver certaines règles de mod_security. Pour désactiver/exclure certaines règles mod_security, vous pouvez modifier l'hôte virtuel de votre domaine défini dans le fichier de configuration Apache de votre domaine, par exemple :
ServerName votredomaine.com ServerAlias www.votredomaine.com DocumentRoot /var/www/html/wordpress/ Options +FollowSymLinks AllowOverride FileInfo SecRuleRemoveById 300016 SecRuleRemoveById 300016 SecRuleRemoveById 950117 SecRuleRemoveById 950005
N'oubliez pas de redémarrer le serveur Web Apache pour que les modifications prennent effet, exécutez donc la commande suivante :
redémarrage du service sudo apache2
Consultez le fichier journal /var/log/apache2/modsec_audit.log pour trouver les règles déclenchées par mod_security sur votre serveur Web.
C'est ça. Vous avez mod_security et mod_evasive installés sur votre VPS Ubuntu.
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer mod_security et mod_evasive pour toi. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.