Kuinka voin poistaa kaikki Fail2ban-kiellot Ubuntusta? Yritin kaikkea, mutta en saa sitä.
Haluan vain poistaa kaikki kiellot – mutta en tiedä IP-osoitteita.
Kommentit
- Kiellot tehdään yleensä IP-osoitteille palomuurisi kautta, joten sinun tulee tarkastella palomuurisääntöjä.
- kyllä tiedän. mutta haluan poistaa kaikki kiellot kertomatta IP-osoitetta
- ” Yritin kaikkea ” ei et ’ t. Mitä yritit?
Vastaa
Päivitetty vastaus
Versiosta 0.10 lähtien. 0 fail2ban-client
sisältää komennon unban
, jota voidaan käyttää kahdella tavalla:
unban --all unbans all IP addresses (in all jails and database) unban <IP> ... <IP> unbans <IP> (in all jails and database)
Lisäksi restart <JAIL>
, reload <JAIL>
ja reload
-komennoilla on nyt myös --unban
-vaihtoehto.
Vanha vastaus
fail2ban käyttää liikenteen estämiseen iptables
. Jos haluat nähdä tällä hetkellä estetyt IP-osoitteet, kirjoita
iptables -L -n
ja etsi eri ketjut nimeltä fail2ban-something
, jossa something
osoittaa Fail2ban-vankilaan (esimerkiksi Chain f2b-sshd
viittaa vankilaan sshd
). Jos haluat poistaa vain yhden IP-osoitteen eston <IP>
tietylle vankilalle <JAIL>
, fail2ban tarjoaa oman asiakkaansa:
fail2ban-client set <JAIL> unbanip <IP>
Vaihtoehtoisesti voit käyttää rivinumeroita. Luettele ensin iptables
-säännöt rivinumeroilla:
iptables -L -n --line-numbers
Seuraavaksi voit käyttää
iptables -D fail2ban-somejail <linenumber>
yksittäisen rivin poistamiseksi taulukosta. Sikäli kuin tiedän, rivinumeroiden aluetta ei ole mahdollista valita, joten luulen, että joudut käärimään tämän komennon for for -silmukkaan:
for lin in {200..1}; do iptables -D fail2ban-somejail $lin done
Tässä tein numeron 200 ylöspäin. Tarkista oma komennon lähtö --line-numbers
-toiminnolla ja huomaa, että viimeisen rivin (jossa RETURN
) tulee pysyä. Katso @roaiman alla olevasta kommentista laskennan perustelut.
Kommentit
- Pelastit minut. Paljon kiitoksia. Lisää koko komento koska minun piti selvittää, että tarvitsen fail2ban-clientin komennosi alussa. (Koska olen noob)
Vastaa
Paras tapa poistaa kaikki IP-osoitteet on asettaa banttiaikaksi 1 sekunti, jolloin kaikki IP vapautuu heti.
fail2ban-client set JailName bantime 1
Sen jälkeen voit asettaa oikean kieltoajan takaisin.
On parempi antaa fail2ban tehdä unban puolestasi. Älä muokkaa iptables-tiedostoja itse.
Kommentit
- Tämä on ainoa oikea vastaus tässä. Fail2ban ylläpitää omaa kieltotietokantaa, joka on tyhjennettävä itsenäisesti. . Jokaisessa vastauksessa, jossa puhutaan iptables-sääntöjen poistamisesta, ei oteta huomioon, että kun fail2ban käynnistetään varmuuskopioimalla, se lisää juuri poistamasi säännöt takaisin iptablesiin. Myöskään kaikki fail2ban-kokoonpanot eivät käytä iptables-asetuksia kieltojen toteuttamiseen.
- etsi kaikki vankilat, joissa on
fail2ban-client status
- Annoin juuri tämän komennon ja tarkkailen vankilassani olevien IP-osoitteiden määrän vähenemistä kohti nollaa, kun fail2ban käsittelee vankilaa. tapahtuu todella nopeasti, mutta ’ s OK, vankilassa oli yli viisituhatta ilmoitusta. Hyvä vastaus!
Vastaus
uusin fail2ban-client
(0.10) on unban -all
-komento. Vankeja voidaan myös käynnistää erikseen, tuskin tyhjennä kiellot.
Jos sinulla on vanhempi versio, tämä temppu saattaa toimia automaattisten väliaikaisten kieltojen yhteydessä: poista kielto sisältävä vankila ja käynnistä sitten fail2ban uudelleen, jotta (nyt tyhjä) vankila luotaisiin uudelleen.
$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban
Kommentit
- kaikki tai — kaikki? Tai – kaikki?
Vastaa
-
Palvelun pysäyttäminen puhdistaa kaikki lisätyt säännöt kirjoittanut Fail2ban
service fail2ban stop
-
Jos sinulla ei ole muita iptables-sääntöjä, voit tyhjentää sen
iptables -F
Ole varovainen: tämä poistaa kaikki muut iptables-säännöt .
Kommentit
- Pelkkä pysähtyminen ja aloittaminen uudestaan riitti.
vastaus
Tallenna iptable-määritys tiedostoon
$ iptables-save > iptables.conf
Muokkaa sitä haluamallasi editorilla kuin lataa config takaisin iptables-tiedostoon
$ iptables-restore < iptables.conf
Älä unohda tallentaa kokoonpanoa iptables-tiedostoon, jotta se valitaan uudelleenkäynnistyksen yhteydessä
$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
vastaus
antaa yksinkertaisen onelinerin, joka purkaa koko fail2ban-vankila oikealla tavalla:
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
HUOMAUTUS: iptables-komento vie etuliitteen ”f2b-” ennen vankilan nimeä, kun taas ”fail2ban-client” todellisen vankilan nimen
Kommentit
- Tämä on paras vastaus fail2ban-versioihin, jotka paljastavat 0.10. Voit mennä pidemmälle luomalla aliaksen .bashrc-tiedostoon, kuten fail2ban-purge yhdellä parametrilla koko vankilan puhdistamiseksi. Korvaa vain yllä oleva toistuva sana dollarilla 1 ja käytä aliaksia fail2ban-purge < JAIL_NAME >.
vastaus
fail2ban
-työkalun takia on olemassa vain kaksi mahdollista ratkaisua:
- Tee palomuurin määrityskomento, joka sisältää
fail2ban
-vankilat ja käynnistä palomuuri uudelleen. - Poista palomuurisäännöt, jotka estävät IP-osoitteet, jotka haluat poistaa käytöstä. .
Vastaa
Tätä komentosarjaa käytän kaikkien IP-osoitteiden purkamiseen ssh-vankilassa ( yksinkertaisesti korvaa sshd-esiintyminen tarvitsemasi vankilan nimellä … esim. 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
Vastaa
Ehkä tämä komentosarja voisi auttaa ketään, jolla on < 0.10.0 -versio, kuten minä:
#!/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