Come rimuovere correttamente un IP da un errore con Fail2Ban


200

Sto usando Fail2Ban su un server e mi chiedo come sbloccare correttamente un IP.

So di poter lavorare direttamente con IPTables: iptables -D fail2ban-ssh <number>

Ma non c'è un modo per farlo con il fail2ban-client?

Nei manuali si afferma qualcosa di simile a: fail2ban-client get ssh actionunban <IP>. Ma questo non funziona.

Inoltre, non voglio /etc/init.d/fail2ban restartche ciò perderebbe tutti i divieti nell'elenco.

Risposte:


278

Con Fail2Ban prima della v0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Con Fail2Ban v0.8.8 e versioni successive:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

La parte difficile è trovare la prigione giusta:

  1. Utilizzare iptables -L -nper trovare il nome della regola ...
  2. ... quindi utilizza fail2ban-client statusper ottenere i nomi effettivi del carcere. Il nome della regola e il nome del carcere potrebbero non essere gli stessi, ma dovrebbe essere chiaro quale sia correlato a quale.

2
Se hai il seguente errore 'Invalid Action name', leggi questa risposta
Morgan Courbet,

32
Con le versioni recenti di fail2bante dovresti usare fail2ban-client set JAIL_NAME unbanip 1.2.3.4.
tftd

1
Qual è il nome del jail predefinito? /etc/fail2ban/jail.confnon funziona per me.
Alex W,

1
Puoi trovare il nome della jail nel registro fail2ban se cerchi il tuo IP
fred727

7
sshd era il nome della prigione per me.
agustaf,

82

Dal momento che v0.8.8 c'è l' unbanipopzione ( actionunbannon è per questo scopo) Può essere attivata dal setcomando, se guardi l'elenco delle opzioni, vedrai che la sintassi è. Quindi sarà (a memoria, per favore controlla):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

più generico:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

per me va bene


3
Il comando unbanip è stato aggiunto nella versione 0.8.8. La soluzione migliore se si esegue 0.8.8 o versioni successive.
Alexander Garden,

1
Il problema relativo a questo nel tracker fail2ban è questo: github.com/fail2ban/fail2ban/issues/132
aseques

questa è la risposta corretta per le versioni attuali. grazie!
Billynoah,

ottenere "Comando non valido (nessuna azione impostata o non ancora implementata)"
Tom

è necessario indicare il nome jail corretto (ad esempio sshd o sshd-dos, consultare il registro fail2ban)
miraggio

53

Esempio per SSH in modalità interattiva.

digita bash:

fail2ban-client -i

quindi in modalità interattiva, leggi lo stato di una prigione:

status sshd

otterrai:

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

quindi digitare in modalità interattiva fail2ban:

set sshd unbanip 203.113.167.162

otterrai:

203.113.167.162

significa che non è più 203.113.167.162nell'elenco dei divieti.


3
Per me il nome della prigione era sshd(Ubuntu 16)
scipilot il

Sulla mia, si dice totale vietato: 6, ma l'elenco sotto IP vietato è semplicemente vuoto :( bisogna scorrere i registri
William Hilsum

21

La risposta di ukoda è sbagliata:

Chiama fail2ban-clientsenza parametri e viene visualizzato un elenco di possibili comandi:

get JAIL actionunban ACT             

Questo ottiene il comando unban per l'azione ACT per JAIL.

Guarda il parametro action della jail che hai definito, probabilmente hai un'azione iptables e forse un po 'più come sendmail, whois o altro. quindi nel caso in cui la tua azione fosse iptables apparirà così:

fail2ban-client get JAIL actionunban iptables

e la risposta sarà:

iptables -D fail2ban-NAME -s IP -j DROP

Ti mostrerà solo cosa dovresti scrivere per un unban. Non esiste un comando unban stesso.


3
Sì, ha funzionato per me, liberarmi dalla prigione SSH iptables -D fail2ban-ssh -s <IP> -j DROP. Grazie ingo!
Deele

8

Se 192.168.2.1 è vietato

sudo iptables -L

Controlla in quale catena è vietato ad es

Chain fail2ban-sasl (1 riferimenti)

DROP all - 192.168.2.1 ovunque

Poi:

# to view the proper command for un-banning
sudo fail2ban-client get sasl actionunban
# actual command
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP

4

Devi prima ottenere il nome della prigione. È possibile ottenere l'elenco (nella maggior parte dei casi sarà solo ssh jail):

fail2ban-client status

Dopo aver ottenuto il nome del jail è possibile verificare quali IP vengono ignorati.

fail2ban-client get ssh ignoreip

Se il tuo IP è nell'elenco ignora, puoi eliminarlo tramite:

fail2ban-client set ssh delignoreip your_ip_address
vi /etc/hosts.deny

Rimuovi la voce del tuo host:

fail2ban-client reload

2
L'elenco ignora è un elenco di IP da non vietare mai. Questo è totalmente estraneo all'elenco degli IP attualmente vietati, che è l'elenco da cui OP desidera rimuovere un IP.
jlh

3

Utilizzando fail2ban v.0.8.6:

$ sudo fail2ban-client status # to reveal your JAIL name (mine is ssh)
$ sudo fail2ban-client set ssh delignoreip your_ip_address
$ sudo nano /etc/hosts.deny # delete your ip address
$ sudo fail2ban-client reload

Questo presuppone che hosts.deny sia l'azione utilizzata .... Ma è ancora più utile delle cose che provano a cambiare il metodo di non abbonamento degli IP sulle versioni precedenti usando actionunban...
Gert van den Berg

L' delignoreipazione non sta rimuovendo un IP da un ban, sta rimuovendo un IP dall'elenco di IP ignorato (cioè IP che non verrà mai bannato).
Tonin

2

sfortunatamente con la versione 0.8.2 di fail2ban-client il comando:

fail2ban-client get jail actionunban ipaddress

non funziona. Per risolvere il problema, la scelta migliore è aggiornare fail2ban all'ultima versione e utilizzare la nuova opzione:

unbanip



0

Se stai eseguendo la versione v0.10.2:

sudo fail2ban-client unban YOUR_IP_ADDRESS

Questo è d'aiuto:

unban <IP> ... <IP> unbans <IP> (in all jails and database)

Confermato di funzionare nel mio caso quando molto probabilmente sono stato bannato a causa dell'accesso ripetuto del client ssh con password errata.

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.