iptablesはグローバルですか、それともユーザーIPが特定ですか?

iptablesはグローバルですか、それともユーザーIPが特定ですか?

たとえば、私のWebサーバーポートには次の規則があります。

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 1/m --limit-burst 15 -j ACCEPT #If you spam concurrently for 15 times ++ you'll be blocked for 1 minute ~ 

デフォルトでは、ユーザーがブラウザの[更新]ボタンをスパムに送信するか、F5キーを押し続けると、残りの1/m間隔が完了するまでブロックされます。

私の問題は、制限に達すると、ユーザーが接続できなくなることです。これは、このユーザーだけが接続できないことを意味しますか、それとも他のすべてのユーザーのポート80も閉じているという意味ですか?

答え1

みんな。limit大会の追加資格はありません。

hashlimit一致はさらに設定可能です。

iptables 拡張渡すiptables

複数の「ユーザー」が単一のIP(NAT、httpプロキシ、CGNAT)の背後にある可能性があります。

ここで最良の方法が何であるかわかりません。ただし、HTTPは継続的な接続をサポートしているため、この実装は役に立たないようです。これらの観点から見ると、Apache mod_evasiveが良いでしょう。

もしあなたならいいえ永続接続を使用すると、この制限によりすぐにブロックされます。これウェブサイトは平均100のリソースをロードします。(!)

関連情報