ある種のボット攻撃を受けているwordpressサイトがあります。 Apacheのログをチェックしたところ、毎秒ブログに1つの投稿がリクエストされています(1秒間に1つ以上の投稿がある場合もあります)。 htaccessファイルで攻撃者のIPアドレスをブロックすると、リクエストは継続しますが、5〜10秒ごとに1つです。ブロックを解除すると、数分後に1秒ごとに1つ以上に戻ります。
攻撃者のIPアドレスは毎日1〜2回変更されています。
私は攻撃をブロックするwordfenceプラグインをインストールしていますが、手動でIPアドレスをhtaccessに追加しますが、この男をブロックする別の方法がある場合は興味があります...
彼は常に空のユーザーエージェントとして識別され、常に同じページを取得し、常に1つの単一ページリクエストのみです。
攻撃のあるApacheログの一部を次に示します。
178.222.186.246 - - [20/May/2013:02:35:46 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 48097 "-" "-"
178.222.186.246 - - [20/May/2013:02:35:55 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 47939 "-" "-"
178.222.186.246 - - [20/May/2013:02:35:59 -0500] "GET /2012/01/19/skembici-u-saftu/ HTTP/1.1" 200 47970 "-" "-"
ユーザーエージェントは空白なので、 ブロックをトリガーするために使用 :
RewriteEngine On
SetEnvIfNoCase User-Agent "^-?$" bad_user
Deny from env=bad_user
送信されるユーザーエージェントが実際にダッシュである場合に備えて、-?
を入力します。ログから、実際に空白であるかダッシュであるかを判断するのは非常に困難です。
StackOverflowのリンクされたリソースには、User-AgentおよびReferrerに基づく他のいくつかのルールの例もあります。