Requisits previs
Pas 1: actualitzeu el sistema
Pas 2: modifiqueu el port SSH (opcional)
Pas 3: instal·leu i configureu fail2ban per protegir SSH
Fail2ban, com el seu nom indica, és una utilitat dissenyada per ajudar a protegir les màquines Linux dels atacs de força bruta a determinats ports oberts, especialment el port SSH. Pel bé de la funcionalitat i la gestió del sistema, aquests ports no es poden tancar mitjançant un tallafoc. En aquesta circumstància, és una bona idea utilitzar Fail2ban com a mesura de seguretat addicional a un tallafoc per restringir el trànsit d'atac de força bruta en aquests ports.
En aquest article, us mostraré com instal·lar i configurar Fail2ban per protegir el port SSH, l'objectiu d'atac més comú, en una instància del servidor Vultr Debian 9.
Requisits previs
- Una nova instància del servidor Debian 9 (Stretch) x64.
- Inicieu sessió com a
root.
- Tots els ports no utilitzats s'han bloquejat amb les regles d'IPTables adequades.
Pas 1: actualitzeu el sistema
apt update && apt upgrade -y
shutdown -r now
Un cop arrenqui el sistema, torneu a iniciar sessió com a root.
Pas 2: modifiqueu el port SSH (opcional)
Com que el número de port SSH predeterminat 22és massa popular per ignorar-lo, canviar-lo a un número de port menys conegut, per exemple, 38752seria una decisió intel·ligent.
sed -i "s/#Port 22/Port 38752/g" /etc/ssh/sshd_config
systemctl restart sshd.service
Després de la modificació, heu d'actualitzar les regles d'IPTables en conseqüència:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 38752 -j ACCEPT
Deseu les regles IPTables actualitzades en un fitxer amb finalitats de persistència:
iptables-save > /etc/iptables.up.rules
touch /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables
echo '#!/bin/sh' >> /etc/network/if-pre-up.d/iptables
echo '/sbin/iptables-restore < /etc/iptables.up.rules' >> /etc/network/if-pre-up.d/iptables
D'aquesta manera, les regles d'IPTables seran persistents fins i tot després d'un reinici del sistema. A partir d'ara, caldrà iniciar sessió des del 38752port.
Utilitzeu-lo aptper instal·lar la versió estable de Fail2ban que actualment és 0.9.x:
apt install fail2ban -y
Després de la instal·lació, el servei Fail2ban s'iniciarà automàticament. Podeu utilitzar l'ordre següent per mostrar el seu estat:
service fail2ban status
A Debian, la configuració del filtre Fail2ban per defecte s'emmagatzemarà tant al /etc/fail2ban/jail.conffitxer com al /etc/fail2ban/jail.d/defaults-debian.conffitxer. Recordeu que la configuració del darrer fitxer anul·larà la configuració corresponent del primer.
Utilitzeu les ordres següents per veure més detalls:
cat /etc/fail2ban/jail.conf | less
cat /etc/fail2ban/jail.d/defaults-debian.conf
fail2ban-client status
fail2ban-client status sshd
Per a la vostra informació, a continuació es mostren fragments de codi sobre SSH:
En /etc/fail2ban/jail.conf:
[DEFAULT]
bantime = 600
...
maxentry = 5
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
En /etc/fail2ban/jail.d/defaults-debian.conf:
[sshd]
enabled = true
Com que el contingut dels dos fitxers de configuració anteriors pot canviar en futures actualitzacions del sistema, hauríeu de crear un fitxer de configuració local per emmagatzemar les vostres pròpies regles de filtre fail2ban. De nou, la configuració d'aquest fitxer anul·larà la configuració corresponent dels dos fitxers esmentats anteriorment.
vi /etc/fail2ban/jail.d/jail-debian.local
Introduïu les línies següents:
[sshd]
port = 38752
maxentry = 3
Nota: Assegureu-vos d'utilitzar el vostre propi port SSH. Excepte porti maxentryesmentat anteriorment, la resta de configuracions utilitzaran els valors predeterminats.
Desa i surt:
:wq
Reinicieu el servei Fail2ban per carregar la nova configuració:
service fail2ban restart
La nostra configuració s'ha completat. A partir d'ara, si alguna màquina envia credencials SSH incorrectes al port SSH personalitzat del servidor Debian ( 38752) més de tres vegades, la IP d'aquesta màquina potencialment maliciosa es prohibirà durant 600 segons.