Come posso eliminare tutti i divieti di fail2ban in Ubuntu? Ho provato di tutto ma non lo capisco.
Vorrei solo eliminare tutti i ban, ma non conosco alcun indirizzo IP.
Commenti
- I ban sono tipicamente fatti sugli indirizzi IP attraverso il tuo firewall, quindi dovresti guardare le regole del firewall.
- si lo so. ma voglio cancellare tutti i divieti senza indicare un indirizzo IP
- ” Ho provato di tutto ” no non hai ‘ t. Cosa hai provato?
Risposta
Risposta aggiornata
A partire dalla versione 0.10. 0 fail2ban-client
include il comando unban
che può essere utilizzato in due modi:
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
Inoltre, i comandi restart <JAIL>
, reload <JAIL>
e reload
ora hanno anche lopzione --unban
.
Vecchia risposta
fail2ban utilizza iptables
per bloccare il traffico. Se desideri visualizzare gli indirizzi IP attualmente bloccati, digita
iptables -L -n
e cerca le varie catene denominate fail2ban-something
, dove something
punta alla prigione fail2ban (ad esempio, Chain f2b-sshd
si riferisce alla prigione sshd
). Se desideri rimuovere il blocco solo per un singolo indirizzo IP <IP>
per una determinata jail <JAIL>
, fail2ban offre il proprio client:
fail2ban-client set <JAIL> unbanip <IP>
In alternativa puoi utilizzare i numeri di riga. Innanzitutto, elenca le iptables
regole con i numeri di riga:
iptables -L -n --line-numbers
Successivamente puoi utilizzare
iptables -D fail2ban-somejail <linenumber>
per rimuovere una singola riga dalla tabella. Per quanto ne so non esiste unopzione per selezionare un intervallo di numeri di riga, quindi immagino che dovresti racchiudere questo comando in un ciclo for:
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
Qui ho creato il numero 200. Controlla il tuo output del comando con --line-numbers
e nota che lultima riga (con RETURN
) dovrebbe rimanere. Vedi il commento di @roaima di seguito per il ragionamento alla base del conto alla rovescia.
Commenti
- Mi hai salvato. Grazie mille. Aggiungi un comando completo perché ho dovuto capire che avevo bisogno di fail2ban-client prima del tuo comando. (Perché sono un noob)
Risposta
Il modo migliore per sbloccare tutti gli IP è impostare il bantime a 1 secondo, quindi tutto lIP verrà liberato immediatamente.
fail2ban-client set JailName bantime 1
Dopodiché puoi reimpostare il tempo di ban appropriato.
È meglio lasciare che fail2ban esegua il blan per te. Non modificare manualmente iptables da solo.
Commenti
- Questa è lunica risposta corretta qui. Fail2ban mantiene il proprio database di ban che deve essere cancellato indipendentemente . Ogni risposta che parla delleliminazione delle regole di iptables ignora che nel momento in cui viene avviato il backup di fail2ban, le regole che hai appena eliminato verranno nuovamente aggiunte a iptables. Inoltre, non tutte le configurazioni di fail2ban utilizzano iptables per implementare i ban.
- trova tutte le jail con
fail2ban-client status
- Ho appena emesso questo comando e sto osservando il numero di IP nella mia prigione diminuire verso zero mentre fail2ban elabora la prigione. Non lo fa è successo molto velocemente, ma ‘ va bene, cerano più di cinquemila voci in prigione. Buona risposta!
Risposta
latest fail2ban-client
(0.10) ha un comando unban -all
. Le jail possono anche essere “riavviate” singolarmente, effecti azzerare vivamente i ban.
Se hai una versione precedente, questo trucco potrebbe funzionare per i ban temporanei automatici: elimina la jail che contiene il ban e riavvia fail2ban in modo che la jail (ora vuota) venga ricreata.
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
Commenti
- -all o —all? Oppure –all?
Answer
-
Larresto del servizio cancellerà tutte le regole aggiunte di fail2ban
service fail2ban stop
-
Se non hai altre regole di iptables, puoi scaricarlo
iptables -F
Fai attenzione: cancellerà qualsiasi altra regola nel tuo iptables .
Commenti
- Basta fermarsi e poi ricominciare da capo.
Risposta
Salva iptable config su file
$ iptables-save > iptables.conf
Modificalo con qualsiasi editor che ti piace Quindi carica la configurazione di nuovo su iptables
$ iptables-restore < iptables.conf
Non dimenticare di memorizzare la configurazione allinterno di iptables in modo che venga selezionata al riavvio
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
Risposta
ecco un semplice oneliner per sbloccare il tutto fail2ban jail nel modo corretto:
iptables -L f2b-recidive -n | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | grep -v 0.0.0.0 | xargs -n 1 fail2ban-client set recidive unbanip
NOTA: il comando iptables accetta il prefisso “f2b-” prima del nome della jail mentre “fail2ban-client” il vero nome della jail
Commenti
- Questa è la migliore risposta per le versioni fail2ban sotto la 0.10. Puoi andare oltre creando un alias in .bashrc come fail2ban-purge con un parametro per eliminare unintera jail. Basta sostituire la parola recidiva sopra con $ 1 e utilizzare lalias come fail2ban-purge < JAIL_NAME >.
Risposta
A causa del modo in cui funziona fail2ban
, ci sono solo due possibili soluzioni:
- Crea uno script di configurazione del firewall che includa
fail2ban
jail e riavvia il firewall. - Rimuovi le regole del firewall che bloccano gli IP che desideri sbloccare .
Risposta
Questo è lo script che sto utilizzando per sbloccare tutti gli indirizzi IP per una prigione ssh ( sostituisci semplicemente sshd occourence con il nome della jail che ti serve … ad es. mysqld-auth)
#!/bin/bash j=$(iptables -L f2b-sshd | grep -c "REJECT") for ((i=1;i<=j;i++)) do fail2ban-client set sshd unbanip $(fail2ban-client status sshd | grep "Banned IP list:" | cut -c23-) done
Answer
Forse questo script potrebbe aiutare qualcuno con una versione < 0.10.0 come me:
#!/bin/bash for JAIL in $(fail2ban-client status | grep "Jail list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/, / /g") do for IP in $(fail2ban-client status ${JAIL} | grep "Banned IP list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/ /\n/g") do fail2ban-client set ${JAIL} unbanip ${IP} done done unset JAIL IP exit 0