前書き
セキュリティは、WordPressサイトを運営する上で最も重要な側面の1つです。 私たちの多くは、ハッカーが私たちのウェブサイトを気にしないと思うように誘惑されますが、実際には、不正なログインの試みは、公共のインターネット上でサーバーを実行する一般的な部分です。
このチュートリアルでは、WordPressのログインプロセスに追加のセキュリティ層を追加する方法を学習します:二要素認証。 これは、サイバーセキュリティの分野で最も重要な開発の1つです。
2要素認証または「2FA」には、サイトまたはシステムにログインするときに2つの手順が組み込まれています。
-
ユーザー名とパスワード
-
*ワンタイムパスワード(OTP)*と呼ばれる、ランダムに生成された時間依存のコード(つまり、一定の期間後にコードが期限切れになる)
OTPにアクセスできるさまざまな方法があります。
-
SMS
-
電話
-
Eメール
-
オフライン、モバイルアプリケーション経由
銀行や取引口座などのリスクの高いシステムは機密性の高いトランザクションにSMS配信を使用しますが、OTPを生成する_オフラインモード_を使用します。 モバイルアプリケーションの使用は無料で、高可用性、実装コスト、使いやすさの間で最適なバランスを取ります。
目標
二要素認証をインストールして有効にすると、WordPressのログイン手順がより安全になります。
ログインするためにユーザー名とパスワードを入力することに加えて、モバイルアプリケーションによって生成されたパスワードも入力する必要があります。 つまり、WordPressの資格情報が侵害されても、ハッカーは携帯電話なしではWordPressにログインできません。
チュートリアルの最後で、携帯電話を紛失した場合のフェイルプルーフ復旧技術についても説明します。 さぁ、始めよう!
前提条件
DigitalOcean DropletにWordPressを機能的にインストールする必要があります。 このチュートリアルを既存のWordPressインストールに適応させることはできますが、特に以下でテストされています。
-
Ubuntu 14.04ドロップレット
-
sudoユーザー
-
WordPress with Nginxの新規インストール。これには読者もhttpsが必要です。 ://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04 [LEMPのインストール]
DigitalOcean独自のhttps://www.digitalocean.com/features/one-click-apps/wordpress/[WordPress 1-click image]は、開始する場所として別のオプションです。
-
また、FreeOTPモバイルアプリケーションをインストールできるiOSまたはAndroidを実行しているモバイルデバイスへのアクセスも必要です。
ステップ1-Google認証システムプラグインをインストールする
このステップでは、WordPressサイトにGoogle Authenticatorプラグインをインストールします。
image:https://assets.digitalocean.com/articles/wordpress_2fa/1.png [WordPress用のGoogle認証システムプラグインをインストールしてアクティブ化する]
プラグインをインストールする最も簡単な方法は、WordPressダッシュボードを使用することです。 今すぐWordPressダッシュボードにログインします。
スムーズなインストールを行うには、次の手順に従ってください。
-
ダッシュボードから、*プラグイン>新規追加*に移動します
-
[検索]フィールドに「+ google authenticator」と入力します
-
これにより、クエリ名に一致するいくつかのプラグインがロードされます
-
* Henrik Schack による Google Authenticator *というプラグインをインストールします
-
インストールが完了したら、*プラグインの有効化*リンクを選択します
_ 注意:*このWordPressインスタンスのプラグインを初めてインストールする場合は、SSH資格情報を入力する必要があります。 * Linux sudoユーザー*ユーザー名とパスワードを入力し(またはセキュリティを強化するには、公開キーをアップロードし)、 SSH2 *オプションを選択します。 _
(オプション)プラグインを手動でインストールする
または、プラグインを手動でダウンロードしてアクティブ化することもできます。 これらの手順を以下に説明します。
DigitalOcean Dropletにログインして、 `+ plugins +`ディレクトリに移動します。
cd wp-content/plugins/
_ *注:*このチュートリアルでは、https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-nginx-on-ubuntu-14-04 [thisチュートリアル] WordPressを `++`ディレクトリにインストールします。 別のセットアップを使用している場合は、WordPressがインストールされている正しいディレクトリを入力してください。 _
次に、WordPressリポジトリからプラグインをダウンロードします。
wget https://downloads.wordpress.org/plugin/
_ *注意:*執筆時点では、Google Authenticatorプラグインの最新バージョンはバージョン0.47です。 必ず_最新バージョン_をインストールしてください。 _
ステップ2-FreeOTPアプリケーションのダウンロード
この手順では、モバイルデバイスに無料のOTPアプリをダウンロードしてインストールします。
FreeOTPは、ワンタイムパスワードプロトコルを備えたシステムの2要素認証をサポートするオープンソースアプリケーションです。 つまり、Google認証システムに代わるものです。 このアプリを使用して、ワンタイムパスワードを生成し、WordPressサイトにログインします。
image:https://assets.digitalocean.com/articles/wordpress_2fa/2.png [Google PlayストアのFreeOTPアプリ]
FreeOTPはRedHatがスポンサーであり、AndroidおよびiOS用のアプリがあります。 アプリと公式プロジェクトを入手するためのリンクを以下に示します。
-
https://fedorahosted.org/freeotp/ [公式プロジェクトサイト]
手順3-プロファイルの認証プラグインを有効にする
この手順では、管理者のWordPressプロファイルのWordPressプラグインをアクティブにし、FreeOTPアプリで動作するように設定します。
WordPressダッシュボードで、* Users> Your Profile の下にある Profile *ページに移動します。 * Google Authenticator Settings *というサブセクションを見つけます。
image:https://assets.digitalocean.com/articles/wordpress_2fa/3.png [Google Authenticatorプラグインの設定]
プラグインのさまざまな設定オプションを見てみましょう。
-
*アクティブ:*このボックスをチェックしてプラグインをアクティブにします
-
*緩和:*これにより、OTPに入るための時間制限が10秒から4分に増加します。 割り当てられた時間内にOTPのコピーに問題がある場合は、これを有効にします
-
*説明:*名前(できればブログの名前)を入力します。 この値は、モバイルデバイスのFreeOTPアプリに表示されます
-
* QRコードを表示/非表示:*このボタンをクリックしてQRコードを表示します
image:https://assets.digitalocean.com/articles/wordpress_2fa/4.png [freeotpアプリでqrコードをスキャン]
FreeOTPアプリケーションの接続
スマートフォンまたはタブレットでFreeOTPアプリを起動します。
アプリの小さなQRコードアイコンをクリックします。 携帯電話を持って、WordPressからQRコードをスキャンします。これは、コンピューターの画面に表示されるはずです。
すぐに* WordPress *として指定されたFreeOTPのエントリが、その下の*説明*に入力したテキストとともに表示されます。 これは、WordPressサイトがFreeOTPアプリに正常にリンクされたことを意味します。
*変更の保存:*最後に、これまでに行った変更を保存する必要があります。 WordPressでページの一番下までスクロールし、[プロファイルの更新]ボタンをクリックします。
ステップ4-ログインのテスト
この手順では、2要素認証が有効になっていることを確認します。
WordPressサイトからログアウトし、再度ログインしてください。 同じログイン画面に加えて、* Google Authenticator code *入力ボックスが表示されます。
image:https://assets.digitalocean.com/articles/wordpress_2fa/5.png [2fa対応のWordPressログインフォーム]
モバイルデバイスでFreeOTPアプリを起動します。 WordPressボタンをクリックして、新しいワンタイムパスワードを生成します。
その値を入力ボックスに入力します。 WordPressにログインできるはずです。
他のユーザーの2要素認証を有効にする
WordPressインストールにアクセスできる他のユーザーの2要素認証を有効にすることができます(また有効にする必要があります)。 セットアップ時に、自分のモバイルデバイスにFreeOTPがインストールされていることを確認してください。
アカウント復旧
携帯電話を紛失した場合、WordPressサイトからロックアウトされます。 これは、2要素認証を実装することの大きな欠点です。 ありがたいことに、このような状況には*非常に簡単な修正*があります。
必要なのは、* Google Authenticator *プラグインを無効にすることだけです。
DigitalOcean Dropletのシェルを起動して、 `+ plugins +`ディレクトリに移動します。
cd wp-content/plugins/
`+ google-authenticator`フォルダーの名前を別の名前に変更します。
mv 'google-authenticator'
WordPressはプラグインの作業ディレクトリを見つけることができないため、これによりプラグインが無効になります。
次に、通常どおりWordPressアカウントにログインします。 今回は、追加のトークンを要求するのではなく、通常のパスワードを要求します。
WordPress管理者ダッシュボードにアクセスし、古いデバイスを復元するか、FreeOTPがインストールされた新しいデバイスを取得したら、プラグインゲインを有効にする必要があります。 ドロップレットのシェルから、次のコマンドを使用します。
+ mv 'google-authenticator' +
古いデバイスを使用している場合は、これで十分です。 ステップ4 *を再度実行して、ログインプロセスをテストできます。 または、 WP Dashboard> Plugins> Installed Plugins *に移動して、Google Authenticatorプラグインを再度アクティブにする必要がある場合があります。
-
Users> Your Profile の下のユーザープロファイルに移動し、 Google Authenticator Settings *サブセクションを見つけます。
今回新しいデバイスを使用している場合は、[新しいシークレットを作成]をクリックします。 新しいQRコードが生成され、古いコードは無効になります。 _new_デバイスで新しいQRコードをスキャンします。 これは、*ステップ3 *に示すように、2要素認証を有効にしてFreeOTPアプリケーションを接続したときに行ったものと同じです。
または、デバイスが見つかるまで2要素認証を無効にすることもできます。 適切なオプションを選択したら、[プロファイルの更新]ボタンをクリックして、変更を保存してください。
結論
2要素認証の統合は、WordPressサイトのセキュリティを改善するための優れたステップです。 これで、攻撃者がアカウントの資格情報を取得したとしても、OTPコードなしではアカウントにログインできません。 災害復旧技術は、携帯電話が見つからない場合に役立ちます。
WordPress管理者は他にどのようなセキュリティ手順を実行する必要がありますか? 以下のコメントであなたの考えを共有してください!