"Pertanyaannya adalah: Bagaimana saya bisa mendaftar alamat IP yang diblokir?"
Buat rantai DILARANG:
iptables -N BANNED
iptables -F BANNED
Buat rantai logging:
iptables -N BANNEDLOG
iptables -F BANNEDLOG
iptables -A BANNEDLOG -j LOG --log-prefix "BANNED:" --log-level 6
iptables -A BANNEDLOG -j DROP
Tambahkan lompatan ke rantai terlarang di rantai INPUT sebelum sebagian besar aturan lainnya
...
iptables -A INPUT -j BANNED
...
Sekarang tambahkan alamat ip ke rantai yang terlarang:
flock -w 5 /var/lock/iptables -c 'iptables -A BANNED -s 140.130.20.202/32 -i eth0 -m comment --comment "2012-03-19 23:49:33 accesslog" -j BANNEDLOG'
etc...
Anda juga dapat menggunakannya seperti database dengan opsi komentar, sehingga Anda dapat mengetahui kapan dan mengapa dll. Kawanan penting ketika iptables sedang sering diperbarui oleh banyak proses - tampaknya iptables tidak memiliki penguncian bawaan untuk itu.
Untuk melihat alamat dan aturan yang dicekal di rantai yang dicekal:
iptables -S BANNED
Untuk melihat hanya alamat ip unik yang diurutkan:
iptables -S BANNED | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u
Saya memiliki sejumlah daemon yang berjalan di server saya memeriksa file syslog dan weblog, jadi jika ada sesuatu yang jahat sedang dicoba oleh siapa pun, alamat mereka secara otomatis akan diblokir selama beberapa hari, tergantung pada jenis dan tingkat keparahan dan jumlah serangan sebelumnya. Info ini masuk ke dalam database mysql, dan secara berkala kedaluwarsa. Alamat-alamat tersebut juga didistribusikan ke setiap mesin lain di cluster melalui replikasi mysql sehingga mereka juga dilindungi dan tetap sinkron. Perangkat lunak saya juga mencari pemilik jaringan dan mengirimkan keluhan ke ISP.
Setelah 10 tahun bekerja, saya berharap membuatnya tersedia untuk semua orang untuk segera digunakan. Saat ini saya memiliki sekitar 1,5 juta riwayat alamat ip dan ratusan ribu serangan surat dan ssh yang dilaporkan, membantu membersihkan internet. Jika lebih banyak akan menggunakannya maka saya berharap itu akan berdampak lebih.
iptables -L INPUT -v -n
menunjukkan semua ip diblokir