前の記事„宝塔パネルとLNMP環境下でのNginx画像ホットリンク防止設定方法」で述べたように、Naibaのサイトのトラフィックが超過しました。最初は画像のホットリンクが原因かと思いましたが、ログを分析した結果、AhrefsBotという迷惑ボットがサイトを狂ったようにクロールしていたことが判明しました。一日も経たないうちに6000回以上クロールされていました。AhrefsBotをブロックする方法をすぐに調べました。
AhrefsBotとは
AhrefsBotは海外の検索エンジンクローラーです。しかし、あなたのサイトにとってはリソースを浪費するだけで、何のメリットもありません。
簡単に言うと、AhrefsBotはマーケティングサイト向けのクローラースパイダーで、あなたのサイトのリンク情報を分析する役割を担っています。このツールは国内ユーザーにとってはほとんど役に立ちません。
詳細な説明は、彼らの公式サイトの英語での説明をご覧ください。https://ahrefs.com/robot
AhrefsBotのIPセグメント
Naibaが一日分のサイトログを分析したところ、AhrefsBotスパイダーの異なるIPアドレスはいくつあったと思いますか?

なんと561個のIPがあり、しかも一日も満たないログ記録でのことです。
公式に発表されているAhrefsBotクローラーのIPレンジは以下の通りです:
54.36.148.0/24 54.36.149.0/24 54.36.150.0/24 195.154.122.0/24 195.154.123.0/24 195.154.126.0/24 195.154.127.0/24
さて、これほど異常な状況なので、AhrefsBotのクロールをブロックする方法を考え始めましょう。
AhrefsBotのIPセグメントを直接ブロック
AhrefsBotスパイダーにクロールされたサイトのサーバーはAlibaba Cloudを使用しており、Alibaba Cloudの管理画面にはセキュリティグループが利用できます。したがって、AhrefsBotのIPレンジを直接ブロックすることが、最も単純で直接的な、即効性のある方法です。
Alibaba Cloudの管理画面にログインし、サーバーリストに入り、サーバーのセキュリティグループをクリックして、セキュリティグループルールを設定します。

上図の方法に従って設定し、以下のIPレンジをすべて追加すれば完了です。(Naibaは54.36.*.*と195.154.*.*のIPを直接すべてブロックしました)
54.36.148.0/24 54.36.149.0/24 54.36.150.0/24 195.154.122.0/24 195.154.123.0/24 195.154.126.0/24 195.154.127.0/24
robots.txtを使用してブロック
通常、robotsルールに従うスパイダーやクローラーは、robots.txtを使用してクロールを禁止することができます。AhrefsBot公式もこのルールに従うと述べていますが、実際には、最初からこのルールを追加していない場合、そのスパイダーがいつあなたのrobots.txtファイルを再クロールしてクロールルールを変更するか分かりません。
したがって、より強力な方法として、直接IPをブロックする方が早いです。追加する場合は、ルールは以下の通りです:
User-agent: AhrefsBot Disallow: /
ApacheまたはNginxを使用してブロックする
この方法は以前の記事を参照してください:WordPressサイトで特定のボットやクローラーのアクセスをブロックする方法
Nginxを使用している場合は、以下のコードを仮想マシンの設定ファイルに個別に追加することで、AhrefsBotをブロックすることもできます。
if ($http_user_agent ~* AhrefsBot) {
return 403;
}

コメントは終了しました
この記事のコメント機能は終了しています。ご質問がある場合は、他の方法でお問い合わせください。