ドキュメント / Sentinel Security / 機能

メール認証(OTP)

メール認証(OTP)

メール認証は、ユーザーがパスワードでログインした後、登録メールアドレスに送信されるワンタイムパスワード(OTP)の入力を求める二要素認証機能です。

なぜ二要素認証が重要なのか

パスワードだけの認証(一要素認証)には以下のリスクがあります。

  • パスワードの使い回しによる流出
  • フィッシングサイトでの詐取
  • 内部関係者によるパスワードの漏洩
二要素認証を導入することで、パスワードが漏洩してもメールアカウントへのアクセスがなければログインできなくなります。SentinelSecurity のメール認証は、専用アプリのインストールが不要なため、ITに詳しくないユーザーでも手軽に利用できます。

動作の流れ

  1. ユーザーが通常通りユーザー名とパスワードでログインします
  2. パスワードが正しい場合、6桁のワンタイムコードがメールで送信されます
  3. OTP入力画面が表示されます(カウントダウンタイマー付き)
  4. ユーザーがメールで受け取ったコードを入力します
  5. コードが正しければログインが完了します

設定項目

項目説明デフォルト
有効期限OTPの有効時間10分
対象ロールOTPを要求するユーザーロール管理者(administrator)
除外ユーザーOTPを免除する特定ユーザーなし
最大試行回数OTP入力の最大試行数3回
再送信クールダウンOTP再送信の待機時間60秒

設定方法

  1. SentinelSecurity → ログインセキュリティ → メール認証(OTP) セクション
  2. トグルスイッチを 有効 にします
  3. 対象ロールを選択します
  4. 有効期限と試行回数を設定します
  5. 保存 をクリックします

対象ロールの選択

サイトの運用形態に応じて、OTPを要求するロールを選択してください。

推奨設定

サイトタイプ推奨対象ロール
個人ブログ管理者のみ
企業サイト管理者 + 編集者
EC・会員制サイト管理者のみ(一般会員を対象外に)
一般会員やサブスクライバーは、ログインのたびにOTPが必要になるとUXが大きく低下するため、通常は対象外にします。

メールテンプレートのカスタマイズ

OTP通知メールの件名と本文をカスタマイズできます。

利用できるテンプレート変数

変数内容
[code]ワンタイムパスワード(6桁)
[expires_at]有効期限の日時
[username]ログインユーザー名
[site_name]サイト名
[site_url]サイトURL
[ip_address]ログイン元のIPアドレス
[timestamp]ログイン試行の日時

カスタマイズ方法

  1. SentinelSecurity → Email Settings を開きます
  2. メール形式を HTML に設定します
  3. TinyMCE エディタで件名と本文を編集します
  4. テンプレート変数は左側のボタンからワンクリックで挿入できます

セキュリティ上の考慮事項

  • OTPコードは使い捨てです。一度使用すると無効になります
  • 有効期限を過ぎたコードは使用できません
  • IPアドレスの不一致がある場合のログイン試行は記録されます
  • OTPの試行回数超過で、セッションが無効化されます

トラブルシューティング

OTPメールが届かない

  • WordPress のメール送信が正しく動作しているか確認してください
  • wp_mail() が使用するSMTP設定を確認してください
  • スパムフォルダに振り分けられていないか確認してください
  • WP Mail SMTP などのプラグインを使用して、メール送信の信頼性を向上させることを推奨します

コードを入力しても「無効なコード」と表示される

  • 有効期限内に入力しているか確認してください
  • コードの前後にスペースが入っていないか確認してください
  • 再送信ボタンで新しいコードを取得してお試しください