Hogyan törölhetem az összes fail2ban-tiltást az Ubuntuban? Mindent kipróbáltam, de nem értem.
Csak az összes tiltást szeretném törölni – de nem ismerek IP-címeket.
Megjegyzések
- A tiltásokat általában a tűzfalon keresztül végzik az IP-címeken, ezért meg kell vizsgálni a tűzfal szabályait.
- igen, tudom. de szeretnék minden tiltást törölni anélkül, hogy megadnék egy IP címet.
- ” Mindent kipróbáltam ” nem, nem tettél ‘ t. Mit próbált?
Válasz
Frissített válasz
A 0.10 verziótól kezdve. A 0 fail2ban-client
a unban
parancsot tartalmazza, amely kétféleképpen használható:
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
Ezenkívül a restart <JAIL>
, reload <JAIL>
és reload
parancsoknak most is vannak a --unban
opció.
Régi válasz
A fail2ban a iptables
funkciót használja a forgalom blokkolására. Ha szeretné látni az éppen blokkolt IP-címeket, írja be a
iptables -L -n
szót, és keresse meg a fail2ban-something
, ahol something
a fail2ban börtönre mutat (például Chain f2b-sshd
a börtönre utal sshd
). Ha csak egy IP-cím blokkját akarja eltávolítani <IP>
egy adott börtönnél <JAIL>
, a fail2ban felajánlja a saját kliensét: p>
fail2ban-client set <JAIL> unbanip <IP>
Alternatív megoldásként használhatja a sorszámokat is. Először sorolja fel a iptables
szabályokat sorszámokkal:
iptables -L -n --line-numbers
Ezután használhatja a következőt:
iptables -D fail2ban-somejail <linenumber>
egyetlen sor eltávolításához a táblából. Ha jól tudom, nincs lehetőség sorszámtartomány kiválasztására, ezért azt hiszem, ezt a parancsot be kellene csomagolnia egy for ciklusba:
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
Itt tettem fel a 200-as számot. Ellenőrizze a parancs saját kimenetét a --line-numbers
gombbal, és vegye figyelembe, hogy az utolsó sornak (RETURN
) meg kell maradnia. A visszaszámlálás okait lásd a @roaima alábbi megjegyzésében.
Megjegyzések
- Megmentettél. Nagyon köszönöm. Kérjük, adj hozzá egy teljes parancsot mert rá kellett jönnöm, hogy szükségem van a fail2ban-kliensre a parancsodban. (Mert én noob vagyok)
Válasz
Az összes IP letiltásának visszavonásának legjobb módja az, ha a bantime-ot 1 másodpercre állítja, majd az összes IP azonnal felszabadul.
fail2ban-client set JailName bantime 1
Ezt követően visszaállíthatja a megfelelő tiltási időt.
Jobb, ha a fail2ban engedélyezi az unbanilt. Ne szerkessze maga az iptable-eket.
Megjegyzések
- Ez az egyetlen helyes válasz itt. A Fail2ban fenntartja a saját tiltási adatbázisát, amelyet függetlenül kell törölni. Minden válasz, amely az iptables szabályok törléséről szól, figyelmen kívül hagyja, hogy a fail2ban biztonsági másolatának elindításakor újra felveszi az imént törölt szabályokat az iptablesbe. Emellett nem minden fail2ban konfiguráció használ iptables-t tiltások végrehajtására.
- az összes börtön megtalálása
fail2ban-client status
- Most adtam ki ezt a parancsot, és figyelem, hogy a börtönben lévő IP-k száma nulla felé csökken, mivel a fail2ban feldolgozza a börtönt. Nem nagyon gyorsan történnek, de ez ‘ ok, több mint ötezer bejegyzés volt a börtönben. Jó válasz!
Válasz
A legújabb fail2ban-client
(0.10) rendelkezik egy unban -all
parancs. A börtönök külön-külön is “újraindíthatók”, effektusok aljasan törölje a tiltásokat.
Ha régebbi verziója van, akkor ez a trükk működhet automatikus ideiglenes tiltások esetén: törölje a tiltást tartalmazó börtönt, majd indítsa újra a fail2ban parancsot, hogy a (most már üres) börtön újra létrejöjjön.
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
Megjegyzések
- -minden vagy —mind? Vagy – mind?
Válasz
-
A szolgáltatás leállítása minden hozzáadott szabályt megtisztít by fail2ban
service fail2ban stop
-
Ha nincs más iptables-szabályod, akkor át tudod öblíteni
iptables -F
Vigyázzon: ez törli az iptable egyéb szabályait .
Megjegyzések
- Csak az abbahagyás, majd az újrakezdés volt elegendő.
Válasz
Az iptable config mentése fájlba
$ iptables-save > iptables.conf
Szerkesztheti tetszőleges szerkesztővel, mint a config visszaállítása az iptables-be
$ iptables-restore < iptables.conf
Ne felejtse el elmenteni a konfigurációt az iptables-ben, így kiválasztásra kerül újraindításkor felfelé
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
Válasz
egy egyszerű onlinert használ az egész letiltásához fail2ban börtön a megfelelő módon:
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
MEGJEGYZÉS: Az iptables parancs az “f2b-” előtagot veszi a börtön neve elé, míg a “fail2ban-client” az igazi börtön nevet
Megjegyzések
- Ez a legjobb válasz a fail2ban 0.10-es verzióira. Tovább léphet egy alias létrehozásával a .bashrc fájlban, például a fail2ban-purge egyetlen paraméterrel az egész börtön megtisztításához. Csak cserélje le a fenti visszaeső szót $ 1-re, és használja az álnevet fail2ban-purge < JAIL_NAME > néven.
Válasz
A fail2ban
működésének köszönhetően csak két megoldás lehetséges:
- Készítsen egy tűzfalkonfigurációs parancsfájlt, amely tartalmazza a
fail2ban
börtönöket, és indítsa újra a tűzfalat. - Távolítsa el a tűzfalszabályokat, amelyek blokkolják a letiltani kívánt IP-ket. .
Válasz
Ez az a szkript, amelyet az ssh börtön összes IP-címének letiltásához használok ( egyszerűen cserélje le az sshd előfordulását a szükséges börtön nevére … pl. 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
Válasz
Talán ez a szkript segíthet valakinek < 0.10.0 verzióval, mint én:
#!/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