序章

セキュリティは、WordPressサイトを運営する上で最も重要な側面の1つです。 私たちの多くは、ハッカーが私たちのWebサイトに煩わされることはないと考えたくなりますが、実際には、不正なログイン試行は、パブリックインターネット上でサーバーを実行する一般的な部分です。

このチュートリアルでは、WordPressのログインプロセスにセキュリティの追加レイヤーを追加する方法を学習します:二要素認証。 これは、サイバーセキュリティの分野で最も重要な進展の1つです。

二要素認証または「2FA」には、サイトまたはシステムにログインする際の2つのステップが組み込まれています。

  1. ユーザー名とパスワード
  2. ワンタイムパスワード(OTP)と呼ばれる、ランダムに生成された時間依存のコード(つまり、コードは一定期間後に期限切れになります)

OTPにアクセスするにはさまざまな方法があります。

  • SMS
  • 電話
  • Eメール
  • オフライン、モバイルアプリケーション経由

銀行や取引口座などのリスクの高いシステムでは、機密性の高いトランザクションにSMS配信を使用しますが、OTPを生成するオフラインモードを使用します。 モバイルアプリケーションの使用は無料であり、高可用性、実装コスト、および使いやすさの間で最適なバランスを取ります。

目標

二要素認証をインストールして有効にすると、WordPressのログイン手順がより安全になります。

ログインするためのユーザー名とパスワードを入力することに加えて、モバイルアプリケーションによって生成されたパスワードも入力する必要があります。 これは、WordPressの資格情報が侵害された場合でも、ハッカーは電話なしではWordPressにログインできないことを意味します。

チュートリアルの最後に、携帯電話を紛失した場合のフェイルプルーフリカバリテクニックについても説明します。 さぁ、始めよう!

前提条件

DigitalOceanDropletにWordPressを機能的にインストールする必要があります。 このチュートリアルは既存のWordPessインストールに適合させることができますが、具体的には次の方法でテストされています。

  • Ubuntu14.04ドロップレット
  • sudoユーザー
  • WordPressとNginxの新規インストール。これには、リーダーがLEMPをインストールする必要もあります。

DigitalOcean独自のWordPressワンクリック画像は、開始する場所としてのもう1つのオプションです。

  • また、iOSまたはAndroidを実行しているモバイルデバイスにアクセスする必要があります。ここで、FreeOTPモバイルアプリケーションをインストールできます。

ステップ1—GoogleAuthenticatorプラグインをインストールします

このステップでは、WordPressサイト用のGoogle認証システムプラグインをインストールします。

Install and activate the Google Authenticator Plugin for WordPress

プラグインをインストールする最も簡単な方法は、WordPressダッシュボードを使用することです。 今すぐWordPressダッシュボードにログインします。

スムーズにインストールするには、以下の手順に従ってください。

  • ダッシュボードから、プラグイン>新規追加に移動します
  • Search フィールドに、google authenticatorと入力します
  • これにより、クエリ名に一致するプラグインがいくつか読み込まれます
  • HenrikSchackによるGoogleAuthenticatorというプラグインをインストールします
  • インストールが完了したら、プラグインのアクティブ化リンクを選択します

注:このWordPressインスタンスのプラグインを初めてインストールする場合は、SSHクレデンシャルを入力する必要がある場合があります。 Linux sudoユーザーのユーザー名とパスワードを入力し(またはセキュリティを強化するために公開鍵をアップロードし)、SSH2オプションを選択します。

(オプション)プラグインを手動でインストールします

または、プラグインを手動でダウンロードしてアクティブ化することもできます。 これらの手順を以下に説明します。

DigitalOcean Dropletにログインし、pluginsディレクトリに移動します。

cd /var/www/html/wp-content/plugins/

注:このチュートリアルでは、/var/www/html/ディレクトリにWordPressをインストールするこのチュートリアルからのセットアップに従います。 別のセットアップを使用している場合は、WordPressがインストールされている正しいディレクトリを入力してください。

次に、WordPressリポジトリからプラグインをダウンロードします。

wget https://downloads.wordpress.org/plugin/google-authenticator.0.47.zip

注:この記事の執筆時点では、Google認証システムプラグインの最新バージョンはバージョン0.47です。 必ず最新バージョンをインストールしてください。

ステップ2—FreeOTPアプリケーションをダウンロードする

このステップでは、FreeOTPアプリをダウンロードしてモバイルデバイスにインストールします。

FreeOTPは、ワンタイムパスワードプロトコルを使用するシステムの2要素認証をサポートするオープンソースアプリケーションです。 つまり、Google認証システムの代替手段です。 このアプリを使用して、WordPressサイトにログインするためのワンタイムパスワードを生成します。

FreeOTP app in the Google Play Store

FreeOTPはRedHatによって後援されており、AndroidおよびiOS用のアプリがあります。 アプリとその公式プロジェクトを入手するためのリンクは次のとおりです。

ステップ3—プロファイルのオーセンティケータープラグインをアクティブ化する

このステップでは、管理者のWordPressプロファイルのWordPressプラグインをアクティブ化し、FreeOTPアプリで動作するように構成します。

WordPressダッシュボードで、ユーザー>プロフィールの下にあるプロフィールページに移動します。 Google認証システム設定というサブセクションを見つけます。

Google Authenticator plugin configuration

プラグインのさまざまな構成オプションを見てみましょう。

  • アクティブ:このボックスをオンにすると、プラグインがアクティブになります
  • リラックス:これにより、OTPに入る時間制限が10秒から4分に増加します。 割り当てられた時間内にOTPをコピーするのに問題がある場合は、これを有効にします
  • 説明:名前(できればブログの名前)を入力します。 この値は、モバイルデバイスのFreeOTPアプリに表示されます
  • QRコードの表示/非表示:このボタンをクリックしてQRコードを表示します

scan the qr code in freeotp app

FreeOTPアプリケーションの接続

携帯電話またはタブレットでFreeOTPアプリを起動します。

アプリの小さなQRコードアイコンをクリックします。 携帯電話を持ってWordPressからQRコードをスキャンします。QRコードはコンピューターの画面に表示されます。

WordPress として指定されたFreeOTPのエントリがすぐに表示され、その下のDescriptionに入力したテキストが表示されます。 これは、WordPressサイトをFreeOTPアプリに正常にリンクしたことを意味します。

変更を保存する:最後に、これまでに行った変更を保存する必要があります。 WordPressで、ページの一番下までスクロールし、プロファイルの更新ボタンをクリックします。

ステップ4-ログインをテストする

このステップでは、2要素認証が有効になっていることを確認します。

WordPressサイトからログアウトして、もう一度ログインしてみてください。 同じログイン画面に加えて、Google認証システムコード入力ボックスが表示されます。

2fa enabled WordPress login form

モバイルデバイスでFreeOTPアプリを起動します。 WordPressボタンをクリックして、新しいワンタイムパスワードを生成します。

その値を入力ボックスに入力します。 WordPressにログインできるはずです。

他のユーザーの2要素認証を有効にする

WordPressのインストールにアクセスできる他のユーザーに対して2要素認証を有効にすることができます(有効にする必要があります)。 あなたがそれをセットアップするとき、彼らが彼ら自身のモバイルデバイスにインストールされたFreeOTPで便利であることを確認してください!

アカウント復旧

携帯電話を紛失した場合、WordPressサイトからロックアウトされます。 これは、2要素認証を実装することの大きな欠点です。 ありがたいことに、このような状況に対する非常に簡単な修正があります。

GoogleAuthenticatorプラグインを無効にするだけです。

DigitalOcean Dropletのシェルを起動し、pluginsディレクトリに移動します。

cd /var/www/html/wp-content/plugins/

google-authenticatorフォルダーの名前を別の名前に変更します。

mv 'google-authenticator' 'deactivate-plug-google-authenticator'

WordPressはプラグインの作業ディレクトリを見つけることができないため、これによりプラグインが非アクティブ化されます。

次に、通常どおりWordPressアカウントにログインします。 今回は、追加のトークンは要求されず、通常のパスワードのみが要求されます。

WordPress管理者ダッシュボードにアクセスし、古いデバイスを復元するか、FreeOTPがインストールされた新しいデバイスを入手したら、プラグインゲインを有効にする必要があります。 ドロップレットのシェルから、次のコマンドを使用します。

mv 'deactivate-plug-google-authenticator' 'google-authenticator'

古いデバイスを使用している場合は、それだけで十分です。 ステップ4を再度実行して、ログインプロセスをテストできます。 または、WPダッシュボード>プラグイン>インストール済みプラグインに移動し、Google認証システムプラグインをもう一度アクティブ化する必要がある場合があります。

[ユーザー]>[プロフィール]の下にあるユーザープロフィールに移動し、Google認証システムの設定サブセクションを見つけます。

今回新しいデバイスを使用している場合は、新しいシークレットの作成をクリックします。 新しいQRコードが生成され、古いQRコードは無効になります。 新しいデバイスで新しいQRコードをスキャンします。 これは、ステップ3 に示すように、2要素認証をアクティブにしてFreeOTPアプリケーションを接続したときに行ったのと同じことです。

または、デバイスが見つかるまで2要素認証を無効にすることもできます。 適切なオプションを選択したら、プロファイルの更新ボタンをクリックして変更を保存してください。

結論

二要素認証を統合することは、WordPressサイトのセキュリティを向上させるための優れたステップです。 これで、攻撃者がアカウントのクレデンシャルを取得した場合でも、OTPコードがないとアカウントにログインできなくなります。 また、電話が見つからない場合は、ディザスタリカバリの手法が役立ちます。

WordPress管理者は他にどのようなセキュリティ手順を実行する必要がありますか? 以下のコメントであなたの考えを共有してください!