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.
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.
Yanıtlar:
Sürümü 0.10.0 itibariyle fail2ban-client
özellikleri unban
iki ş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 reload
komutlar şimdi de var --unban
seçeneği.
fail2ban iptables
trafiğ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
, something
fail2ban hapse noktaları (örneğin, Chain f2b-sshd
hapse 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, iptables
kuralları 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-numbers
ve 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.
echo {5..1}
sonuçlanacaktır 5 4 3 2 1
.
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.
fail2ban-client status
En son fail2ban-client
(0.10) bir unban -all
komut 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
İ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 ]
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
Çalışma şekli nedeniyle, fail2ban
sadece iki olası çözüm vardır:
fail2ban
Hapis içeren bir güvenlik duvarı yapılandırma komut dosyası oluşturun ve güvenlik duvarını yeniden başlatın.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