web-dev-qa-db-ja.com

netstatとiptablesを使用して、DOS攻撃を防ぐlinuxコマンド

Ddos攻撃を防ぐために、IPごとに200を超えるリクエストをドロップします。これは、IPごとにリクエストカウントを検出するために使用したコマンドです。

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

今、私は入力と出力を削除するためにIPtablesに200以上のリクエストを行ったすべてのIPアドレスを追加したい。

まあ、あなたはddosを防ぐことはできません、そして、200のリクエストはかなり簡単です。

できる限りのこと、IMO、制限を設定することです

Sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
Sudo iptables -A INPUT -j REJECT

ポート80には、

Sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
Sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
Sudo iptables -A INPUT -j REJECT

これらの制限をサーバーに合わせて調整できるはずです。

参照: http://blog.bodhizazen.com/linux/prevent-dos-with-iptables/

11
Panther