Com instal·lar Fail2Ban per protegir SSH a CentOS/RHEL 8


Fail2ban és una eina de prevenció d'intrusions gratuïta, de codi obert i àmpliament utilitzada que escaneja fitxers de registre per a adreces IP que mostren signes maliciosos, com ara massa errors de contrasenya i molt més, i els prohibeix (actualitza les regles del tallafoc per rebutjar les adreces IP) . Per defecte, s'envia amb filtres per a diversos serveis, inclòs sshd.

En aquest article, explicarem com instal·lar i configurar fail2ban per protegir SSH i millorar la seguretat del servidor SSH contra atacs de força bruta a CentOS/RHEL 8.

Instal·lació de Fail2ban a CentOS/RHEL 8

El paquet fail2ban no es troba als repositoris oficials, però està disponible al repositori EPEL. Després d'iniciar sessió al vostre sistema, accediu a una interfície de línia d'ordres i, a continuació, activeu el repositori EPEL al vostre sistema tal com es mostra.

# dnf install epel-release
OR
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Després, instal·leu el paquet Fail2ban executant l'ordre següent.

# dnf install fail2ban

Configuració de Fail2ban per protegir SSH

Els fitxers de configuració de fail2ban es troben al directori /etc/fail2ban/ i els filtres s'emmagatzemen al directori /etc/fail2ban/filter.d/ (el fitxer de filtre per a sshd és /etc/fail2ban/filter.d/sshd.conf) .

El fitxer de configuració global del servidor fail2ban és /etc/fail2ban/jail.conf, però, no es recomana modificar aquest fitxer directament, ja que probablement es sobreescriurà o es millorarà en cas d'actualització del paquet en el futur.

Com a alternativa, es recomana crear i afegir les vostres configuracions en un fitxer jail.local o fitxers .conf separats al directori /etc/fail2ban/jail.d/. Tingueu en compte que els paràmetres de configuració establerts a jail.local substituiran el que estigui definit a jail.conf.

Per a aquest article, crearem un fitxer separat anomenat jail.local al directori /etc/fail2ban/ tal com es mostra.

# vi /etc/fail2ban/jail.local

Un cop obert el fitxer, copieu i enganxeu-hi la configuració següent. La secció [DEFAULT] conté opcions globals i [sshd] conté paràmetres per a la presó sshd.

[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Expliquem breument les opcions de la configuració anterior:

  • ignoreip: especifica la llista d'adreces IP o noms d'amfitrió que no cal prohibir.
  • bantime: ha especificat el nombre de segons durant els quals un amfitrió està prohibit (és a dir, la durada efectiva de la prohibició).
  • maxretry: especifica el nombre d'errors abans que un host sigui prohibit.
  • findtime: fail2ban prohibirà un host si ha generat maxretry durant els últims findtime segons.
  • banaction: prohibir l'acció.
  • backend: especifica el backend utilitzat per obtenir la modificació del fitxer de registre.

La configuració anterior, per tant, significa que si una IP ha fallat 3 vegades en els últims 5 minuts, prohibiu-la durant 6 hores i ignoreu l'adreça IP 192.168.56.2.

A continuació, inicieu i activeu el servei fail2ban de moment i comproveu si està en funcionament mitjançant la següent comanda systemctl.

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban

Supervisió de l'adreça IP fallida i prohibida mitjançant fail2ban-client

Després de configurar fail2ban per assegurar sshd, podeu supervisar les adreces IP fallides i prohibides mitjançant el client fail2ban. Per veure l'estat actual del servidor fail2ban, executeu l'ordre següent.

# fail2ban-client status

Per supervisar la presó sshd, executeu.

# fail2ban-client status sshd

Per desbancar una adreça IP a fail2ban (a totes les presons i bases de dades), executeu l'ordre següent.

# fail2ban-client unban 192.168.56.1

Per obtenir més informació sobre fail2ban, llegiu les pàgines de manual següents.

# man jail.conf
# man fail2ban-client

Això resumeix aquesta guia! Si teniu cap pregunta o pensament que voleu compartir sobre aquest tema, no dubteu a posar-vos en contacte amb nosaltres mitjançant el formulari de comentaris que trobareu a continuació.