Fail2ban, el programa per mantindre actualitzat el tallafocs

Un dels elements fonamentals per un servidor connectat a internet és el firewall o tallafocs. La seua funció és limitar l’impacte d’una mala utilització dels usuaris de la xarxa contra el teu ordinador que tant t’ha costat d’instal·lar i configurar. Clar, si vols que la teua informació estiga disponible per als visitants cal que obrigues els ports corresponents als serveis que vulgues compartir, es a dir, obrir el port 80 per al servei http, el 443 per a https (cada volta més imprescindible), el port 25 i 110 per al correu, el 22 si vols tindre accés i administració remota, etcètera. El tallafocs serà qui regule amb quins ports es pot accedir i com han de dirigir-se els paquets d’informació.

Internet és la xarxa mundial i entre els usuaris hi ha que vols provar els seus coneixement o qui vol aprofitar les instal·lacions d’altres per a fer els seus experiments o activitats no autoritzades. Si és delicte o no, cal que ho diga un jutge.

Davant la situació de rebre un atac i identifiques la ip corresponent tens la opció de fer manualment una regla que bloquege eixa adreça d’internet o ip. La regla per a bloquejar una ip a iptables es:

iptables -I INPUT -s xx.xx.xx.xx -j DROP

Ara bé, vull pensar que tens vida i que vols dormir, menjar, caminar i ser amb les persones que estimes. És molt difícil que pugues vigilar vint-i-quatre hores al dia durant cada dia les connexions del teu servidor. I ara? Que podem fer?

Senzill, trobar un programa que ho faça de forma automàtica. I el programa més conegut i més eficient és fail2ban. Pots instal·lar les últimes versions, a hores d’ara va camí de a versió 0.11, o cercar-la al programari de la teua distribució de linux. Està disponible a diversos repositoris com ara les basades en Debian on només cal que utilitzes aquest codi per instal·lar-lo al teu computador:

apt-get install fail2ban

La versió disponible és la 0.10 que representa un canvi amb la 0.8 que era l’anterior més utilitzada. Per exemple, et recomane que utilitzes la utilitat fail2ban-regex per verificar que els filtres, fets amb tota la bona intenció, analitzen correctament les errades al teu servidor.

Un exemple:

fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf -v

I com és inevitable, el resultat de la consulta:

De vegades et convé afegir cadenes de filtre per missatges que actualment son ignorats i poden alertar d’activitats problemàtiques.

Per exemple, al meu filtre de sshd he afegit la següent línia:

^%(__prefix_line)sBad protocol version identification.from .$

Evidentment és una decisió de filtratge molt agressiva ja que la connexió no s’ha arribat a establir. Però així estic més tranquil.

Una volta comprovar els filtres a activar cal fer el fitxer jail.local on hi ha que definir els filtres que activaràs:

[sshd]
enabled = true
backend = auto
port = ssh
logpath = %(sshd_log)s
action = iptables-new

En el cas del filtre ssh no cal cap configuració més. Ara bé si vols bloquejar el port adient per a un bloqueig de una mala utilització del servidor web apache, segurament voldràs especificar el port a bloquejar i caldrà afegir aquest tipus de línia:

action = iptables-new[port=http,https]

Amb això bloquejaràs només el port corresponent a l’atac rebut.

Una volta tingues tots els filtres que vulgues activar definits, cal que escrigues:

fail2ban-client reload

Si la resposta es OK tot va bé i endavant.

Una volta en marxa, si vols saber quantes deteccions ha fet cada filtre cal aquesta línia:

fail2ban-client status

per a veure els filtres activats

fail2ban-client status sshd

per veure el nombre de ip detectades, les que encara no han arribat al màxim d’intents, i les bloquejades que ja les han superades.

Si a més de consultar la situació en que es troben els filtres o vols dotorejar sobre les ip, a quina hora s’ha fet el bloqueig, d’on venen i quantes voltes has bloquejat eixa ip, dispose d’una utilitat fail2mysql que permet ingressar a una base de dades la ip, la ubicació geogràfica i la data del primer i del últim registre.

Però això serà un escrit per a un altre dia.

La medina blava.

El món és més que el que tenim al voltant i encara hi ha qui viu en un temps i amb uns valors que ens fan essers humans.

Aqui deixe un recull de la història i la vida en la memòria del segle XXI.

Salutació

Inicie l’activitat del bloc amb la idea de que algú trobe quelcom útil al recull de notes sobre l’activitat que faig per a aprendre i millorar el servidor web en el que s’allotja el bloc i alguns serveis d’internet.

Gràcies per l’escolta.