====== Sécurisation du login par Fail2ban ====== ---- ===== Installation ===== **Installons fail2ban puis copions le fichier de base au cas où et éditons-le !** apt-get install fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local ---- ===== Configuration ===== vi /etc/fail2ban/jail.local Les configurations sont les suivantes : * ignoreip : indique les adresses autorisées. * bantime : la durée du bannissement de l’utilisateur qui force le login. * findtime : la durée où l’utilisateur va essayer de rentrer X logins. * maxretry : le nombre de tentative avant le ban. * destemail : xxxxx@xxx.ovh * mta : la configuration d’envoi de l’emails. * action : pour être notifié par email de l'IP qui est banni. Pour résumer, si quelqu’un rentre plus de X fois un mauvais login / mot de passe pendant x heure, il est banni x heure. Et comme je veux le savoir, je vais ajouter la notification par email. Dans mon cas : vi /etc/fail2ban/jail.local # "bantime" is the number of seconds that a host is banned. bantime = 86400 ... # A host is banned if it has generated "maxretry" during the last "findtime" # seconds. findtime = 3600 ... # "maxretry" is the number of failures before a host get banned. maxretry = 3 ... # Destination email address used solely for the interpolations in # jail.{conf,local,d/*} configuration files. destemail = xxxxx@xxx.ovh ... mta = mail ... action = %(action_mwl)s ... [sshd] port = ssh logpath = journal backend = systemd enabled = true maxretry = 3 findtime = 300 bantime = 86400 #24 heures ignoreip = 127.0.0.1 ... [proxmox] enabled = true port = https,http,8006 filter = proxmox backend = systemd maxretry = 3 findtime = 2d bantime = 1h ---- ===== Configuration de la prison Proxmox ===== Un fichier supplémentaire est nécessaire pour cette prison, les autres existants déjà vi /etc/fail2ban/filter.d/proxmox.conf [Definition] failregex = pvedaemon\[.*authentication failure; rhost= user=.* msg=.* ignoreregex = ---- ===== redémarrage du service et vérification que les prisons sont bien actives ===== systemctl restart fail2ban.service fail2ban-client status Status |- Number of jail: 2 `- Jail list: proxmox, sshd ---- ===== Voir les tentatives d'intrusions ===== pour le filtre Proxmox : fail2ban-regex /var/log/fail2ban.log /etc/fail2ban/filter.d/proxmox.conf pour le filtre sshd : fail2ban-regex /var/log/fail2ban.log /etc/fail2ban/filter.d/sshd.conf ---- ===== Dé-bannir une IP ===== fail2ban-client set proxmox unbanip xxx.xxx.xxx.xxx ---- Sources :[[https://pve.proxmox.com/wiki/Fail2ban|Wiki Proxmox]]