WordPressのセキュリティを強力にアップする方法-YubiKey編-
WordPressのセキュリティ対策に悩んでいる方は多いのではないでしょうか。自分も経験したのですが、突然見たこともないIPアドレスから猛烈なログイン攻撃を受けるということが急増しているようです。
そこで、僕が実践している強力セキュリティツール「YubiKey」をご紹介。導入にはちょっと手間がかかってしまいますが、一度導入すれば無敵とも言える(過信はダメですけど)セキュリティ環境を手に入れることができます。手間が理由なのか、ググってみても日本語の解説記事は殆どないため、書いておくことにしました。なお、この方法により、利用できなくなる機能もあるので記事の最後の「欠点や補足」も先にご一読を。
Yubikeyとは
今回利用するツールというのが、YubiKeyというちっちゃいUSBキーです。こいつは、カリフォルニアに本拠地のあるYubico社が開発・発売しているセキュリティキーで、さまざまなプラットフォームのデバイスに共通して利用できる、ワンタイムパスワードの自動生成ツールです。最近はよくネット銀行などで見かけるものに似ていますが、こいつはキーのボタンを押した瞬間にだけ固有の44ケタのパスワードを生成してくれます。押す度にパスワードが変わるため実質的に破ることが不可能なパスワードを勝手に生成してくれるのです。
今回は、この無敵のツールをWordPressにリンクさせてログインの際に利用しようと言うことなんです。
1.YubiKeyの入手
こいつを入手するには、Yubico社のサイトから直接購入し、海外から送ってもらう必要があります。どうも日本でも販売しているところがあるようなのですが、YubicoIDとの連携が必要な手順のため、本家を利用する手順を書いておきます。
ここから公式ショップに入ります。いろいろなタイプ、パッケージが売られているのですが、各自の状況にあったものを購入してください。基本は、YubiKey in BlackとかWhiteあたりです。YubiKey NEOも使えます。なお、WordPressに登録できるkeyの数は3件までです。
現時点の価格は本体1個$25に加え、送料等が本体3個まで$5です。到着までは航空便で1-2週間かかります。自分の場合は、2個注文したので封筒に入れられてきました。
入手したら、試しにパソコンのUSBポートに差し込んでみてください。特に何もドライバなどは不要で、キーボード等として認識されると思います。YubiKeyの真ん中が光ったら認識完了。テキストエディタ等を開いて光っているところを1秒くらい押しみてください。44文字のアルファベットが表示されると思います。
2.Yubico ID と API Keyの入手
さてこここから手順が面倒ですががんばりましょう!まず、セキュリティを確保するためには、Yubico社が提供している認証サーバーにkeyを登録します。
ここに入り、自分のメールアドレスを入力、「YubiKey one-time password」では、入手したYubiKeyを利用してワンタイムパスワードを入力し、「Get API Key」をクリック。
すると、こんな感じで「Client ID」と「Secret key」が発行されます。この画面情報は次のステップで利用しますので大切に保管しておきましょう。
3.WordPressの設定
続いて、WordPressにはプラグインの導入が必要です。
「yubikey-plugin」というプラグインを導入しましょう。
まず、WordPressにログインして、「プラグイン」-「新規追加」から「yubikey-plugin」を検索し、インストールしてください。(現時点では、プラグインのバージョンは、0.95です。)インストール後、プラグインを有効化します。
続いて、先程発行されたYubico ID と API KeyをWordPressに登録します。
「設定」の「YubiKey」に入り、先程入手した「Client ID」と「Secret key」をそれぞれ、「Yubico API ID」と「Yubico API key」に入力して保存します。
さらに続いて、YubiKeyの登録を行います。
「ユーザー」の「あなたのプロフィール」に入ります。画面中程に今までなかった上の画像のような入力画面が出ていると思います。
まず、「YubiKey authentication」を有効「Use Yubico Server」にします。さらに「Key ID」の1~3に適宜YubiKeyを利用してワンタイムパスワードを入力します、1番目は必須です。2つ以上のYubiKeyを利用する場合には、2つめ3つめをここに入力します。
最後に保存!
お疲れさまでした!これで設定完了です!
日々のログイン
一度ログアウトし、もう一度ログイン画面に移ってみてください。そーすると、今までなかったボックスが増えていると思います。いつも通りユーザー名とパスワードを入力し、YubiKey OTPという欄にYubiKeyを使ってログインできるはずです!
欠点や補足
この方法、セキュリティ的にはレベルが高いのですが、欠点がいくつかあります。
先程も書きましたように、初期導入に少々コストと時間がかかること。これに加え、サードパーティー製のブログ編集ツールが使えなくなり、ブログの投稿・編集は全てオンラインになってしまうと言う点。ログイン時点でYubiKey APIが必須となってしまうためで、これはすでにブログソフトを導入している場合には痛い問題ですが、とにかくセキュリティ重視という場合にお勧めです。
YubiKeyは現在Google社が目をつけ、多要素認証のひとつとして検証が進められていると公表されています。当然人の作ったものですから万全ということはないですが、第三者を認証の仕組みに組み入れるというのは当座の強固なセキュリティには重要な手なのではないかと思います。