Cambiando la configuración de fail2ban para bloquear con pf

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hola, soy un inútil. Hoy es un artículo de incompetencia pura.

¡¿Eh?! ¡Están apareciendo registros extraños en fail2ban.log!

Bueno, bueno, estaba echando un vistazo a lo que había sido baneado por fail2ban... y mientras lo hacía, vi esto:

2024-07-24 20:52:43,027 fail2ban.utils          [39963]: INFO    HINT on 127: "Command not found".  Make sure that all commands  
in "{ iptables -w -C f2b-sshd -j RETURN >/dev/null 2>&1; } || { iptables -w -N f2b-sshd || true; iptables -w -A f2b-sshd -j RE  
TURN; }  
for proto in $(echo 'tcp' | sed 's/,/ /g'); do  
{ iptables -w -C INPUT -p $proto -m multiport --dports ssh -j f2b-sshd  
 >/dev/null 2>&1; } || { iptables -w -I INPUT -p $proto -m multiport --dports ssh -j f2b-sshd; }  
done" are in the PATH of fail  
2ban-server process (grep -a PATH= /proc/pidof -x fail2ban-server/environ). You may want to start "fail2ban-server -f" separa  
tely, initiate it with "fail2ban-client reload" in another shell session and observe if additional informative error messages a  
ppear in the terminals.  
  

¡Vaya, parece que falta un comando...! ¡¡¡Lo había olvidado por completo!!!
En el caso de FreeBSD, se controla con pf... Para GNU/Linux, iptables está bien, pero lo había olvidado por completo a pesar de estar usando BSD... Así que voy a configurarlo de nuevo, consultando este sitio web... https://dbdemon.com/pf_and_fail2ban Por lo tanto, como mi propio servidor es $exsrv1,

# Fail2Ban  
table &LTf2b> persist  
anchor "f2b/*"  
block drop in log quick on $exsrv1 from &LTf2b> to any  
  

Con esto, la configuración está hecha. O sea, ¿es posible usar expresiones regulares como f2b/*...? Y luego, reconfiguré jail.conf. Lo puse en la sección Default, sin más.

[DEFAULT]  
banaction = pf[actiontype=&LTallports>]  
banaction_allports = pf[actiontype=&LTallports>]  
  
[sshd]  
enabled = true  
port    = ssh  
logpath = /var/log/auth.log  
bantime = 1w  
findtime = 1d  
maxretry = 5  
  
[postfix]  
enabled = true  
port    = smtp,ssmtp,submission  
logpath = /var/log/maillog  
bantime = 1w  
findtime = 1d  
maxretry = 10  
  
[dovecot]  
enabled = true  
port    = pop3,pop3s,imap,imaps,submission  
logpath = /var/log/maillog  
bantime = 1w  
findtime = 1d  
maxretry = 10  
  

En cuanto a los archivos de configuración, ya está configurado por defecto en action.d/pf.conf, y al mirarlo image
parece que no necesito modificar la llamada a los comandos de esta manera. Y con esto, reinicié fail2ban y pf, y al revisar los registros de fail2ban, parece que las IPs que habían sido baneadas hasta ahora se mantienen.

# fail2ban-client status sshd  
Status for the jail: sshd  
|- Filter  
|  |- Currently failed: 1  
|  |- Total failed:     1  
|  `- File list:        /var/log/auth.log  
`- Actions  
   |- Currently banned: 37  
   |- Total banned:     37  
   `- Banned IP list:   *  
  

Con esto, observaré la situación de nuevo.
Hasta entonces. Gracias de nuevo.

Related Posts