Saat ini saya telah menggunakan iptables di server Debian baru yang menjalankan Asterisk.
Setiap hari saya memeriksa alamat IP auth.log dan secara manual melakukan iptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP
Saya awalnya hanya melakukan alamat IP tetapi banyak klik datang dari alamat IP yang sama sehingga /24 telah bekerja lebih baik, saya telah menggunakan /16 beberapa kali.
Saya sudah memiliki ratusan entri iptables dan ini semakin tidak terkendali! Saya tahu pasti ada cara yang lebih mudah untuk melakukan ini.
fail2ban telah direkomendasikan kepada saya tetapi tampaknya itu memblokir IP hanya sementara setelah # upaya tertentu.
Dua upaya penyusupan utama yang saya lihat adalah menggunakan nama pengguna palsu dan port acak.
Apakah mungkin, jika ada upaya untuk masuk dengan nama pengguna apa pun yang saat ini tidak saya gunakan, untuk secara otomatis memblokir alamat IP? Sama dengan port yang tidak digunakan?
Saya juga melihat banyak seperti ini:
Did not receive identification string from (malicious IP) port 48334
Saya juga ingin mencekal IP tersebut.
Saya tidak akan secara otomatis memblokir upaya login yang salah seolah-olah saya menekan kata sandi yang dapat mengunci saya. Tapi mungkin larangan permanen pada IP setelah 3 kali percobaan sudah cukup.
Bisakah saya melakukan ini dengan iptables? Saya belum menemukan apa pun tentang "larangan permanen" yang berfungsi seperti ini, sepertinya hanya berfungsi lebih saat ini.
Saya kurang lebih ingin menyelesaikan apa yang telah saya lakukan secara manual; memblokir rentang IP secara permanen setelah satu kali login nama pengguna yang salah, satu koneksi port yang salah, atau 3 upaya login yang salah (dengan nama pengguna yang benar). Saya harap ini akan mencegah auth.log mendapatkan spam.
Jawaban yang Diterima:
fail2ban
dapat dikonfigurasi untuk larangan permanen dengan mengatur bantine
ke -1
Di jail.conf
bantime = -1
Ini akan hilang saat reboot, tetapi itu tidak selalu merupakan hal yang buruk karena begitu banyak upaya akan bersifat sementara dari mesin rumahan buatan di botnet…
Jika Anda menginginkan ketekunan, maka https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/ dapat memberikan beberapa panduan.
Pada dasarnya memodifikasi fail2ban
config untuk membuat file konfigurasi persisten dari semua IP yang dilarang, dan minta iptables memuat daftar ini saat reboot…
Jadi jika Anda memeriksa jail.conf
default Anda Anda mungkin menemukan tindakan default adalah iptables-multiport
. Ini sesuai dengan file konfigurasi /etc/fail2ban/ction.d/iptables-multiport.conf
Kita dapat menambahkan entri berikut:
[Definition]
# Option: actionstart
# Notes.: command executed once at the start of Fail2Ban.
# Values: CMD
#
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
| while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done
# Option: actionstop
# Notes.: command executed once at the end of Fail2Ban
# Values: CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
iptables -F fail2ban-<name>
iptables -X fail2ban-<name>
# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans
Sekarang, ketika fail2ban
menandai entri itu akan menambahkan baris ke /etc/fail2ban/persistent.bans
(melalui actionban
konfigurasi). Ketika fail2ban
memulai itu memanggil actionstart
yang membaca file ini dan membangun iptables
aturan yang diperlukan.
Tentu saja, fail2ban
perlu dimulai ulang setelah salah satu file konfigurasi diubah.
Semua kredit untuk “arno0x0x” dan situs wordpress-nya untuk resep ini.