【WordPress】ブログのログイン画面で自分がボットと疑われたお話(2016.01.15追記)

今や世界最大手のCMS、Wordpress。
このサイトはもちろん、僕が製作管理している全てのWebサイトはWordpressで製作しています。
便利な機能や拡張性の高さが魅力ですが、今回その拡張性の高さが故にアクシデントが発生してとても勉強になったので備忘録代わりにエントリーします。





追記へジャンプ


ログインページに異変あり

僕は自分が勤務する会社のWebサイトを製作管理しています(僕の下で馬車馬の如く社畜化してくれる人を募集中です)。

このサイトでは、個人情報保護の観点から、一部コンテンツを会員だけが閲覧出来るような小細工をしております。
その際には wp-members というプラグインを使用中。
IDとパスワードを入力しないと特定コンテンツの閲覧規制が解除されない仕組みです(上記サイトでは現在新規会員登録は行っておりませんのであしからず)。

この”wp-members”、数日前にアップデートしたところ、何やら挙動がおかしい。
おかしいというか、今まで見た事のないアラートメッセージが表示されている…

wp0

「あなたがボットではないことを証明するためにこの算数の問題を解いてください。解けた後に再びログインする必要があります。」


自分の管理するサイトにボットと疑われる気持ち悪さ

おい…
ボットって…
ちなみに「 ボット」とは、インターネットボットのことで、インターネット上で自動化されたタスクを実行するアプリケーションソフトウェアのことです。
これをWebサイトの乗っ取り目的で不正に利用する輩が後を絶ちませんので、ボット疑いのあるアクセスには上記のようなランダムな計算式や、文字入力を求められる場合があります。

でもこれって、今僕が管理しているWebサイトに、僕自身がログインしようとしているのに、このアクセスがボットと疑われているって事ですか?
これってとても気持ち悪いんですが…
リロードしても計算式の数字が変わるだけですし、仕方なく促されるままに計算式の答えを入力して管理画面にアクセスしても、読み込みにやたらと時間がかかり過ぎる。
しかもあろうことか、会員ページのログインページにもこのメッセージが表示され、入力すると管理画面へリダイレクトされ、そこでもログインが促されるという状況…

これは正直参りましたよ…
せっかくの会員ページなのに、会員の皆様に御迷惑がかかってしまう…
早急に対応が必要です。


原因究明

そもそもこの現象が発生する直前に僕が行った行為は何か?
前述したように、直前に”wp-members”というプラグインを最新版にアップデートしています。
そうすると、このプラグインが原因か?と思いましたが、このプラグインをパッシブにすることは、会員ページが白日の元に晒されるということです。
それだけは非常にマズい。
なんとか”wp-members”をアクティブにしたまま設定も見直しましたが、ボットのアクセスに関するものは無し。

そもそも”wp-menbers”は、特定コンテンツのアクセスを制限するセキュリティ系のプラグイン。
そこで思い出したのが、 “Jetpack” というプラグイン。
これは1つのプラグインで31種類の機能が利用出来る、Wordpress使いなら使用必須の便利なヤツ。
この中に、セキュリティ系の機能があった気がする。

wp1

管理画面のダッシュボードから”Jetpack”の「パフォーマンスとセキュリティ」→「プロテクト」をパッシブにすると…


wp2

ビンゴッ!!!
直ったーっ!!!!!


プラグイン同士のバッティングか?

ここから先は僕の推測です。
直近の”wp-members”のアップデートで、セキュリティがさらに強化され、”Jetpack”内のセキュリティ機能となんらかのバッティングがあり、自分のアクセスすらボットの猜疑がかけられて、計算式入力が促されたというのが原因の本質の様な気がしています。

WordPressはプラグインによる拡張性の高さが魅力ですが、たまにこうしたプラグイン同士のバッティングでトラブルが発生してしまうことがあります。
“Jetpack”は1つのプラグインで多機能なので、(無駄にプラグインを増やさないという意味で)こういうトラブル回避にはうってつけのプラグインのはずなのですが、まさか”Jetpack”側に問題があるなんて…(これはプラグイン同士相性ですから、一概に”Jetpack”が悪いと言い切るのは乱暴なのですが)
でも、悲しいかなトラブルの都度勉強になるのも事実。
たまーにトラブルシューティングしないと頭が鈍っちゃうんで、今回もいい勉強になりました(でもトラブルは少ない方がいいよね…)


2016.01.15追記

後の記事エントリー後すぐに、”wp-members”の新たなアップデートがあり、どうやらこの問題は解決した模様です。
“Jetpack”の当該機能をアクティブにしても正常動作するのを確認しました。
この問題に特化したアップデートではないと思いますが、当該問題の修正パッチも含まれていた模様です。