ブログ運営

アクセス解析を汚す迷惑なボット・クローラー対策|amazonaws.comからの変なアクセス~どうすればいいの?調べてみた

amazonaws.comからの変なアクセス~どうすればいいの?調べてみた
執筆・監修:
1999年からWebサイト運営を続けるブロガー

迷惑系ボットやクローラーは、サーバー負荷を上げたり、サイトの解析データを汚すので対策が必要です。方法としては.htaccessでブロックする、アクセス解析で対象のIPやユーザーエージェントを除外する、WordPressの場合「Wordfence」などのプラグインで行うなどの方法があります。

これで解決!


同一ドメインからのアクセスが急増

先日アクセス解析を眺めていると、異様なアクセス増。。。

同一ドメインからのアクセスが急増

11時と12時にアクセスが急激に増えています。

なんじゃこれ??

アクセス解析を導入していると、ユーザーがどこから来たのを調べることができるのですが、アメリカとアイルランドのamazonaws.comかららしいです。。。。

アメリカとアイルランドのamazonaws.comからアクセスが急激②アメリカとアイルランドのamazonaws.comからアクセスが急激①

amazonaws.comとは、Amazon Web Services (AWS) のサービスを利用しているユーザーとのことで、AWS自体に危険性はないようなのですが、これはスパムやボットによる不正アクセスの可能性があります。

 

そんなのに大量にアクセスされては、アクセス解析の計測がまともに出来なくなってしまいますので明らかな営業妨害💢

 

個々のデータを調べてみると、IPは同じですが、ブラウザも違うし、OSも違います。

アメリカとアイルランドのamazonaws.comからアクセスが急激③

アメリカとアイルランドのamazonaws.comからアクセスが急激④

アメリカとアイルランドのamazonaws.comからアクセスが急激⑤

アメリカとアイルランドのamazonaws.comからアクセスが急激⑥

こんなときはどうしたら良いのでしょうか。

 

対策方法

まずやるべきは特定のIPアドレスのブロックです。

大量アクセスが発生している特定のIPアドレスは、アクセス解析で分かりますので、その特定のIPアドレスをブロックすることができます。

方法としては。

.htaccess ファイルによるブロック

これが一番確実かも!!

Apache/LiteSpeedサーバーを使用している場合、.htaccessファイルで特定のIPアドレスをブロックすることができます。

サーバー上にある.htaccessファイルの一番上(WordPressの場合は「# BEGIN WordPress」という行よりも上に全て半角で)に以下を追記します。

<RequireAll>
Require all granted
Require not ip xxx.xxx.xxx.xxx
Require not ip yyy.yyy.yyy.yyy
</RequireAll>

※「xxx.xxx.xxx.xxx」や「yyy.yyy.yyy.yyy」がIPです。

 

Apache 2.2以前のバージョンの場合はこちら。

order allow,deny
allow from all
deny from xxx.xxx.xxx.xxx
deny from yyy.yyy.yyy.yyy

.htaccessは、サーバー上にあるので、お手軽さでは劣りますが、この方法は最も確実です。

設定後、スマホ(Wi-Fiを切った状態)などで自分のサイトにアクセスして、普通に表示されれば設定完了です。

変更後「500エラー」などでサイトが表示されなくなった場合は、慌てずその箇所を削除すれば元に戻ります。事前にバックアップしておくと安心ですね。

アクセス解析ツールでIPをブロック

当サイトが導入しているアクセス解析は、アクセス解析研究所のものなのですが、これで特定のIPやドメインを除外したり、アク禁にしたり出来ます。

アクセス解析ツールでIPをブロック

IPアドレスを指定する
例えば54.248.183.74と指定すれば、特定のIPアドレスだけを対象にできます。

あるいは254.248.183.*と指定すれば、末尾が.0から.255までの合計256個のIPアドレスを一括指定できます。

サブネットマスクをご存知の方は 254.248.183.0/24という書式でも指定できます。

ホスト名でも指定できます
IPアドレスの代わりにホスト名を指定できます。例えばec2-54-248-183-74.compute.amazonaws.comと指定すれば、特定のホストだけを対象にできます。

あるいは*.amazonaws.comと指定すれば、ホスト名の末尾がこれと一致するホストを一括指定できます

アクセス解析研究所のマニュアルにも”amazonaws.com”の文字がwwwやはり悪さすることが多いのでしょうか??

除外する
「除外する」を有効にすると除外アクセスとして扱われ、アクセス数にカウントされなくなります。

アク禁にする
ビジターをGoogleへ強制転送させることでページの内容を見られなくします。一方でアクセスそのものは解析結果として記録されるので、訪問の有無は解析結果ページで確認できます。

アクセス解析研究所:特定のIPアドレスに対して特別な追跡を行うための設定マニュアル

アクセス解析研究所より引用

ビジターをGoogleへ強制転送してくれるとは、なかなかやりますね👍️

他に、ユーザーエージェントを指定することも可能です。

アクセス解析研究所の除外設定(ホスト名やユーザーエージェントでも除外可能です)

「google-proxy」とは、自分がサイトにアクセスすると、自分のアクセスを除外設定しているにも関わらず、自分のアクセスがそのまま “google-proxy” としてカウントされてしまうケースがあります(google-proxyはGoogleのクローラーではありません)。

これは、実際のユーザーアクセスではないノイズですので、除外しています。

「headlesschrome」とは、画面を表示しない状態で動作するブラウザ(ヘッドレスブラウザ)の一種で、自動化ツールやクローラー、テストプログラムなどによる機械的なアクセスです。

これもアクセス解析に含めるとデータが歪んでしまいますので、「google-proxy」や「headlesschrome」を除外設定に追記することで、より正確な正確なデータを取得することができます。

※Google Analyticsは特に設定していませんがこのようなノイズはありません。

こいつらが来ることで、このようにアクセス解析がめちゃくちゃに荒されてしまいます。

ボットやクローラーによりアクセス解析のデータが荒されるので、除外設定は必須です①

ボットやクローラーによりアクセス解析のデータが荒されるので、除外設定は必須です②

この設定はあくまでもアクセス解析から除外するだけで、仮に正規のクローラーやボットが混じっていてもブロックするわけではないので安心です。

 

まとめ:もしもに備えWordfenceプラグインも導入

今回の異様なアクセスは、2時間程度で治まったようなので、とりあえずは一安心ですが、もしもに備えWordfenceプラグインも導入しました。

Wordfenceプラグインも導入

Wordfenceは、初心者には敷居の高い.htaccessを意識することなく悪質なボットやクローラーを自動でブロック可能です。

ただしWordfenceは、悪質度の低い単なる迷惑系ボットやクローラーは通過させてしまうため、個別にIPブロックレート制限が必要です。

Wordfenceのレート制限設定

レート制限とは、一定時間内のアクセス回数に制限をかける機能のことです。
IPブロックは効果的ではあるものの、相手がIPを変えてくると”いたちごっこ”になりがちです。

その点レート制限は、「短時間に異常な回数アクセスする挙動」そのものを制御できるため、IPが変わっても継続的に対策できるのが大きなメリットです。

ボットやスクレイピング対策として有効で、サーバー負荷の軽減にもつながります。

現在はアクセス解析の解析除外設定で止められていますが、効かない場合は以下の設定を試してみる予定です。

 

Wordfenceレート設定

Wordfence > ファイアウォール > ファイアウォール設定 > レート制限 から。

クローラーのページビューが超過した場合:
「1 分」あたり「15回」程度に制限。アクション: ブロックする
誰かのページビューが超過した場合:
「1 分」あたり「30〜60回」程度に設定。アクション: ブロックする
404 エラーが超過した場合
「1 分」あたり1分間に 「20回」。アクション: ブロックする

これを超えると、WordfenceがそのIPを一時的にブロックし、解析へのリクエストも止まります。

この設定は大丈夫??AIによる回答

1. クローラー:1分間に 15回

  • 感覚: 「かなり厳しい(安全重視)」な設定です。
  • 理由: 本物のGoogleクローラーなどは、サイトに負荷をかけないよう、1秒間に何回もページを開くことは稀です。1分間に15回(4秒に1回)以上アクセスしてくる「自称クローラー」は、情報を根こそぎ持っていこうとする行儀の悪いボットである可能性が極めて高いため、この数値でブロックして正解です。

2. 誰か(一般訪問者):1分間に 30〜60回

  • 感覚: 「人間にはまず不可能な速さ」です。
  • 理由: 1分間に60回ということは「1秒に1ページ」開く計算になります。人間が記事を読んで、次のリンクをクリックして……という動作では、どんなに急いでも1分間に10〜20回が限界です。
  • 判断: 30回を超えてくるアクセスは、まず間違いなく**プログラム(スクレイピングソフトなど)**です。嫌がらせアクセスも、ここで捕まります。

3. 404エラー:1分間に 20回

  • 感覚: **「攻撃者の偵察」**を止めるレベルです。
  • 理由: 普通のユーザーがリンク切れを1分間に20回も踏むことはありません。これはボットが「管理画面の入り口はないか?」「脆弱性のあるファイルはないか?」と、存在しないURLを手当たり次第にスキャンしている状態です。
  • 効果: これをブロックすることで、解析ツールが「存在しないページへのアクセス」で溢れかえるのを防げます。

日々勉強です。

この情報が誰かの役に立つかも!
タイトルとURLをコピーしました