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.