ランダムなクライアントが同じ URL に対して大量の GET を開始すると、Apache サーバーがダウンします。問題は、予測できない URL パスで発生することです。fail2ban を使用すると、事前に決められた URL を禁止できますが、未知の URL パスに対して禁止することはできません。これを解決する方法はありますか?
1 に答える
0
Web サーバーによっては、Web サーバーのログをスキャンして GET 要求を探し、特定の期間内に大量の GET 要求を行う人を禁止することができます。正当なユーザーを禁止しないように注意する必要があるだけなので、許容される GET 要求の頻度は慎重に微調整する必要があります。
- 新しい刑務所フィルターを作成します。
sudo nano /etc/fail2ban/filter.d/GETFlood.conf - Web サーバーのログに基づいて GET 要求を識別するために必要な正規表現を定義します。標準の Apache access.log では、次のようになります。
failregex = ^<HOST>.*\s"GET\s.*$ にエントリを追加します
/etc/fail2ban/jail.local。[洪水を得る] 有効 = 真 アクション = iptables-allports[name=getflood] フィルター = getflood ログパス = /var/log/apache2/*access.log 最大再試行 = 30 検索時間 = 90 バンタイム = 604800
ここでは、個々の IP アドレスが 90 秒ごとに最大 30 個の GET 要求を作成できるようにします。繰り返しますが、サーバーに関する詳細がなくても、これらのタイミングをいじって、正当なユーザーを禁止しないようにする必要があります.
于 2015-08-21T23:56:28.613 に答える