0

ランダムなクライアントが同じ URL に対して大量の GET を開始すると、Apache サーバーがダウンします。問題は、予測できない URL パスで発生することです。fail2ban を使用すると、事前に決められた URL を禁止できますが、未知の URL パスに対して禁止することはできません。これを解決する方法はありますか?

4

1 に答える 1

0

Web サーバーによっては、Web サーバーのログをスキャンして GET 要求を探し、特定の期間内に大量の GET 要求を行う人を禁止することができます。正当なユーザーを禁止しないように注意する必要があるだけなので、許容される GET 要求の頻度は慎重に微調整する必要があります。

  1. 新しい刑務所フィルターを作成します。sudo nano /etc/fail2ban/filter.d/GETFlood.conf
  2. Web サーバーのログに基づいて GET 要求を識別するために必要な正規表現を定義します。標準の Apache access.log では、次のようになります。failregex = ^<HOST>.*\s"GET\s.*$
  3. にエントリを追加します/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 に答える