たとえば、私の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
一致はさらに設定可能です。
複数の「ユーザー」が単一のIP(NAT、httpプロキシ、CGNAT)の背後にある可能性があります。
ここで最良の方法が何であるかわかりません。ただし、HTTPは継続的な接続をサポートしているため、この実装は役に立たないようです。これらの観点から見ると、Apache mod_evasiveが良いでしょう。
もしあなたならいいえ永続接続を使用すると、この制限によりすぐにブロックされます。これウェブサイトは平均100のリソースをロードします。(!)