Cum pot șterge toate interdicțiile fail2ban din Ubuntu? Am încercat totul, dar nu-l înțeleg.
Vreau doar să șterg toate interdicțiile – dar nu cunosc nicio adresă IP.
Comentarii
- Interdicțiile se fac de obicei pe adresele IP prin firewall-ul dvs., așa că ar trebui să vă uitați la regulile firewall-ului.
- da, știu. dar vreau să șterg toate interdicțiile fără să spun o adresă IP
- ” Am încercat totul ” nu nu ‘ t. Ce ați încercat?
Răspuns
Răspuns actualizat
Începând cu versiunea 0.10. 0 fail2ban-client
include comanda unban
care poate fi utilizată în două moduri:
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
Mai mult, comenzile restart <JAIL>
, reload <JAIL>
și reload
au acum opțiunea --unban
.
Răspuns vechi
fail2ban folosește iptables
pentru a bloca traficul. Dacă doriți să vedeți adresele IP care sunt blocate în prezent, tastați
iptables -L -n
și căutați diferitele lanțuri numite fail2ban-something
, unde something
indică închisoarea fail2ban (de exemplu, Chain f2b-sshd
se referă la închisoarea sshd
). Dacă doriți doar să eliminați blocul pentru o singură adresă IP <IP>
pentru o închisoare dată <JAIL>
, fail2ban oferă propriul său client:
fail2ban-client set <JAIL> unbanip <IP>
Alternativ puteți utiliza numerele de linie. Mai întâi, enumerați regulile iptables
cu numere de linie:
iptables -L -n --line-numbers
Apoi puteți utiliza
iptables -D fail2ban-somejail <linenumber>
pentru a elimina o singură linie din tabel. Din câte știu, nu există nicio opțiune pentru a selecta o gamă de numere de linie, așa că cred că va trebui să înfășurați această comandă într-o buclă for:
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
Aici am făcut numărul 200. Verificați propria ieșire a comenzii cu --line-numbers
și rețineți că ultima linie (cu RETURN
) ar trebui să rămână. Vedeți comentariul lui @roaima de mai jos pentru raționamentul din spatele numărării în jos.
Comentarii
- M-ați salvat. Mulțumesc mult. Vă rugăm să adăugați o comandă pentru că a trebuit să-mi dau seama că am nevoie de clientul fail2ban în fruntea comenzii tale. (Pentru că sunt un noob)
Răspunde
Cel mai bun mod de a anula toate IP-urile este să setați bantime la 1 secundă, apoi tot IP-ul va fi eliberat imediat.
fail2ban-client set JailName bantime 1
După aceea, puteți seta timpul de interzicere corect.
Este mai bine să lăsați fail2ban să facă unban pentru dvs. Nu modificați manual iptables.
Comentarii
- Acesta este singurul răspuns corect aici. Fail2ban își păstrează propria bază de date de interzicere care trebuie ștearsă independent Fiecare răspuns care vorbește despre ștergerea regulilor iptables ignoră faptul că în momentul în care fail2ban este reluat, va adăuga din nou regulile pe care tocmai le-ați șters în iptables. De asemenea, nu toate configurațiile fail2ban folosesc iptables pentru a implementa interdicții.
- găsiți toate închisorile cu
fail2ban-client status
- Tocmai am emis această comandă și urmăresc cum numărul IP-urilor din închisoarea mea scade spre zero pe măsură ce fail2ban procesează închisoarea. se întâmplă foarte repede, dar ‘ e OK, au existat peste cinci mii de intrări în închisoare. Răspuns bun!
Răspuns
Cel mai recent cel mai recent fail2ban-client
(0.10) are o comandă unban -all
. Închisorile pot fi, de asemenea, „repornite” individual, efect eliminarea banilor.
Dacă aveți o versiune mai veche, acest truc ar putea funcționa pentru interdicțiile temporare automate: ștergeți închisoarea care conține interdicția, apoi reporniți fail2ban, astfel încât închisoarea (acum goală) să fie recreată.
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
Comentarii
- -all sau —all? Sau –all?
Răspuns
-
Oprirea serviciului va curăța toate regulile adăugate de fail2ban
service fail2ban stop
-
Dacă nu aveți alte reguli iptables, le puteți spăla
iptables -F
Aveți grijă: acest lucru va șterge orice alte reguli din iptables .
Comentarii
- Doar oprirea și pornirea din nou au fost suficiente.
Răspuns
Salvează configurația iptabilă în fișier
$ iptables-save > iptables.conf
Editați-l cu orice editor doriți decât să încărcați config înapoi la iptables
$ iptables-restore < iptables.conf
Nu uitați să stocați configurația în iptables, astfel încât să fie selectată până la repornire
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
Răspuns
iată un oneliner simplu pentru a dezbina întregul fail2ban jail în mod corect:
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
NOTĂ: comanda iptables ia prefixul „f2b-” înainte de numele închisorii în timp ce „fail2ban-client” numele real al închisorii
Comentarii
- Acesta este cel mai bun răspuns pentru versiunile fail2ban de mai jos 0.10. Puteți merge mai departe creând un alias în .bashrc, cum ar fi fail2ban-purge, cu un parametru pentru a purja o închisoare întreagă. Doar înlocuiți cuvântul recidiv de mai sus cu $ 1 și utilizați alias ca fail2ban-purge < JAIL_NAME >.
Răspuns
Datorită modului în care funcționează fail2ban
, există doar două soluții posibile:
- Creați un script de configurare firewall care să includă
fail2ban
închisori și reporniți firewall-ul. - Eliminați regulile firewallului care blochează adresele IP pe care doriți să le anulați. .
Răspuns
Acesta este scriptul pe care îl folosesc pentru a anula toate adresele IP pentru o închisoare ssh ( pur și simplu înlocuiți ocurența sshd cu numele închisorii de care aveți nevoie … ex. 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
Răspundeți
Poate că acest script ar putea ajuta pe cineva cu o versiune < 0.10.0 ca mine:
#!/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