Image

Base de connaissances → Configuration de Fail2Ban pour se protéger contre la devinette de mot de passe

[Serveurs virtuels]
Date de publication: 27.01.2023

Le service Fail2Ban permet de bloquer les adresses IP des robots qui devinent les mots de passe de votre site. Récemment, il a souvent été utilisé pour mener des attaques, car un grand nombre de requêtes de publication créent une charge importante sur le serveur Web. Dans nos exemples, nous examinerons le blocage des adresses IP en utilisant l'exemple du CMS populaire - Wordpress, ainsi que pour le service ssh.

1. Installez le service Fail2Ban

1.1 Connectez le référentiel Epel

yum install epel-release 

puis dans /etc/yum.repos.d/epel.repo vous devez l'activer, activé = 1

yum install fail2ban

2. Paramètres généraux

Le service Fail2ban stocke ses fichiers de configuration dans le répertoire /etc/fail2ban. Il existe un fichier avec des valeurs par défaut appelé jail.conf. Étant donné que ce fichier peut être écrasé par les mises à jour du package, nous ne devons pas l'utiliser. Au lieu de cela, nous écrirons un nouveau fichier appelé jail.local. Toutes les valeurs définies dans jail.local remplacent les valeurs dans jail.conf.

jail.conf contient une section [DEFAULT], suivie de sections pour les services individuels. jail.local peut remplacer n'importe laquelle de ces valeurs. De plus, les fichiers de /etc/fail2ban/jail.d/ peuvent être utilisés pour remplacer les paramètres de ces deux fichiers. Les fichiers sont appliqués dans l'ordre suivant :

    /etc/fail2ban/jail.conf
    /etc/fail2ban/jail.d/*.conf, alphabetically
    /etc/fail2ban/jail.local
    /etc/fail2ban/jail.d/*.local, alphabetically

Vérifions et ajoutons les paramètres par défaut au fichier /etc/fail2ban/jail.local

[DEFAULT]

# Ban hosts for one hour:
bantime = 3600

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport

[sshd]
enabled = true

Redémarrons le service

service fail2ban restart

Vérifions l'état avec la commande

fail2ban-client status

3. Filtre Wordpress

Ajoutons un filtre et une règle (prison) pour bloquer les adresses IP qui ont accédé à l'adresse /wp-login.php (administrateur Wordpress) plus de 10 fois à partir de la même adresse IP en 10 minutes.

3.1 Filtre

/etc/fail2ban/filter.d/wordpress.conf

[Definition]

failregex = ^.* "POST .*/wp-login.php([/\?#\\].*)? HTTP/.*" 200
ignoreregex =

En utilisant ce filtre, nous rechercherons des adresses IP.

3.2 Ajouter une prison

/etc/fail2ban/jail.d/wordpress.conf

[wordpress]

action = iptables-multiport[name="wordpress", port="http,https"]
filter = admin-wordpress
logpath = /var/www/vhosts/system/*/logs/*access*log
/var/log/httpd/*access_log

Si vous utilisez un autre serveur Web, vous devez modifier le filtre en fonction de la manière dont il génère le journal et spécifier le chemin correct vers le fichier journal (access_log). Après avoir apporté des modifications, vous devez redémarrer le service.





Aucun commentaire pour l'instant