Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Fail2ban

De AJLSM
Aller à la navigation Aller à la recherche

Installation sur Ubuntu

[modifier | modifier le wikicode]

Il vous suffit juste de tapez cette commande :

sudo apt-get install fail2ban

Vous trouverez ci-joint le lien permettant de faire la configuration de fail2ban : https://doc.ubuntu-fr.org/fail2ban

Installation sur CentOS

[modifier | modifier le wikicode]

Sous CentOS, Fail2ban est fourni par le dépôt de paquets EPEL. Le métapaquet fail2ban dépend d’une série de paquets :

  • fail2ban-server
  • fail2ban-sendmail
  • fail2ban-firewalld

La mise en place d’une configuration simple intégrée au pare-feu FirewallD nécessite les seuls paquets fail2ban-server et fail2ban-firewalld :

sudo yum install fail2ban-server fail2ban-firewalld

Vous trouverez ci-joint le lien permettant de faire la configuration de fail2ban : https://blog.microlinux.fr/fail2ban-centos-7/

Débannir une adresse IP

[modifier | modifier le wikicode]

À l'aide de la commande suivante vous allez pouvoir voir les IP bannies :

sudo tail /var/log/fail2ban.log

Puis en tapant les commandes suivante vous allez pouvoir débannir vos adresses IP :

sudo fail2ban-client set sshd unbanip 11.22.33.44
sudo fail2ban-client set recidive unbanip 11.22.33.44

Pour créer une whiteliste qui vous permettra d'y mettre les adresses ip à ne pas bannir lorsque vous vous trompez de mot de passe, vous allez créer un fichier :

sudo touch /etc/fail2ban/jail.d/yunohost-whitelist.conf

Et ensuite l'éditer : sudo nano /etc/fail2ban/jail.d/yunohost-whitelist.conf

Puis y insérer les lignes suivantes, vous pouvez évidemment mettre plusieurs adresses IP séparées d'un espace :

[DEFAULT]

 ignoreip = 127.0.0.1/8 XXX.XXX.XXX.XXX

Sauvegardez puis rechargez la configuration :

sudo fail2ban-client reload

Vérifier quelles "JAIL" sont activées dans fail2ban avec la commande suivante :

$ fail2ban-client status
Status
|- Number of jail:	2
`- Jail list:	sshd

Vérifier la "JAIL" sshd

$ fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed:	3
|  |- Total failed:	30
|  `- File list:	/var/log/auth.log
`- Actions
   |- Currently banned:	3544
   |- Total banned:	3544
   `- Banned IP list:	1.116.198.56 1.145.85.221 1.194.166.30 ... [etc]

Ajout d'une "JAIL" pour le service proftpd

[modifier | modifier le wikicode]

Vérification du fonctionnement service proftpd

[modifier | modifier le wikicode]
journalctl -u proftpd.service

Configuration de fail2ban

[modifier | modifier le wikicode]

Éditez le fichier de configuration de fail2ban et ajoutez les paramètres suivants à la section [proftpd], après backend = %(proftpd_backend)s :

vim /etc/fail2ban/jail.conf

[...]
#
# FTP servers
#


[proftpd]

port     = ftp,ftp-data,ftps,ftps-data
logpath  = %(proftpd_log)s
backend  = %(proftpd_backend)s
enabled  = true                          # Active le service et ajoute la JAIL
filter   = proftpd                       # Correspond au filtre /etc/fail2ban/filter.d/proftpd.conf
maxretry = 10                            # Nombre de tentative avant le bannissement

Redémarrez le service fail2ban pour prendre en compte les modifications.

service fail2ban restart

Vérifier si la "JAiL" proftpd est activée :

fail2ban-client status

Status
|- Number of jail:	2
`- Jail list:	proftpd, sshd

Affichez les informations de la JAIL proftpd :

fail2ban-client status proftpd

Status for the jail: proftpd
|- Filter
|  |- Currently failed:	0
|  |- Total failed:	0
|  `- File list:	/var/log/proftpd/proftpd.log
`- Actions
   |- Currently banned:	0
   |- Total banned:	0
   `- Banned IP list:

Si le path du File list /var/log/proftpd/proftpd.log n'est pas bon, configurez rsyslog comme suit :

Configuration de rsyslog

[modifier | modifier le wikicode]

Normalement, lorsque proftpd est installé, les logs sont accessibles avec la commande suivante :

tail -f /var/log/proftpd/proftpd.log

Si le log n'est pas présent :

Ajoutez des paramètres suivants dans le fichier : /etc/rsyslog.d/50-default.conf

vim /etc/rsyslog.d/50-default.conf 
#  Default rules for rsyslog.
# 
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

:programname, isequal, "proftpd" -/var/log/proftpd/proftpd.log
& stop

Après ajout de cette règle, re-démarrer rsyslog et fail2ban :

service rsyslog restart
$ service fail2ban restart
1980  journalctl -u proftpd.service
1981  su ajlsm
1982  fail2ban-client status sshd
1983  fail2ban-client status
1984  systemctl status fail2ban
1985  journalctl -u proftpd.service
1986  fail2ban-client status sshd
1987  journalctl -u proftpd.service
1988  systemctl restart snmpd
1989  who
1990  systemctl stop snmpd
1991  who
1992  journalctl -u proftpd.service
1993  systemctl restart snmpd
1994  systemctl stop snmpd
1995  journalctl -u proftpd.service
1996  vim /var/log/proftpd/controls.log
1997  tail -f /var/log/proftpd/proftpd.log
1998  less /var/log/proftpd/proftpd.log
1999  tail -f /var/log/proftpd/proftpd.log
2000  exit
2001  systemctl restart snmpd
2002  less /var/log/proftpd/proftpd.log
2003  systemctl stop snmpd
2004  less /var/log/proftpd/proftpd.log
2005  vim /etc/rsyslog.d/50-default.con
2006  vim /etc/rsyslog.d/50-default.conf 
2007  service rsyslog service
2008  service rsyslog service status
2009  /etc/init.d/rsyslog status
2010  vim /etc/rsyslog.d/50-default.conf 
2011  service rsyslog restart
2012  less /var/log/proftpd/proftpd.log
2013  time
2014  date
2015  tail -f /var/log/proftpd.log
2016  vim /etc/rsyslog.d/50-default.conf 
2017  service rsyslog restart
2018  less /var/log/proftpd/proftpd.log
2019  tail -f /var/log/proftpd/proftpd.log
2020  vim /etc/fail2ban/filter.d/proftpd.conf
2021  vim /etc/fail2ban/jail.conf
2022  service fail2ban restart
2023  tail -f /var/log/proftpd/proftpd.log