Saya ingin DROP lebih dari 200 permintaan per ip untuk mencegah serangan DDoS. ini adalah perintah yang saya gunakan untuk mendeteksi jumlah permintaan per ip:
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
sekarang saya ingin menambahkan semua alamat ip yang membuat lebih dari 200 permintaan ke dalam IPtables ke input DROP dan put out.
networking
security
iptables
command-line-interface
Morteza Soltanabadiyan
sumber
sumber
Jawaban:
Anda juga dapat menggunakan iptables untuk membatasi tingkat koneksi yang masuk. Misalnya, jika Anda tidak ingin lebih dari 200 koneksi per menit dari sumber:
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 200 -j DROP
sumber
Anda dapat membuat
ipset
. Dengan cara ini Anda dapat menambahkan sebanyak mungkin IP ke set yang Anda butuhkan tanpa mengubahiptables
aturan.Atau, dalam kasus Anda, gunakan output skrip Anda, dan bacalah dengan sesuatu seperti:
Dan referensi dalam
iptables
aturan Anda :Baca halaman manual untuk lebih detail dan opsi.
Ada juga cara lain untuk mengurangi serangan DDOS menggunakan
iptables
secara langsung. Baca bagianiptables
manual tentangconnlimit
danrecent
modul.sumber