reCAPTCHA連携
reCAPTCHA は Google が提供するボット判別サービスです。SentinelSecurity では reCAPTCHA v2 と v3 に対応し、ログインフォームでの自動化された攻撃を防止します。
なぜ reCAPTCHA が必要なのか
ブルートフォース保護は「失敗回数」を基準にブロックしますが、攻撃者は複数のIPアドレスを使い分けることで制限を回避しようとします。reCAPTCHA は、アクセス元がボットか人間かを直接判別するため、IPに依存しない防御レイヤーを提供します。
v2 と v3 の違い
| 項目 | reCAPTCHA v2 | reCAPTCHA v3 |
|---|---|---|
| ユーザー操作 | チェックボックスのクリックが必要 | 操作不要(透過型) |
| 判定方式 | チャレンジ表示 | 行動スコア(0.0〜1.0) |
| UX | 操作の手間がある | ユーザーは気付かない |
| 推奨用途 | フォーム送信の確認 | ログインページの保護 |
| おすすめ度 | ○ | ◎(推奨) |
API キーの取得方法
- Google reCAPTCHA 管理コンソール にアクセスします
- Google アカウントでログインします
- +(新しいサイトを登録)をクリックします
- 以下を入力します
- ラベル: サイト名(任意)
- reCAPTCHA タイプ: v3 を選択(推奨)
- ドメイン: サイトのドメイン名(例:
example.com)
- 表示される サイトキー と シークレットキー をコピーします
設定方法
- SentinelSecurity → ログインセキュリティ → reCAPTCHA セクション
- トグルスイッチを 有効 にします
- バージョン で v2 または v3 を選択します
- サイトキー と シークレットキー を入力します
- v3 の場合、スコア閾値 を設定します(デフォルト: 0.5)
- 保存 をクリックします
スコア閾値について(v3)
v3 は 0.0(ボットの可能性が高い)〜 1.0(人間の可能性が高い)のスコアを返します。
| 閾値 | 判定の厳しさ | 説明 |
|---|---|---|
| 0.3 | 緩い | ボットの確率が高いときのみブロック |
| 0.5 | 標準(推奨) | バランスの取れた判定 |
| 0.7 | 厳しい | 疑わしいアクセスも広くブロック |
| 0.9 | 非常に厳しい | 正規ユーザーもブロックされる可能性 |
対応フォーム
reCAPTCHA は以下のログインフォームで動作します。
- WordPress 標準ログインフォーム
- BuddyPress ログインフォーム
- bbPress ログインフォーム
- WP-Members ログインフォーム
CSP(Content Security Policy)との併用
reCAPTCHA を使用する場合、CSP ヘッダーに以下のドメインを許可する必要があります。SentinelSecurity では 自動的に CSP に追加 されます。
script-src:https://www.google.com/recaptcha/,https://www.gstatic.com/recaptcha/frame-src:https://www.google.com/recaptcha/connect-src:https://www.google.com/recaptcha/
トラブルシューティング
reCAPTCHA が表示されない
- サイトキーとシークレットキーが正しいか確認してください
- ドメインが reCAPTCHA の管理コンソールに正しく登録されているか確認してください
- キャッシュプラグインが JavaScript をキャッシュしている場合は、キャッシュをクリアしてください
正規ユーザーがブロックされる
- v3 の場合、スコア閾値を 0.3 に下げてみてください
- ブラウザの拡張機能(広告ブロッカーなど)が reCAPTCHA を妨害している可能性があります