XSERVER PC・728 x 90 wordpress

管理ページにGoogle2段階認証を導入する[WordPress]

シェアしていただけるとうれしいです

google-on-your-smartphone


WordPressでサイトやブログを運営する上で、最も怖いのが「乗っ取り」。WordPressの管理ページの「ユーザー名」と「パスワード」が悪意を持った第三者に何らかの原因によって漏れてしまい、自分が運営するWordPressのサイトやブログに知らないうちにログインされてしまうというもの。

いや~知らないうちに知らない記事が増えていたよ。

なんてことなら笑い話で済むのですが、例えば、知らないうちにウイルスをダウンロードするように仕込まれたり、他のサーバーを攻撃するようなプログラムを仕込まれてしまったような場合。

あなたのWordPressのサイトやブログが、善意の第三者のクレジットカード番号を盗むことや、企業や政府機関のWebサイトをダウンさせてしまうような攻撃に利用されるかもしれません。あなたはサイトの運営者としての責任がありますから、被害を与えた側の責任として賠償問題に発展しないとも限りません。

WordPressの管理ページの「ユーザー名」はともかく、「パスワード」は簡単に類推できるようなものにしてはダメです。「ユーザー名」や「パスワード」を次々変えてログインを試行する攻撃手法に「ブルートフォースアタック」というものがあります。

[WordPress]勝手に知らないユーザーが!?
[WordPress]勝手に知らないユーザーが!?
キーワードから推測すると、「WordPressのユーザーに、知らないユーザーが勝手にできてていた」、ということだろうと思う。WordPressのシステムが勝手に知らないユーザーを作ることはない。

辞書に載っているような簡単なキーワード、数字だけ、アルファベットだけ、といったパスワードは、簡単に見破られてログインされてしまうかもしれません。

そういったことを防ぐために、いくつか対策があります。

  • ブルートフォースアタックを防ぐ
  • 画像認証を取り入れる

XSERVERでは「セキュリティ対策」としていくつかの対策がされています。

WordPressセキュリティ設定 | レンタルサーバー【エックスサーバー】
レンタルサーバー「エックスサーバー」のご利用マニュアル|ご利用のWordPressにおいて、各種ツールに対する国外IPアドレスからのアクセスの制限や、パスワード総当たり攻撃の防止など、セキュリティを強化する「WordPressセキュリティ設定」のご案内です。

こちらのページに載っている「ログイン試行回数制限設定」がブルートフォースアタック対策です。

また、プラグインにもブルートフォースアタックを防ぐ機能が備わっているものもあります。

[WordPress]ブログを守る最終兵器?SiteGuard WP Pluginを入れてみた
[WordPress]ブログを守る最終兵器?SiteGuard WP Pluginを入れてみた
WAFのセミナーに行ってきたのでした先月だったと思うのですが、WAF(わふ・Web Application Firewall)の...

XSERVERのような対策が施されていないレンタルサーバーでは、そういったプラグインを利用することをオススメします。

管理ページにGoogle2段階認証を導入する

ブルートフォースアタックを防ぐことができれば、ほぼ管理ページは安全といえるのですが、それも確率の問題で、攻撃者がたまたま、あなたのWordPressの「ユーザー名」と「パスワード」を入力してしまったら、ログインされてしまうことには違いありません。

ブルートフォースアタックは、もちろん、手作業で行われるのではなく、コンピュータを利用して機械的に一度の大量にログインの試行が行われます。確率と偶然の一致で、本当にたまたま、「ユーザー名」と「パスワード」が一致してしまうという可能性は否定できません。

そのため、「画像認証」といって、表示されている画像の数字を入力させる認証方法もありますが、画像解析の技術が上がれば、簡単に破られてしまう可能性だってあります。多くの攻撃が海外からだといって画像認証に日本語を使う事例もありますが、それとてどれだけの効果があるのかは分かりません。

日本語の画像認証

日本語の画像認証

現時点でWordPressで使える認証方法で一番最強なのは、Googleの2段階認証です。スマホのアプリで発行される6桁の数字を入力して認証します。6桁の数字は1分間だけ有効で、1分をすぎると無効になり、新しい番号を入力しなければなりません。また、6桁の番号を発行できるのは特定のスマホだけです。

EvernoteやDropboxなどでも使われています。

Evernoteで使われているGoogleの2段階認証

Evernoteで使われているGoogleの2段階認証

WordPressのプラグインでGoogleの2段階認証ができるようになるものを見つけましたので、これを導入してみます。

Google Authenticatorのインストール

WordPressの管理ページで、「プラグイン」→「新規追加」で、キーワードで「Google Authenticator」を検索します。
Google Authenticatorを検索

検索して見つかったGoogle Authenticatorをインストールして有効化します。
Google Authenticatorをインストールして有効化する

スマホにAuthenticatorをインストール

こちらからGoogle2段階認証に使用するスマホのアプリをダウンロードしてインストールしておきます。

Google Authenticator
開発元:Google, Inc.
無料
posted with アプリーチ

Google Authenticatorの設定

WordPressの管理ページで、「ユーザー」→「あなたのプロフィール」を開きます。
真ん中あたりにGoogle Authenticator Settingsというところがあります。
Authenticator Settings

Activeにチェックを入れます。チェックを入れることで2段階認証が有効になります。
Descriptionはそのままでもいいのですが、複数のWordPressを運用している場合には、スマホアプリの一覧で区別がつかなくなるので、ブログ名などを入れて区別が付くようにしておきます。日本語はダメみたいです。
Secretのところに表示されているアルファベットと数字をスマホにインストールしたAuthenticatorに登録するのですが、はっきりいって邪魔くさいので、Show/Hide QR codeをクリックして④QRコードを表示させて、これを読み取るほうが楽です。

最後に、ページの一番下の「プロフィールの更新」をクリックして設定内容を保存してください。
最後に、ページの一番下の「プロフィールの更新」をクリックして設定内容を保存してください。

スマホにのAuthenticatorの設定

iPhoneでの使用方法です。Androidでも同じような感じだと思います。

スマホでAuthenticatorを起動します。
起動したら画面の右上の「」をタップします。
起動したら画面の右上の「+」をタップします。

画面下にメニューが出てきますので、「バーコードでスキャン」をタップします。
画面下にメニューが出てきますので、「バーコードでスキャン」をタップします。

カメラが起動しますので、管理ページに表示されているQRコードを読み取ります。
読み取りに成功すると、リストに読み込んだ設定が追加されます。一番下にありますね。
読み取りに成功すると、リストに読み込んだ設定が追加されます。
Descriptionに入力した内容が下に表示されていますので、ブログごとに別の内容を設定すれば見分けがつきますね。

ログイン方法

WordPressの管理ページのログイン画面で、「ユーザー名」「パスワード」そして、Google Authenticator codeのところにスマホのAuthenticatorで表示されている6桁の数字を入力して「ログイン」をクリックします。

スマホのAuthenticatorで表示されている6桁の数字を入力して「ログイン」をクリックします。

6桁の数字の有効期限は1分間です。数字が赤く点滅しだすと残り時間あとわずかですので、青色になるまで待ったほうがいいかもしれませんね。

ログインできなくなったときは

FTPやSFTPなどのクライアントソフトでサーバーにログインします。
/wp-content/plugins/の下に、「google-authenticator」というディレクトリがGoogle Authenticatorプラグインのディレクトリです。このディレクトリ名を「_google-authenticator」などにリネームしちゃいましょう。Google Authenticatorが無効になります。
「google-authenticator」というディレクトリがGoogle Authenticatorプラグインのディレクトリです。

Google Authenticator codeを入力しなくてもログインできるようになります。

FTP、SFTPについてはこちらの記事を御覧ください。

[WordPress]やさしいFTPクライアントソフトの使い方
[WordPress]やさしいFTPクライアントソフトの使い方
サーバーのファイルをバックアップするには?こちらの記事でWordPressのバックアップをする方法を書きました。WordPres...
WindowsからXSERVERにSFTPで接続する方法
WindowsからXSERVERにSFTPで接続する方法
SFTPって?サーバーにファイルをアップロードしたり、サーバーからファイルをダウンロードするために「FTP」という仕組みをよく使いま...
iPhoneからSFTPでXSERVERに接続する方法
iPhoneからSFTPでXSERVERに接続する方法
iPhone(iOS)からもSFTPでXSERVERに接続することができました。正直なところ、需要があるのかどうなのかわからないけども、...

補足事項

XSERVERを使っている方

XSERVERは標準で「WordPressセキュリティ設定」の「ログイン試行回数設定」が有効になっています。これは、

短時間に連続してログイン処理(失敗)が行われた場合にアクセスを制限します。
パスワード総当り(ブルートフォースアタック)による不正アクセスを防止します。

ためのものですが、設定に手間取っていたりして制限に引っかかると、24時間管理ページのログインできなくなります。あらかじめ設定をOFFにしておくことをオススメします。

「サーバーパネル」→「ホームページ」→「WordPressセキュリティ設定」をクリックします。
「サーバーパネル」→「ホームページ」→「WordPressセキュリティ設定」をクリックします。

「ドメイン選択画面」で使用しているドメインを選択します。
「ドメイン選択画面」で使用しているドメインを選択します。

「ログイン試行回数設定」をクリックし、「OFFにする」をクリックします。
「ログイン試行回数設定」をクリックし、「OFFにする」をクリックします。

「ログイン制限設定の変更が完了しました。」という表示を確認して「戻る」をクリックします。
「ログイン制限設定の変更が完了しました。」という表示を確認して「戻る」をクリックします。

「現在の設定」が「OFF」になっていればOKです。
「現在の設定」が「OFF」になっていればOKです。

Google Authenticatorの設定が終わったら、設定を「ON」にすることをお忘れなく。

他のレンタルサーバーでも同様の設定が必要なことがあります。また、SiteGuard WP Pluginなどのセキュリティ関連のプラグインで「ログイン失敗を繰り返す接続元を一定期間ロック」するような機能がある場合は無効にしておきます。

Crazy Bone (狂骨)との相性が悪い

「ログイン」「ログアウト」のログを取る「Crazy Bone (狂骨)」というプラグインを使っていると、認証に失敗することがあるようです。実際にぼくのところでも認証に失敗するようになってしまいました。

「Crazy Bone (狂骨)」を無効にすると、問題なく認証できるようになりますので、明らかに何か干渉しているようです。

「Google Authenticator」を取るか「Crazy Bone (狂骨)」を取るか、悩ましいところですが、「Crazy Bone (狂骨)」の最終更新が2015年11月とかなり古いため、「Crazy Bone (狂骨)」を無効にすることにしました。
「Crazy Bone (狂骨)」を無効にすることにしました。

今のところ最強の認証方法です

Googleの2段階認証は、今のところ我々が使える範囲での最強の認証方法です。仮に「ユーザー名」「パスワード」が漏れてしまったとしても、あなたが持っているスマホを奪われない限り、WordPressの管理画面に第三者にログインされる恐れはありません。

逆に言うと、スマホを無くしちゃうとGoogleの2段階認証は使えなくなってしまいますので、気をつけましょうね。

WEBのシステムを作ったり保守したりするSE/プログラマというものをしています。
ブログやってますがブロガーではありません。週末WEB随筆家です。
まろと呼んでください。
広告:XSERVER:350 x 160
スポンサーリンク

シェアしていただけるとうれしいです

フォローしていただけるとうれしいです

スポンサーリンク