Ubuntu Linux'taki tüm fail2ban yasaklarını sil


16

Ubuntu'daki tüm fail2ban yasaklarını nasıl silebilirim? Her şeyi denedim ama anlamıyorum.

Sadece tüm yasakları silmek istiyorum - ama IP adresi bilmiyorum.


1
Yasaklar genellikle güvenlik duvarınız üzerinden IP adreslerinde yapılır, bu nedenle güvenlik duvarı kurallarına bakmalısınız.
Julie Pelletier

Evet biliyorum. ama bir ip adresi söylemeden tüm yasakları temizlemek istiyorum
Patrick

Yanıtlar:


26

Güncel cevap

Sürümü 0.10.0 itibariyle fail2ban-clientözellikleri unbaniki şekilde kullanılabilir komutu:

unban --all                              unbans all IP addresses (in all
                                         jails and database)
unban <IP> ... <IP>                      unbans <IP> (in all jails and
                                         database)

Üstelik restart <JAIL>, reload <JAIL>ve reloadkomutlar şimdi de var --unbanseçeneği.

Eski Cevap

fail2ban iptablestrafiği engellemek için kullanır . Şu anda engellenen IP adreslerini görmek istiyorsanız, şunu yazın:

iptables -L -n

ve adlandırılmış değişik zincirler aramaya fail2ban-something, somethingfail2ban hapse noktaları (örneğin, Chain f2b-sshdhapse ifade eder sshd). <IP>Belirli bir hapishane için yalnızca tek bir IP adresi bloğunu kaldırmak istiyorsanız <JAIL>fail2ban kendi istemcisini sunar:

fail2ban-client set <JAIL> unbanip <IP>

Alternatif olarak satır numaralarını kullanabilirsiniz. İlk olarak, iptableskuralları satır numaralarıyla listeleyin :

iptables -L -n --line-numbers

Sonra kullanabilirsiniz

iptables -D fail2ban-somejail <linenumber> 

tablodan tek bir satır kaldırmak için. Bildiğim kadarıyla bir dizi satır numarası seçmek için bir seçenek yoktur, bu yüzden bir for döngüsü içinde bu komutu sarmak zorunda kalacak sanırım:

for lin in {200..1}; do
   iptables -D fail2ban-somejail $lin
done

Burada 200 sayısını oluşturdum. Komutun kendi çıkışınızı ile kontrol edin --line-numbersve son satırın (ile RETURN) kalması gerektiğini unutmayın . Geri sayımın ardındaki gerekçe için @ roaima'nın açıklamasına bakınız.


Teşekkürler @roaima! Cevabı buna göre güncelleyeceğim.
ph0t0nix

1
@roaima Evet (en azından zsh ve bash olarak): echo {5..1}sonuçlanacaktır 5 4 3 2 1.
ph0t0nix

Beni kurtardın. Çok teşekkürler. Lütfen tam bir komut ekleyin, çünkü komutunuzun yapraklarında fail2ban-client'a ihtiyacım olduğunu anladım. (Çünkü ben bir çaylağım)
sebastian.roibu

Eski cevap DuckDuckGo'da hala önbelleğe alınmış, @roaima ile aynı şeyi söylemeye geldi - snipboard.io/0oZkXy.jpg
Ari

15

Tüm IP'lerin yasağını kaldırmanın en iyi yolu bantime'i 1 saniyeye ayarlamaktır, daha sonra tüm IP'ler hemen serbest bırakılır.

fail2ban-client set JailName bantime 1

Bundan sonra uygun yasaklama süresini geri ayarlayabilirsiniz.

Fail2ban'ın yasağı sizin için yapmasına izin vermek daha iyidir. Iptables'ı elle kendiniz düzenlemeyin.


1
Buradaki tek doğru cevap bu. Fail2ban, bağımsız olarak temizlenmesi gereken kendi yasak veritabanını korur. Iptables kurallarını silme hakkında konuşan her cevap, fail2ban'ın yeniden başlatıldığı andan itibaren sildiğiniz kuralları iptables'a tekrar ekleyeceğini görmezden gelir. Ayrıca, her fail2ban yapılandırması yasakları uygulamak için iptables kullanmaz.
Cliff Armstrong

3
tüm hapishaneleri bulfail2ban-client status
Flion

Bu komutu verdim ve hapishanemdeki IP sayısının, fail2ban hapishaneyi işlediği için sıfıra doğru azaldığını izliyorum. Gerçekten hızlı olmuyor, ama sorun değil, hapiste beş binden fazla giriş vardı. İyi cevap!
Eric M

5

En son fail2ban-client(0.10) bir unban -allkomut içerir. Hapishaneler ayrıca yasakları etkin bir şekilde temizleyerek bireysel olarak "yeniden başlatılabilir".

Eski bir sürümünüz varsa, bu hile otomatik geçici yasaklar için işe yarayabilir: yasağı içeren hapishaneyi silin ve (şimdi boş) hapishanenin yeniden yaratılması için fail2ban'ı yeniden başlatın.

$ fail2ban-client stop sshd
Jail stopped
$ systemctl restart fail2ban

1
-tüm veya —tüm? Veya --tüm?
Joker

3

İptable config dosyasını dosyaya kaydet

$ iptables-save > iptables.conf

İstediğiniz herhangi bir düzenleyici ile düzenleyin.

$ iptables-restore < iptables.conf

Konfigürasyonu iptables içinde saklamayı unutmayın, böylece yeniden başlatıldığında alınacaktır

$ service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

Bu, bunu yapabilmenin yollarından biridir. Teşekkürler.
Kullanıcı9102d82

3

1. hizmetin durdurulması fail2ban tarafından eklenen tüm kuralları temizleyecektir

service fail2ban stop

2. Başka iptables kuralınız yoksa, yıkayabilirsiniz

iptables -F

dikkatli olun: Bu iptables'ınızdaki diğer kuralları siler.


3

heres basit bir oneliner tüm fail2ban hapis engelini uygun şekilde:

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: iptables komutu "f2b-" önekini hapishane adından önce alırken "fail2ban-client" gerçek hapishane adını alır


Bu 0.10 feryat başarısız sürümleri için en iyi cevaptır. Tüm bir hapishaneyi temizlemek için tek bir parametre ile fail2ban-purge gibi .bashrc'de bir takma ad oluşturabilirsiniz. Yukarıdaki yinelenen kelimeyi $ 1 ile değiştirin ve fail2ban-purge <JAIL_NAME> olarak takma adı kullanın.
ADDISON74

2

Çalışma şekli nedeniyle, fail2bansadece iki olası çözüm vardır:

  • fail2banHapis içeren bir güvenlik duvarı yapılandırma komut dosyası oluşturun ve güvenlik duvarını yeniden başlatın.
  • Yasağını kaldırmak istediğiniz IP'leri engelleyen güvenlik duvarı kurallarını kaldırın.

2

Bu, bir ssh hapishanesinin tüm IP adreslerinin yasağını kaldırmak için kullandığım komut dosyasıdır (sshd occourence'ı ihtiyacınız olan hapishane adıyla değiştirin ... örneğin 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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.