【Tips】迷惑系クローラーBytespider🕷️をブロックせよの巻

お行儀の悪い中国系のボットBytespiderにご用心

最近、下記のようなユーザーエージェントのアクセスが増えてきました。

Mozilla/5.0 (compatible; Bytespider; spider-feedback@bytedance.com) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.0.0 Safari/537.36
Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)

Bytespider(バイトスパイダー)という名前からいかにも怪しいBotのようですね。先月Google Search Console(サチコ)のクロールの統計情報でホストのステータスに異常が見られたのはコイツが原因だったのかもしれません。

アクセスログを確認してみたところ11月8日から突然リクエストが始まり、11月20日に第二波がありました。これはGoogle Search Console(サチコ)の警告の時期と一致しています。その後も何度かアクセスが続いているようなので、今後のことも考えて対策を打つことにしました。

PSA | Bytedance and Bytespider Bots | Recommend Blocking
Support » Plugin: Wordfence Security – Firewall, Malware Scan, and Login Security » PSA | Bytedance and Bytespider Bots ...

Bytespiderとは?

どうやらTikTokで有名なByteDance社の別のサービス「今日頭条」(Jinri Toutiao)という中国の無料ニュース配信アプリ(直訳すると今日のヘッドラインという意味)のクローラーのようです。情報によるとrobots.txtファイルを無視する俗に言う「お行儀の悪い」Botであることが判明。さらにこれを悪用して他サイトのコンテンツをかき集めた偽ショッピングサイトがあるらしく、詐欺サイトの温床になっているという話も。このような迷惑極まりないBotは断固としてお断りします😡

以下の対処方法はApacheの.htaccessを利用しています。.htaccessはサーバーによって設定が異なるため記述を誤るとエラーになってウェブコンテンツにアクセスできなくなったり、サーバーに負荷をかけるような状態に陥ってしまうことがあります。以下のコードはあくまで自己責任で設定し、記述内容や設定内容に十分ご注意ください。

【其の壱】SetEnvIf ディレクティブ

# Apache2.2系の場合
SetEnvIf User-Agent "Bytespider" bothersome_bot
Order Allow,Deny
Allow from all
Deny from env=bothersome_bot
# Apache2.4系の場合
SetEnvIf User-Agent "Bytespider" bothersome_bot
<RequireAll>
RequireAll Granted
Require not env bothersome_bot
</RequireAll>

Apacheの SetEnvIf ディレクティブを利用した方法です。リクエストの属性に基づいて、ユーザーエージェントに「Bytespider」という文字列を含む場合にアクセスを拒否します。.htaccessファイルに上記の記述を追加します。

【其の弐】BrowserMatchNoCase ディレクティブ

# Apache2.2系の場合
BrowserMatchNoCase "Bytespider" bothersome_bot
Order Allow,Deny
Allow from all
Deny from env=bothersome_bot
# Apache2.4系の場合
BrowserMatchNoCase "Bytespider" bothersome_bot
<RequireAll>
RequireAll Granted
Require not env bothersome_bot
</RequireAll>

Apacheの BrowserMatchNoCase ディレクティブを利用した方法です。HTTP User-Agent に基づいて大文字小文字を区別せずユーザーエージェントに「Bytespider」という文字列を含む場合にアクセスを拒否します。.htaccessファイルに上記の記述を追加します。

二枚でどうだ

# Apache2.2系の場合
SetEnvIf User-Agent "Bytespider" bothersome_bot
BrowserMatchNoCase "Bytespider" bothersome_bot
Order Allow,Deny
Allow from all
Deny from env=bothersome_bot
# Apache2.4系の場合
SetEnvIf User-Agent "Bytespider" bothersome_bot
BrowserMatchNoCase "Bytespider" bothersome_bot
<RequireAll>
RequireAll Granted
Require not env bothersome_bot
</RequireAll>

其の壱 SetEnvIf と其の弐 BrowserMatchNoCase ディレクティブの両方を適用して試してみます。Bytespiderに対して403 Forbidden(アクセス権がありません)というエラーを返すので、ページを閲覧することができなくなります。

12月9日に対策を実施して一週間が経過しましたが、リクエスト数、ページ数ともゼロになり完全にシャットアウトできているようです。

ただしユーザーエージェントは偽装が可能な為、今後イタチごっこになる可能性はあります。

コメント