Fail2Ban tenta correttamente di vietare l'IP ma l'IP non viene bannato - la catena iptables esiste ma non funziona


12

In esecuzione su Ubuntu 14.04 Server.

Quindi ho fail2ban correttamente configurato per elaborare /var/log/auth.logi tentativi di accesso SSH.

Dopo 3 tentativi falliti vedo questo nel registro fail2ban:

2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY

iptables -L mostra questa catena:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  BANNED_IP_ADDY  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

Eppure da quel IP posso ancora accedere tramite SSH senza problemi.

La stessa storia vale per tutte le mie prigioni fail2ban. Apache, ad esempio, posso vedere fail2ban rilevare correttamente il registro e dichiarare che vieta un IP. L'IP finisce in una catena iptables ma in realtà l'IP non viene rifiutato.

Ho la sensazione che in questi casi sia perché SSH non si trova sulla porta standard. È su una porta diversa.

Quindi, se forzo la regola jail ssh per usare la nuova porta:

[ssh]

enabled  = true
port     = 32323
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5

Quindi vedo questo errore:

2014-11-19 15:30:06,775 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 400
2014-11-19 15:30:06,778 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports 32323 -j fail2ban-ssh returned 400
2014-11-19 15:30:06,779 fail2ban.actions.action: ERROR  iptables -n -L INPUT | grep -q 'fail2ban-ssh[ \t]' returned 100
2014-11-19 15:30:06,780 fail2ban.actions.action: CRITICAL Unable to restore environment

Se lo lascio come

 port = ssh

Quindi entra correttamente in iptables ma la catena non funziona al REJECTtraffico (come menzionato sopra).

AGGIORNARE:

Se cambio:

banaction = iptables-multiport

Per:

banaction = iptables-allports

Quindi sembra funzionare. Quali sono le ripercussioni di questo cambiamento?

Sembra che causando il fail2bandivieto di un IP a causa di SSH con questo allportsabbia bandito OGNI porta per quell'IP. Scartato intenzionalmente a causa di ripetuti accessi ssh non riesce. Inoltre è stato vietato su ogni altro servizio.


Non ho mai riscontrato questo problema con fail2ban. Se desideri tornare a bloccare la singola porta, puoi provare questa soluzione: oschgan.com/drupal/index.php?q=node/52 . In alternativa fail2ban può utilizzare altri meccanismi come hosts.deny o route null se iptables sta causando dolore.
digitaladdictions

Dai un'occhiata /etc/fail2ban/actions.d, ha un file corrispondente a ciascuna di quelle azioni di divieto. All'interno vedrai quali comandi vengono utilizzati per escludere, sbloccare, avviare e arrestare fail2ban. Potresti provare a eseguire manualmente i comandi actionban e vedere cosa succede. I
Michael,

1
Cos'altro c'è nel tuo iptables? Fornire l'output completo di iptables -L -n -v(redazione degli indirizzi IP ove necessario). In particolare, nota il -v, che fornirà i contatori di byte e pacchetti per ogni catena e regola, facilitando il debug.
jplitza,

Ho avuto lo stesso identico problema. Fail2Ban vieta l'IP, posso vedere l'indirizzo nella catena fail2ban, ho ricevuto l'e-mail che è stata bandita ma l'indirizzo IP ha ancora accesso. Il cambiamento della banazione in tutti gli sport ha funzionato, ma non ho idea del perché!
Ergec,

Risposte:


2

Le catene fail2ban non sono collegate correttamente alle catene INPUT e OUTPUT. Modifica la tua domanda e fornisci un output di:

iptables -n -L INPUT
iptables -n -L OUTPUT

e anche tutte le catene fail2ban, e sarò in grado di essere più preciso.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.