Jak mohu odstranit všechny zákazy fail2ban v Ubuntu? Vyzkoušel jsem všechno, ale nechápu to.
Chci pouze smazat všechny zákazy – ale neznám žádné adresy IP.
Komentáře
- Zákazy se obvykle provádějí na adresách IP prostřednictvím brány firewall, proto byste se měli podívat na pravidla brány firewall.
- ano, já vím. ale chci vymazat všechny zákazy, aniž bych řekl IP adresu
- “ Zkoušel jsem všechno “ ne, ‚ t. Co jste vyzkoušeli?
Odpověď
Aktualizovaná odpověď
Od verze 0.10. 0 fail2ban-client
obsahuje příkaz unban
, který lze použít dvěma způsoby:
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
Kromě toho nyní mají restart <JAIL>
, reload <JAIL>
a reload
příkazy také možnost --unban
.
Stará odpověď
fail2ban používá k blokování provozu iptables
. Pokud chcete zobrazit aktuálně blokované adresy IP, zadejte
iptables -L -n
a vyhledejte různé řetězce s názvem fail2ban-something
, kde something
ukazuje na vězení fail2ban (například Chain f2b-sshd
odkazuje na vězení sshd
). Pokud chcete odstranit blok pouze pro jednu IP adresu <IP>
pro dané vězení <JAIL>
, fail2ban nabízí svého vlastního klienta:
fail2ban-client set <JAIL> unbanip <IP>
Alternativně můžete použít čísla řádků. Nejprve uveďte pravidla iptables
s čísly řádků:
iptables -L -n --line-numbers
Dále můžete použít
iptables -D fail2ban-somejail <linenumber>
k odebrání jednoho řádku z tabulky. Pokud vím, neexistuje možnost vybrat rozsah čísel řádků, takže myslím, že byste tento příkaz museli zabalit do smyčky for:
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
Zde jsem vytvořil číslo 200. Zkontrolujte svůj vlastní výstup příkazu pomocí --line-numbers
a nezapomeňte, že poslední řádek (s RETURN
) by měl zůstat. Důvody pro odpočítávání naleznete níže v komentáři @roaima.
Komentáře
- Zachránili jste mě. Děkuji moc. Přidejte prosím celý příkaz protože jsem musel přijít na to, že před tvým velením potřebuji fail2ban-client. (Protože jsem noob)
Odpovědět
Nejlepší způsob, jak zrušit zákaz všech IP adres, je nastavit bantime na 1 sekundu, poté se ihned uvolní veškerá IP adresa.
fail2ban-client set JailName bantime 1
Poté můžete nastavit správný čas zákazu zpět.
Je lepší nechat fail2ban udělat unban za vás. Sami si iptables ručně neupravujte.
Komentáře
- Toto je jediná správná odpověď. Fail2ban si udržuje vlastní databázi zákazů, kterou je třeba vymazat samostatně . Každá odpověď, která hovoří o mazání pravidel iptables, ignoruje, že v okamžiku, kdy je záložní program fail2ban spuštěn, znovu přidá pravidla, která jste právě odstranili, zpět do iptables. Také ne každá konfigurace fail2ban používá iptables k implementaci zákazů. najít všechny vězení s
fail2ban-client status
- právě jsem vydal tento příkaz a sleduji, jak se počet IP adres ve vězení snižuje směrem k nule, jak fail2ban zpracovává vězení. stalo se opravdu rychle, ale ‚ s, ve vězení bylo více než pět tisíc záznamů. Dobrá odpověď!
Odpověď
Poslední nejnovější fail2ban-client
(0,10) má a unban -all
příkaz. Vězení lze také jednotlivě „restartovat“, efekt jasné odstranění zákazů.
Pokud máte starší verzi, tento trik může fungovat pro automatické dočasné zákazy: odstraňte vězení, které obsahuje zákaz, a poté restartujte fail2ban, aby bylo znovu vytvořeno (nyní prázdné) vězení.
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
Komentáře
- -all nebo —all? Nebo –all?
Odpověď
-
Zastavení služby vymaže všechna přidaná pravidla by fail2ban
service fail2ban stop
-
Pokud nemáte žádná další pravidla iptables, můžete je vyprázdnit
iptables -F
Buďte opatrní: toto vymaže všechna další pravidla ve vašich iptables .
Komentáře
- Stačí pouze zastavit a znovu začít.
Odpověď
Uložit soubor iptable do souboru
$ iptables-save > iptables.conf
Upravte jej pomocí libovolného editoru, který se vám líbí, než načtěte konfiguraci zpět do iptables
$ iptables-restore < iptables.conf
Nezapomeňte uložit konfiguraci do iptables, aby byla vybrána až po restartu
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
Odpovědět
je zde jednoduchá jednorázová linka pro zrušení zákazu celého Fail2ban vězení správným způsobem:
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
POZNÁMKA: Příkaz iptables přebírá před jménem vězení předponu „f2b-„, zatímco „fail2ban-client“ skutečné jméno vězení
Komentáře
- Toto je nejlepší odpověď pro verze fail2ban pod 0,10. Můžete pokračovat v vytváření aliasů v .bashrc jako fail2ban-purge s jedním parametrem a vyčistit tak celé vězení. Jednoduše nahraďte recidivní slovo výše $ 1 a použijte alias jako fail2ban-purge < JAIL_NAME >.
Odpověď
Kvůli způsobu, jakým fail2ban
funguje, existují pouze dvě možná řešení:
- Vytvořte konfigurační skript brány firewall, který obsahuje
fail2ban
vězení, a restartujte bránu firewall. - Odstraňte pravidla brány firewall blokující adresy IP, které chcete zrušit. .
Odpověď
Toto je skript, který používám k odblokování všech adres IP pro vězení ssh ( jednoduše nahraďte sshd occourence názvem vězení, které potřebujete … např. 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
odpověď
Možná by tento skript mohl někomu pomoci s verzí < 0.10.0 jako já:
#!/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