In esecuzione su Ubuntu 14.04 Server.
Quindi ho fail2ban correttamente configurato per elaborare /var/log/auth.log
i 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 REJECT
traffico (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 fail2ban
divieto di un IP a causa di SSH con questo allports
abbia bandito OGNI porta per quell'IP. Scartato intenzionalmente a causa di ripetuti accessi ssh non riesce. Inoltre è stato vietato su ogni altro servizio.
/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
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.