Installer fail2ban


fail2ban va vous permettre automatiquement de bannir les IP lors de tentatives d'intrusions, il va regarder dans vos logs les erreurs et avertissements et bannir en fonction de certains critères. Vous allez voir un exemple plus bas...

installer fail2ban:

apt-get install fail2ban

Configurer fail2ban

nano /etc/fail2ban/jail.conf

# Modification de l email de l Admin pour un envoi des banissements par email 

destemail = nom@domaine.com

# Modification des parametres de configuration par défaut :

[DEFAULT]
bantime = 20   # durée du ban, ici 20sec
maxretry = 10 # nb de tentatives avant bannissement

# apres vous pouvez configurer les services à bannir en cas d'attaque
# pour activer mettre enabled a true
# et vérifier les logpath car fail2ban les utilise pour les bannissements
# vous pouvez commenter les services que vous n utilisez pas

[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

#
# FTP servers
#

[vsftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = vsftpd
logpath  = /var/log/vsftpd.log
# or overwrite it in jails.local to be
# logpath = /var/log/auth.log
# if you want to rely on PAM failed login attempts
# vsftpd's failregex should match both of those formats
maxretry = 6


#[proftpd]
#
#enabled  = false
#port    = ftp,ftp-data,ftps,ftps-data
#filter   = proftpd
#logpath  = /var/log/proftpd/proftpd.log
#maxretry = 6

Et on redémarre fail2ban

/etc/init.d/fail2ban restart


Dans cet exemple de configuration des bannissement d'IP et pour la section [ssh] voici quelques explications:

[DEFAULT] : section DEFAULT quelques paramètres par défaut

bantime = 20 : durée du bannissement , ici 20 seccondes
maxretry = 10 : nombre de tentatives avant bannissement

[ssh] : section ssh

enabled = true : filtrage activée pour cette section si cette valeur est true et désactivée si false
port = ssh : nom du port
filter = sshd : à vrai dire je ne sais pas ce qu'est ce paramètre, lisez la doc de fail2ban...
logpath = /var/log/auth.log : le fichier log où sont stockées les erreurs d'accès au port ssh
maxretry = 6 : nombre maximum de tentatives échouées ce après quoi l'IP est bloquée pendant bantime seconde

Remarque: il est possible de lancer fail2ban au démarrage du serveur, pour cela lire l'article Installer un parefeu

Pour savoir dans quel état et pour vérifier la configuration de fail2ban, vous pouvez faire ceci:

service fail2ban status -1

Loaded: loaded (/etc/init.d/fail2ban)
Active: active (running) since ven. 2017-11-24 23:23:20 CET; 12h ago
Process: 17294 ExecStop=/etc/init.d/fail2ban stop (code=exited, status=0/SUCCESS)
Process: 17315 ExecStart=/etc/init.d/fail2ban start (code=exited, status=0/SUCCESS)
 CGroup: /system.slice/fail2ban.service
         └─17327 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid

nov. 24 23:23:20 ksxxxxx.kimsufi.com fail2ban[17315]: Starting authentication failure monitor: fail2ban.
nov. 24 23:23:20 ksxxxxx.kimsufi.com systemd[1]: Started LSB: Start/stop fail2ban.

Vérifier un regex fail2ban


/etc/fail2ban/filter.d# fail2ban-regex -v /var/log/apache2/fichier.log /etc/fail2ban/filter.d/ton-filtre.conf 
Vos commentaires
Laisser un commentaire
sera en attente de modération, validation NON automatique
Javascript should be activated
Recopiez le code SVP:
pseudoVotre nom (obligatoire)
emailEmail ou site internet (facultatif)
(nécessaire si vous souhaitez être prévenu d'une réponse)
photo, imageImage/photo (facultatif)
(JPG, JPEG, PNG ou GIF)
(image de partition concernant le question par exemple)
Ne pas remplir si vous êtes un humain (anti spam)