Saya pikir saya telah menemukan solusi melalui artikel ini dan IPSet tampaknya menjadi jawabannya
Alhasil:
Jika set alamat IP berisi ribuan item, kinerja iptables menurun (sebenarnya, kinerja netfilter, segera setelah iptables hanyalah alat untuk mengelola firewall). Beban CPU Anda juga dapat meningkat. Untungnya ada solusi yang sempurna - ipsets
IPSet adalah alat yang sempurna jika Anda ingin:
- Menyimpan beberapa alamat IP atau nomor port dan cocok dengan koleksi dengan iptables sekaligus;
- Memperbarui aturan iptables secara dinamis terhadap alamat atau port IP tanpa penalti kinerja;
- Mengungkapkan alamat IP kompleks dan aturan berbasis port dengan satu aturan iptables tunggal dan manfaatkan kecepatan set IP
Memasang ipset sangat mudah sudo apt-get install ipset
Kemudian jalankan yang berikut ini
ipset -N autoban iphash ––hashsize 4096 ––probes 2 ––resize 50
Tambahkan ke rantai iptables Anda. Ini bisa berbeda tergantung pada pengaturan firewall Anda. Di sini kita menggunakan rantai etin.
iptables -I ethin 2 -p tcp -m multiport ––dport 80,443 -m set ––match-set autoban src -j DROP
Sekarang Anda dapat menambahkan semua IP buruk ke ipset Anda. Misalnya, Anda memiliki file teks bernama bots.txt dengan satu IP per baris. Jadi Anda bisa menambahkannya ke ipset menggunakan skrip bash sederhana:
for i in $( cat /tmp/bots.txt ) ; do ipset -A autoban $i ; done
Untuk memeriksa jalankan:
ipset -L autoban