Apache est l’un des serveurs Web les plus utilisés et les plus populaires au monde, il est donc important de protéger votre site Web et vos utilisateurs contre les attaques par force brute. Fail2ban est un logiciel open source de prévention des intrusions écrit en Python. Fail2Ban analyse en permanence les fichiers journaux de divers services (comme Apache, ssh, postfix …), et s’il détecte des attaques malveillantes, il crée des règles sur le pare-feu pour bloquer les adresses IP des pirates pendant une durée spécifiée. Fail2Ban informe également un administrateur système avec un e-mail de son activité.
Dans cet article, je vais expliquer comment installer fail2ban et le configurer pour surveiller vos journaux Apache pour les tentatives d’échec d’authentification malveillantes.
Contenu
Exigences
Installation de Fail2Ban
Tout d’abord, assurez-vous que le serveur Apache est en cours d’exécution et que l’authentification par mot de passe est activée.
Ensuite, vous pouvez installer Fail2ban en exécutant :
Configurer fail2ban pour Apache
Le fail2ban conserve son fichier de configuration « jail.conf » dans le répertoire « /etc/fail2ban/ ». Il contient un ensemble de filtres prédéfinis pour divers services et il est recommandé de ne pas modifier ce fichier. Vous devez activer les jails Apache prédéfinis en créant un fichier « /etc/fail2ban/jail.local » :
Pour créer un nouveau fichier « jail.local », exécutez :
Ajoutez le contenu suivant :
enabled = vrai port = http,https filter = apache-auth logpath = /var/log/apache2/*error.log maxretry = 3 findtime = 600 ignoreip = 192.168.1.227
[apache-noscript] enabled = true port = http,https filter = apache-noscript logpath = /var/log/apache2/*error.log maxretry = 3 findtime = 600 ignoreip = 192.168.1.227Enregistrez et fermez le fichier, puis redémarrez fail2ban pour que les modifications prennent effet.
Vous pouvez vérifier les règles ajoutées par Fail2Ban dans iptables à l’aide de la commande suivante :
La sortie ressemblera à ceci :
Noter : Vous pouvez trouver les détails de chaque prison décrite ci-dessous :
Noter : Vous pouvez trouver les détails de chaque règle décrite ci-dessous.
Vérifier le statut d’interdiction Fail2ban
Une fois les jails activés, vous pouvez vérifier fail2ban en utilisant la commande fail2ban-client :
Vous pouvez voir une liste de toutes les prisons que vous avez activées.
Pour voir l’état d’une prison particulière comme apache, apache-badbots en exécutant les commandes suivantes :
La sortie ressemble à ceci :
Vous pouvez également définir manuellement des adresses IP ban ou unban.
Par exemple, pour bannir une adresse IP (192.168.1.20) avec une jail Apache :
Pour débloquer une adresse IP (192.168.1.21) avec une prison Apache :
Test de Fail2Ban
Il est important de tester votre fail2ban s’il fonctionne comme prévu ou non. Maintenant sur une machine distante, ouvrez votre navigateur Web et tapez l’URL de votre domaine (ou l’adresse IP de votre serveur). Lorsqu’Apache vous invite à vous authentifier, donnez à plusieurs reprises un nom d’utilisateur et un mot de passe incorrects. Après avoir atteint la limite, vous devriez être bloqué et incapable d’accéder au site.
Vérifiez l’état avec la commande fail2ban-client :
Vous verrez votre adresse IP bloquée sur le site.
Conclusion
Maintenant, vous avez suffisamment de connaissances pour configurer fail2ban. L’utilisation de fail2ban est un moyen simple et efficace d’arrêter les inondations (attaques par force brute). C’est aussi un bon moyen de limiter le nombre de mauvaises requêtes que vous recevez sur votre serveur web Apache.
Cet article est-il utile ? Oui Non