Bingが存在しないサブドメインにアクセスしてくる時の対処方法

少し前の記事でBingはリダイレクトを認識しないと記載しましたが、最近また存在しないサブドメインへのクローリングが多くなったのでBing Webmaster Tool Supportへ連絡しました。

すると以下の回答をいただきました。

Thank you for contacting Bing Webmaster Support.

We have investigated the issue and we want to inform you that we see 2 redirects that ends to a blog, Please apply a 404 on those sites, once applied please use our content removal tool to remove those pages.
Once those are done the sites would be removed out of index.
Content removal: https://www.bing.com/webmaster/help/bing-content-removal-tool-cb6c294d

We want to inform you one more thing that putting more redirects to the main page is not a best practise, instead you can use our tools to move your site to another location.
Site move: https://www.bing.com/webmaster/help/how-to-use-the-site-move-tool-bb8f5112

メール引用: BING TECHNICAL SUPPORT ENGINEER

どうやらBingでは正しいサイトに誘導する為にはBing Webmaster Toolでサイトの移動を設定し、ステータスコード404を発行しないといけないようです。

しかし、今回の場合は使用したことのないサブドメイン「www.wolfs.jp」へ勝手にクローリングしています。
URIは合っているのでサイト移動ツールで誘導しようとすると、www.wolfs.jpに対する権限が無いと出てきます。
コンテンツの削除もドメインが違うので使用できませんでした。

どうやらwww.wolfs.jpもWebmaster Toolへ登録する必要があるようですが、www.wolfs.jpは存在しないサブドメインであり使用もしていないので登録は無意味だしサイト認証をするのも面倒。
なのでサポートへ再度連絡。

2回目のサポートからの回答は1回目と同じで「404ステータスコードを設定するかサイトの移動を設定してくれ」との事。
「勝手にクローリングしている事」、「サイト移動ツールを使用できない事」、「www.wolfs.jpの登録に関する事」に対する回答は一切ありませんでした。

と言うことで、Bingはロボットも適当ですがサポートもすごく適当。
ただ、指示されたドキュメントを読んで301リダイレクトの挙動に関してはちょっと同意できるかなーって思いました。
まあそれを上回るほどBOTとサポートがダメでしたって感じです。

Yandex WebmasterでMissing page contentになる場合の対処

なぜかYandexのボットが謎のURLにアクセスしてくるからクロール制御をしたいと思ってYandex Webmasterへ登録しました。
ところが、Yandexからページのデータがダウンロードできない状態に・・・
Yandex - Missing page content
メッセージは「Missing page content」と表示されておりレスポンスボディがないって事らしい。

サーバーログでは送信バイトもでているからコンテンツデータの転送をしている事になってるけれど、Yandexの受信は0バイト。
gzipの展開に失敗しているか?と思ってYandexだけgzipを切ってもダメ。
CSPなどのセキュリティヘッダーがダメなのか?と考えて、Yandexにだけ出力しないようにしてもダメ。
Google先生にきいても全然情報がなくてダメ、Yandexで検索してもダメ。

じゃあなんなの?
まさかドメインがダメなのか?と思って、Freedomから無料ドメインをゲットしてきて割り当てたらすんなりとダウンロードしてくれました。
これにはビックリしましたが気を取り直して、wolfs.jpドメインと無料ドメインの違いを挙げてみました。
 ・DNSサーバーが違う
 ・TLDがjpとml
 ・ドメイン名が普通のドメインとPunycode
 ・SSLありとなし
違いはこんな所。

とりあえず、簡単に検証できるSSLありとなしを試してみたところ、SSLなしのページではちゃんとダウンロードできました。
まさかの一発ヒット!

Yandexの検索ではSSLページはダメなのか?と思ったけど、GETリクエスト自体はできてきるのでSSL通信自体は問題ないよう。
ならHTTP2かな?ってことで試しにHTTP2からHTTP1.1にしてみたところ、SSLでもページをダウンロードしてくれた。
と言うことで、YandexはHTTP2に対応していないようです。

YandexだけHTTP2を使わないようにするにはApacheの設定へこれを追加すればOK。

BrowserMatch "^Mozilla\/5\.0 \(compatible; Yandex" no_http2
Header unset Upgrade env=no_http2

BrowserMatchはYandexだけで良いかもだけどYandexだけだと何か違う物も無効化してしまいそうだったので、Mozilla~Yandexまでを判定材料にしました。
Missing page contentで困ってるWebマスターさんはYandexのみHTTP2の無効化を試してみてくださいー

Bingクローラーは学習しない

うちのブログは今年9月に完全SSL化しましたが、SNI未対応クライアントを配慮してSSLバーチャルホストのデフォルトをblog.wolfs.jpに設定していました。
その影響でSSLのwww.wolfs.jp、www.blog.wolfs.jpのアクセスも許可していました。

上記サブドメインを許可していた期間は僅か1ヶ月ほどでしたが一部の検索結果に上記サブドメインも載るようになったようで、www.wolfs.jp、www.blog.wolfs.jpへのアクセスがかなり増えましたw
これはダメだな・・と言うことでSNI未対応環境を捨ててblog.wolfs.jpドメインからのみアクセスを許可するよう設定し、検索結果から消すために301 Moved Permanentlyでリダイレクトするように設定して更に1ヶ月が経過。

Googleは9割blog.wolfs.jpへアクセスするようになったけれど、Bingだけは2ヶ月前と全く変わりません。
ログを見るとリダイレクト先へアクセスしていない状況。
但し、robots.txtのリダイレクトだけはちゃんとリダイレクト先にアクセスするよう。

Bingの挙動はかわってるなーと思っていたけど301を理解しないバカクローラーだとは思いませんでしたw
と言うことで、Bingは301を理解しないのでドメインを変更するときは注意が必要です。

ちなみに、リダイレクトをしているのはユーザーエージェントがGoogleとBingだけです。
リダイレクトのコードはこんな感じ。

<?php
 
if ($_SERVER['HTTP_HOST'] !== 'blog.wolfs.jp') {
    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
    if (strstr($agent, 'googlebot') !== false || strstr($agent, 'bingbot') !== false || strstr($agent, 'msnbot') !== false) {
        $redirect_host = 'blog.wolfs.jp';
        if (strstr($_SERVER['HTTP_HOST'], 'wolfs.jp') !== false) {
            $redirect_host = 'blog.wolfs.jp';
        } else if (strstr($_SERVER['HTTP_HOST'], 'xn--n6x.jp') !== false) {
            $redirect_host = 'xn--n6x.jp';
        } else {
            http_response_code(400);
            exit;
        }
 
        http_response_code(301);
        header('Location: https://'.$redirect_host.$_SERVER['REQUEST_URI'], true, 301);
        exit;
    }
 
    http_response_code(403);
    exit;
}
 
?>

これをwp-config.phpの一番上とかに書いておけば勝手にやってくれます。

WordPressを完全にSSLへ移行してみた

うちのサイトは証明書の関係でPreload HSTS(HTTP Strict Transport Security)にはしていないけれど、
HSTS設定前でもかなりhttpsからのアクセスがあったのでHSTSの設定をして、常にhttpsへ接続してもらうようにました。

で、2017年1月にリリース予定のChromium 56から、パスワードやカード情報を送信するhttpなサイトは「安全ではない」と表示するようになるようです。
Chromium Blog: Moving Towards a More Secure Web

HTTP/2.0になって完全にhttpは要らないんじゃ?って感じになってきてるみたいですね。

もうそれなら完全にSSLへ移行しちゃって良いんじゃないかー!って事で、httpをhttpsへ301でリダイレクトするようにしました。
方法はいろいろあるけれど、WordPressならrewriteで良いと思う。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://blog.wolfs.jp$1 [R=301,L]

ちなみに、RewriteRuleのURLで最後にスラッシュを入れるとリダイレクト先でダブルスラッシュになるので注意。
例:
 RewriteRule: RewriteRule ^(.*)$ https://blog.wolfs.jp/$1 [R=301,L]
 アクセスURL: http: //blog.wolfs.jp/page-1/
 リダイレクトURL: https: //blog.wolfs.jp//page-1/

これの何が悪いかと言うと、
ダブルスラッシュになっているとWordPressのリダイレクトが働いてhttps://blog.wolfs.jp/page-1/へリダイレクトされるので合計2回リダイレクトされる事に。
かなり無駄なので注意。
RewriteBase /なんかを使うと良いけど、別にそんなの指定しなくても/を1つ抜くだけで動くから要らないとおもうw

この状態でMozillaが提供しているサイトのセキュリティ診断、Observatory by Mozillaをうけてみると・・・
Observatory 結果
うんA+でかなり良いスコアがでました。
続きを読む

新しいIP範囲からのスパム

第1オクテットが103のスパムを片っ端からブロックしてたら、来るスパムが減って安心していました。
しかし、今日新しい範囲からスパムらしく短期間に山ほどメールが来ました。

文面の特徴が一致しているので同じ業者だとわかります。
とりあえず、文面はこんな感じ。

第1オクテットが103のスパム

差出人: ◆1700万円をすぐ受け取ってください◆即送金可能◆ <df21bd3@fh1jzkmb3b.com>
件名: Ш至急1700万円を受け取ってもらえませんか?急に変な事を言ってごめんなさい、でも騙したりするつもりで送っている訳じゃないので、とりあえず話しを聞いてもらえませんか? 添付写真
--------------------

◆1700万円をすぐ受け取ってください◆即送金可能◆様よりメールあり!
http://fh1jzkmb3b.com/...

退会なども上記より

 
第1オクテットが59のスパム

差出人: 専属送/金担当者:相川 絵里 <fth51rfcv@e275bj363e.com>
件名: £10,0/0円.【1度のご購,入】お一人様γあたり『960.0万,円』ご送/金のご案/内γで御.座/いますγ!専属送,金担当者,:相川 絵里
--------------------

専属送/金担当者:相川 絵里,様.よ,りメ,ッ/セ,ー/ジあり♪
http://e275bj363e.com/...

退.会なども上/記より

 
今回の送信元IPアドレスをRIRへ照会すると・・・

% [whois.apnic.net]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html
% Information related to '59.153.205.0 - 59.153.205.255'
inetnum: 59.153.205.0 - 59.153.205.255
netname: ACCESSNETLLC-JP
descr: ACCESS-NET LLC
descr: 1403 Win Aoyama, 2-2-15 Minami-Aoyama
country: JP
admin-c: ALA2-AP
tech-c: ALA2-AP
status: ALLOCATED NON-PORTABLE
mnt-by: MAINT-ACCESSNETLLC-JP
mnt-irt: IRT-ACCESSNETLLC-JP
changed: info@access-n.net 20151105
source: APNIC
irt: IRT-ACCESSNETLLC-JP
address: 1403 Win Aoyama, 2-2-15 Minami-Aoyama, Minato-Ku Tokyo 107-0062
e-mail: info@access-n.net
abuse-mailbox: info@access-n.net
admin-c: ALA2-AP
tech-c: ALA2-AP
auth: # Filtered
mnt-by: MAINT-ACCESSNETLLC-JP
changed: hm-changed@apnic.net 20130718
source: APNIC
role: ACCESS-NET LLC administrator
address: 1403 Win Aoyama, 2-2-15 Minami-Aoyama, Minato-Ku Tokyo 107-0062
country: JP
phone: +81368691858
fax-no: +81368691858
e-mail: info@access-n.net
admin-c: ALA2-AP
tech-c: ALA2-AP
nic-hdl: ALA2-AP
mnt-by: MAINT-ACCESSNETLLC-JP
changed: hm-changed@apnic.net 20130718
source: APNIC
% This query was served by the APNIC Whois Service version 1.69.1-APNICv1r0 (UNDEFINED)

うん、やっぱり送信元はいつものヤクザスパムでした。
これからは103に加え59も警戒する必要があるかもしれません。

いつもの、スパム送信元リストには追加済みです。

ちなみに、Webサイトは脆弱性がモリモリあるのでTor等で匿名化して相手サーバーを弄って遊んでみるのがオススメです。