Larangan ini biasanya dilakukan pada alamat IP melalui firewall Anda, jadi Anda harus melihat aturan firewall.
Julie Pelletier
ya saya tahu. tetapi saya ingin menghapus semua larangan tanpa memberitahu alamat ip
Patrick
Jawaban:
26
Jawaban yang diperbarui
Pada versi 0.10.0 fail2ban-clientfitur unbanperintah yang dapat digunakan dalam dua cara:
unban --all unbans all IP addresses (in all
jails and database)
unban <IP> ... <IP> unbans <IP> (in all jails and
database)
Selain itu, perintah restart <JAIL>, reload <JAIL>dan reloadperintah sekarang juga memiliki --unbanopsi.
Jawaban Lama
fail2ban digunakan iptablesuntuk memblokir lalu lintas. Jika Anda ingin melihat alamat IP yang saat ini diblokir, ketikkan
iptables -L -n
dan mencari berbagai rantai bernama fail2ban-something, di mana somethingmenunjuk ke penjara fail2ban (misalnya, Chain f2b-sshdmengacu pada penjara sshd). Jika Anda hanya ingin menghapus blokir untuk satu alamat IP <IP>untuk jail yang diberikan <JAIL>, fail2ban menawarkan kliennya sendiri:
fail2ban-client set <JAIL> unbanip <IP>
Atau Anda dapat menggunakan nomor baris. Pertama, buat daftar iptablesaturan dengan nomor baris:
iptables -L -n --line-numbers
Selanjutnya bisa Anda gunakan
iptables -D fail2ban-somejail <linenumber>
untuk menghapus satu baris dari tabel. Sejauh yang saya tahu tidak ada opsi untuk memilih rentang nomor baris, jadi saya kira Anda harus membungkus perintah ini dalam for loop:
for lin in {200..1}; do
iptables -D fail2ban-somejail $lin
done
Di sini saya membuat angka 200 naik. Periksa output perintah Anda sendiri dengan --line-numbersdan perhatikan bahwa baris terakhir (dengan RETURN) harus tetap. Lihat komentar @ roaima di bawah ini untuk alasan di balik penghitungan mundur.
Terima kasih @roaima! Saya akan memperbarui jawabannya.
ph0t0nix
1
@roaima Ya itu (setidaknya dalam zsh dan bash): echo {5..1}akan menghasilkan 5 4 3 2 1.
ph0t0nix
Kamu menyelamatkanku. Terima kasih banyak. Tolong tambahkan perintah penuh karena saya harus mencari tahu bahwa saya perlu fail2ban-client sebagai bagian dari perintah Anda. (Karena saya seorang noob)
sebastian.roibu
Balasan lama masih di-cache di DuckDuckGo, datang untuk mengatakan hal yang sama dengan @roaima - snipboard.io/0oZkXy.jpg
Ari
15
Cara terbaik untuk membatalkan pemblokiran semua IP, adalah mengatur bantime menjadi 1 detik, maka semua IP akan segera dibebaskan.
fail2ban-client set JailName bantime 1
Setelah itu, Anda dapat mengatur waktu larangan yang tepat kembali.
Lebih baik membiarkan fail2ban untuk melakukan unban untuk Anda. Jangan mengedit iptables sendiri secara manual.
Ini satu-satunya jawaban yang benar di sini. Fail2ban memiliki basis data larangan sendiri yang harus dihapus secara mandiri. Setiap jawaban yang berbicara tentang menghapus aturan iptables mengabaikan bahwa saat fail2ban dimulai kembali, itu akan menambahkan kembali aturan yang baru saja Anda hapus kembali ke iptables. Juga, tidak setiap konfigurasi fail2ban menggunakan iptables untuk mengimplementasikan larangan.
Cliff Armstrong
3
temukan semua penjara denganfail2ban-client status
Flion
Saya baru saja mengeluarkan perintah ini dan saya melihat jumlah IP di penjara saya berkurang ke nol karena fail2ban memproses penjara. Itu tidak terjadi dengan sangat cepat, tapi tidak apa-apa, ada lebih dari lima ribu entri di penjara. Jawaban yang bagus!
Eric M
5
Yang terbarufail2ban-client (0.10) memiliki unban -allperintah. Penjara juga dapat secara individual "dimulai kembali", secara efektif menghapus larangan.
Jika Anda memiliki versi yang lebih lama, trik ini mungkin berfungsi untuk larangan sementara otomatis: hapus penjara yang berisi larangan kemudian mulai ulang fail2ban sehingga penjara (sekarang kosong) akan dibuat kembali.
Ini adalah jawaban terbaik untuk versi fail2ban di bawah 0.10. Anda dapat lebih lanjut membuat alias di .bashrc seperti fail2ban-purge dengan satu parameter untuk membersihkan seluruh penjara. Cukup ganti kata residif di atas dengan $ 1 dan gunakan alias sebagai fail2ban-purge <JAIL_NAME>.
ADDISON74
2
Karena cara fail2bankerjanya, hanya ada dua solusi yang mungkin:
Buat skrip konfigurasi firewall yang menyertakan fail2banjail dan restart firewall.
Hapus aturan firewall yang memblokir IP yang ingin Anda batalkan.
Ini adalah skrip yang saya gunakan untuk membatalkan semua alamat IP untuk ssh jail (cukup ganti sshd occourence dengan nama jail yang Anda butuhkan ... misalnya 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
Jawaban:
Jawaban yang diperbarui
Pada versi 0.10.0
fail2ban-client
fiturunban
perintah yang dapat digunakan dalam dua cara:Selain itu, perintah
restart <JAIL>
,reload <JAIL>
danreload
perintah sekarang juga memiliki--unban
opsi.Jawaban Lama
fail2ban digunakan
iptables
untuk memblokir lalu lintas. Jika Anda ingin melihat alamat IP yang saat ini diblokir, ketikkandan mencari berbagai rantai bernama
fail2ban-something
, di manasomething
menunjuk ke penjara fail2ban (misalnya,Chain f2b-sshd
mengacu pada penjarasshd
). Jika Anda hanya ingin menghapus blokir untuk satu alamat IP<IP>
untuk jail yang diberikan<JAIL>
, fail2ban menawarkan kliennya sendiri:Atau Anda dapat menggunakan nomor baris. Pertama, buat daftar
iptables
aturan dengan nomor baris:Selanjutnya bisa Anda gunakan
untuk menghapus satu baris dari tabel. Sejauh yang saya tahu tidak ada opsi untuk memilih rentang nomor baris, jadi saya kira Anda harus membungkus perintah ini dalam for loop:
Di sini saya membuat angka 200 naik. Periksa output perintah Anda sendiri dengan
--line-numbers
dan perhatikan bahwa baris terakhir (denganRETURN
) harus tetap. Lihat komentar @ roaima di bawah ini untuk alasan di balik penghitungan mundur.sumber
echo {5..1}
akan menghasilkan5 4 3 2 1
.Cara terbaik untuk membatalkan pemblokiran semua IP, adalah mengatur bantime menjadi 1 detik, maka semua IP akan segera dibebaskan.
Setelah itu, Anda dapat mengatur waktu larangan yang tepat kembali.
Lebih baik membiarkan fail2ban untuk melakukan unban untuk Anda. Jangan mengedit iptables sendiri secara manual.
sumber
fail2ban-client status
Yang terbaru
fail2ban-client
(0.10) memilikiunban -all
perintah. Penjara juga dapat secara individual "dimulai kembali", secara efektif menghapus larangan.Jika Anda memiliki versi yang lebih lama, trik ini mungkin berfungsi untuk larangan sementara otomatis: hapus penjara yang berisi larangan kemudian mulai ulang fail2ban sehingga penjara (sekarang kosong) akan dibuat kembali.
sumber
Simpan konfigurasi iptable ke file
Edit dengan editor apa pun yang Anda suka daripada muat konfigurasi kembali ke iptables
Jangan lupa untuk menyimpan konfigurasi di dalam iptables sehingga akan diambil saat reboot
sumber
1. menghentikan layanan akan membersihkan semua aturan yang ditambahkan oleh fail2ban
service fail2ban stop
2. jika Anda tidak memiliki aturan iptables lainnya, Anda dapat menghapusnya
iptables -F
hati-hati: ini akan menghapus aturan lain di iptables Anda.
sumber
inilah oneliner sederhana untuk membatalkan seluruh penjara fail2ban dengan cara yang benar:
CATATAN: perintah iptables mengambil awalan "f2b-" sebelum nama jail sementara "fail2ban-client" nama sebenarnya jail
sumber
Karena cara
fail2ban
kerjanya, hanya ada dua solusi yang mungkin:fail2ban
jail dan restart firewall.sumber
Ini adalah skrip yang saya gunakan untuk membatalkan semua alamat IP untuk ssh jail (cukup ganti sshd occourence dengan nama jail yang Anda butuhkan ... misalnya mysqld-auth)
sumber