テクノロジー アパッチHTTP 非公開: Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

ログに表示される不要なリクエストをすべてブロックします。

あなたは Web サイト訪問者のログを調べて、不要なリクエストにうんざりしたことがあるかと思います。これらは必ずしも悪いものやスパムであるとは限りませんが、ビジネスに価値を付加しない可能性があります。ヒットの大部分が望ましくないユーザー エージェントやリファラー経由で発生しており、サイトのトラフィックが良好であると思っていても、実際にはそれらは役に立たない場合を想像してください。

これらを管理する最善の方法は、ネットワーク デバイス、ロード バランサー、ファイアウォール、CDN などのエッジでそれらを停止することです。ただし、個人のブロガーや小規模な Web サイトが使用するのは現実的ではないため、Web サーバーや WordPress などの下位レベルでブロックしたい場合があることは理解しています。

ブロックしたいリファラーとユーザーエージェントのリストがすでにあることを願っています。はじめましょうか。

ベスト プラクティスとして、問題が発生した場合にロールバックできるように、変更する前に構成ファイルのバックアップを作成します。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

Nginx

Nginx は何百万ものサイトを支えており、Web ホスティングの間で非常に人気があります。 Nginx を使用している場合、Nginx を停止する方法は次のとおりです。次のユーザー エージェントから多くの自動リクエストを受信して​​おり、それらをブロックすることにしたとします。

  • ジャワ
  • カール
  • パイソン
if ($http_user_agent ~* "java|curl|python") {
    return 403;
}

それらをどこかにリダイレクトしたい場合は、次のようにします。

 if ($http_user_agent ~* "java|curl|python") {
    return 301 https://yoursite.com;
}

上記の構成は server ブロックの下にある必要があります。

そして、以下はリファラーによってブロックされます。次の例は、semalt.com、badsite.net、example.com からのリクエストをブロックするために location ブロックに含める必要があります。

 if ($http_referer ~ "semalt\.com|badsite\.net|example\.com")  {
  return 403;
}

必要な変更を加えた後、ファイルを保存し、Nginx を再起動して有効にする必要があります。

Nginx を再起動するには、以下を使用できます。

 service nginx restart

Nginx は強力な Web サーバーです。学習に興味がある場合は、この オンライン コース をチェックしてください。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

アパッチHTTP

Apache でユーザー エージェントをブロックするには、 mod_rewrite モジュールを使用できます。モジュールが有効になっていることを確認し、 .htaccess ファイルまたはそれぞれの .conf ファイルに次の内容を追加します。

複数のサイトを構成していて、特定の URL をブロックしたい場合は、それらをそれぞれの VirtualHost セクションに配置するとよいでしょう。

 RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} badcrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badspider [NC]
RewriteRule . - [R=403,L]

上記のルールは、badcrawler、badbot、および badspider としてのユーザー エージェントを含むリクエストをブロックします。

そして、以下の例は、BlowFish、CatchBot、 becomeBot というリファラー名でブロックします。

 RewriteEngine on
RewriteCond %{HTTP_REFERER} blowfish|CatchBot|BecomeBot [NC]
RewriteRule . - [R=403,L]

いつものように、Apache サーバーを再起動して結果をテストします。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

ワードプレス

共有ホスティングで WordPress を使用している場合、Web サーバー設定にアクセスできない場合、またはファイルの変更に慣れていない場合は、WP プラグインを使用できます。 WP セキュリティ プラグインは数多くありますが、悪質なボットをブロックするための人気のあるプラグインの 1 つは、 Blackhole for Bad Bots です。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

結論

上記のヒントが不正なリクエストを阻止し、正当なリクエストが影響を受けないようにするのに役立つことを願っています。包括的なセキュリティ保護をお探しの場合は、 Astra や SUCURI などのクラウドベースの WAF の使用を検討することもできます。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

「 Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?」についてわかりやすく解説!絶対に観るべきベスト2動画

【Webサーバー】NginxとApacheって何が違うのか解説してみた
WordPress環境を2秒で構築する脅威のツール「InstaWP」

ログに表示される不要なリクエストをすべてブロックします。

あなたは Web サイト訪問者のログを調べて、不要なリクエストにうんざりしたことがあるかと思います。これらは必ずしも悪いものやスパムであるとは限りませんが、ビジネスに価値を付加しない可能性があります。ヒットの大部分が望ましくないユーザー エージェントやリファラー経由で発生しており、サイトのトラフィックが良好であると思っていても、実際にはそれらは役に立たない場合を想像してください。

これらを管理する最善の方法は、ネットワーク デバイス、ロード バランサー、ファイアウォール、CDN などのエッジでそれらを停止することです。ただし、個人のブロガーや小規模な Web サイトが使用するのは現実的ではないため、Web サーバーや WordPress などの下位レベルでブロックしたい場合があることは理解しています。

ブロックしたいリファラーとユーザーエージェントのリストがすでにあることを願っています。はじめましょうか。

ベスト プラクティスとして、問題が発生した場合にロールバックできるように、変更する前に構成ファイルのバックアップを作成します。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

Nginx

Nginx は何百万ものサイトを支えており、Web ホスティングの間で非常に人気があります。 Nginx を使用している場合、Nginx を停止する方法は次のとおりです。次のユーザー エージェントから多くの自動リクエストを受信して​​おり、それらをブロックすることにしたとします。

  • ジャワ
  • カール
  • パイソン
if ($http_user_agent ~* "java|curl|python") {
    return 403;
}

それらをどこかにリダイレクトしたい場合は、次のようにします。

 if ($http_user_agent ~* "java|curl|python") {
    return 301 https://yoursite.com;
}

上記の構成は server ブロックの下にある必要があります。

そして、以下はリファラーによってブロックされます。次の例は、semalt.com、badsite.net、example.com からのリクエストをブロックするために location ブロックに含める必要があります。

 if ($http_referer ~ "semalt\.com|badsite\.net|example\.com")  {
  return 403;
}

必要な変更を加えた後、ファイルを保存し、Nginx を再起動して有効にする必要があります。

Nginx を再起動するには、以下を使用できます。

 service nginx restart

Nginx は強力な Web サーバーです。学習に興味がある場合は、この オンライン コース をチェックしてください。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

アパッチHTTP

Apache でユーザー エージェントをブロックするには、 mod_rewrite モジュールを使用できます。モジュールが有効になっていることを確認し、 .htaccess ファイルまたはそれぞれの .conf ファイルに次の内容を追加します。

複数のサイトを構成していて、特定の URL をブロックしたい場合は、それらをそれぞれの VirtualHost セクションに配置するとよいでしょう。

 RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} badcrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badspider [NC]
RewriteRule . - [R=403,L]

上記のルールは、badcrawler、badbot、および badspider としてのユーザー エージェントを含むリクエストをブロックします。

そして、以下の例は、BlowFish、CatchBot、 becomeBot というリファラー名でブロックします。

 RewriteEngine on
RewriteCond %{HTTP_REFERER} blowfish|CatchBot|BecomeBot [NC]
RewriteRule . - [R=403,L]

いつものように、Apache サーバーを再起動して結果をテストします。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

ワードプレス

共有ホスティングで WordPress を使用している場合、Web サーバー設定にアクセスできない場合、またはファイルの変更に慣れていない場合は、WP プラグインを使用できます。 WP セキュリティ プラグインは数多くありますが、悪質なボットをブロックするための人気のあるプラグインの 1 つは、 Blackhole for Bad Bots です。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

結論

上記のヒントが不正なリクエストを阻止し、正当なリクエストが影響を受けないようにするのに役立つことを願っています。包括的なセキュリティ保護をお探しの場合は、 Astra や SUCURI などのクラウドベースの WAF の使用を検討することもできます。

Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?
Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?

「 Apache、Nginx、WordPress で不要なユーザーエージェントとリファラーをブロックする方法?」についてわかりやすく解説!絶対に観るべきベスト2動画

【Webサーバー】NginxとApacheって何が違うのか解説してみた
WordPress環境を2秒で構築する脅威のツール「InstaWP」