Mod_evasive が HEAD リクエストを使用した DOS 攻撃をブロックしない

Mod_evasive が HEAD リクエストを使用した DOS 攻撃をブロックしない

mod_evasive 設定を使用して RHEL6 で Apache/2.2.15 を使用する:

DOSHashTableSize    3097
DOSPageCount        14
DOSPageInterval     2
DOSSiteCount        70
DOSSiteInterval     1
DOSBlockingPeriod   60

残念ながら、この攻撃は 1 つの IP からのみ行われたため、ブロックされませんでした。

207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:53 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"
207.xxx.xxx.xxx - - [14/Jun/2015:06:06:54 +0400] "HEAD / HTTP/1.1" 200 - "-" "some fake user agent"

Mod_evasive は機能しますが、他の場合には一部の IP をブロックします。HEAD リクエストでは機能しないのでしょうか?

編集: 私の Apache は prefork モードで実行されています。私が読んだところによると、mod_evasive には問題があるようです。

答え1

変数をもっと低い値に変更してください。14 は非常に高い値です。

DOSPageCount 3

攻撃は同じ場所から来ているので、IP アドレスを禁止することができます。

sudo iptables -t raw -I PREROUTING -s 207.x.x.x/32 -j DROP

または、mod_security をインストールして設定し、bad_robots.data ファイルに「偽のユーザー エージェント」を追加すると、401 禁止が表示されます。

注記

DDoS 攻撃は、帯域幅とリソースを消費するように設計されています。IP アドレスを禁止したり、mod_evasive でロックアウトしたり、401 でリクエストを拒否したりできます。これらの方法はどれも DDoS を止めることはできません。DDoS は引き続きすべての帯域幅を消費し、デバイスをオフラインのままにします。最善の方法は、ISP に連絡して、問題のある IP をブラックホール化するように依頼するか、cloudflare などの DDoS 軽減サービスに連絡することです。それ以外の方法では、DDoS を止めることはできません。

継続的に DDoS 攻撃を受けている場合は、DDoS 緩和サービスを使用してください。これまでに説明した方法はどれも DDoS を阻止できません。

関連情報