今知ったのですが、こんな本が出るほど WordPress って破られやすいんですね。
WordPressのログイン画面は誰でも固定の URI が振られています。
また、非ログイン状態で管理者用ページにログインしようとすると、ログインページにリダイレクトされます。
まぁ、この挙動自体は「普通」とも言えるでしょう。
が、もしこのログインページがサイトごとに違ったらどうでしょうか?
ログインページはいわば言ってしまえば「入り口がここにありますよ」と示しているようなものなので、これをサイトごとに変えてしまうというのは、セキュリティ上確かに効果的でしょう。* 1もちろん、その URI を忘れるのは論外。
ということで今回使うプラグインは、‥
SiteGuard WP Plugin – WordPress plugin | WordPress.org
ま、有名所ではあるので、知っている人も多分多いのではないかと思います。
このプラグイン、
- ログインページ変更
- 管理ページアクセス制限
- 画像認証
- ログイン詳細エラーメッセージの無効化
- ログインロック
- ログインアラート
- フェールワンス
- XMLRPC防御
- 更新通知
といった、特にログイン関係に特化した多数の機能を有しており、導入しておけばかなり安全でしょう。* 2一部、意味が分からず使ってなかったり、そのまま使ってるのは内緒。
これをインストールすれば、デフォルトではログインページが差し代わり、さらにそこに画像認証も追加されます。めでたしめでたし。
と行くはずもなく。
トラブル(と、その解決法)
昨日書きましたよね、
Goole 二段階認証(Google Authenticator) と、他のログイン画面を差し替えるプラグインを双方使ってしまうと
トラブルが起こりえると。実際、Google 二段階認証を有効にした状態でこのプラグインの画像認証をONにしておいたら、やはりログインができなくなりました。
理由はお察しの通り、画像認証と二段階認証の衝突です。
まぁ、ログインできなくなったらなったで、原因となったプラグインの片方または双方をFTPアプリケーションで削除してしまえば、最低でもログインはできます。できますが、これらの機能を放棄してしまうのは実に惜しいことです。
ということで、SiteGuard WP Plugin をインストール・有効化したらまず適当な設定を行いましょう。
SiteGuard WP Plugin インストール・有効化直後の設定
プラグインを有効化すると、
このような、いかにも「ログインし直してくださいね」のような設定画面に移行しますが、ここで「新しいログインページURL」をクリックしてしまうと終わりです。ログインできなくなります。
ということで、先ずはその原因である画像認証を外しましょう――元々、二段階認証を使用していれば用はないですから。
- 「設定変更はこちら」をクリックすると、ログインページの変更関連の設定画面へ移動するので、
- 「オプション」のチェックマークを入れ* 3デフォルトでは false 設定。、せっかくだからログインページの URI もメモしましょう。* 4もちろん、これは絶対に忘れないように。
- 画像認証タブへ移動し、すべて「無効にする」。ですがいま気づきましたがこれ、普通に "OFF" でいいですね。
以上です。
これで、ログイン関連のガードと二段階認証が併用できる形となりました。
余談
この手のトラブルって、二段階認証とその他のログイン方法を提供するプラグインを組み合わせるだけで起こるので、セキュリティに気を払うほど引っ掛かりやすい罠があるんですよね。
この手のものをまとめて、衝突しないようにした「オールインワンタイプ」のセキュリティ・プラグインって存在しないんでしょうか?
注釈