WordPressはどうも――否、普通に考えると――、結構セキュリティ的にはガバじゃないかと思います。
- 有名なプログラムである。
- 使われる人が多ければそれだけ攻撃されやすいのはWindowsが証明済みです。
- プラグインやテーマにバグがあればやはり突かれるのでは?
- プラグインやテーマを主体に機能拡張を行う構造上、これは結構痛いでしょう。
- にも拘らず、放っておくとVersion Upを怠る人が多いのでは?
- これもWindowsが証明済みでしょうw
- ログイン画面のページがデフォルトでは誰にでも特定できるため、総当たり攻撃をかけやすい。
- これは前回、二段階認証を有効にしたので耐性はできていることでしょう。
- コメント欄を置いておけばそこが荒らされうる。
- 問い合わせフォームを置けば、そこから悪戯される。
前者3つは仕方ない――というか、自力でバージョン・プラグイン・テーマの管理をしっかり行うべきという話にある程度は帰結しますが、後者3つについては、プラグインで解決できないこともないため、インストールしてみることにしました。
Google reCAPTCHA
Google reCAPTCHAって見たことありますか?
名前は知らない人も多いかもしれませんが、これです。
- 「私はロボットではありません」。
- 「この中で○○が写ってる写真を選択して~」。
- 奇妙に歪んだ文字列を読ませる。
- 実はバックグラウンドでユーザの挙動鵜を見ている(これはreCAPTCHA v2 Invisibleからの機能らしいです)。
等々、実物を見ればむしろ、「名前は知らないが見たことはある」という人が多いのではないでしょうか。
今回はサイトに、これを実装してみたいと思います。
Advanced noCaptcha & invisible Captcha (v2 & v3) プラグインのインストールと設定
今回使うプラグインは以下の通り。
Advanced noCaptcha & invisible Captcha (v2 & v3) – WordPress plugin | WordPress.org
インストールすると、このような設定画面が使えるようになるのですが、まずは画面上方の "Get reCaptcha keys from Google. Make sure to get keys for your selected captcha type. How to get google reCAPTCHA keys?" の文字に従って、"reCaptcha keys" なるものを取得しましょう。
取得先は、このプラグインのこの文字列が知ってるので問題はないかと思いますが、一応下記に示します。
自分のGoogleアカウントでログインしてください。あとは指示の通り動けば、だいたい何とかなります。
大まかな流れは下記のとおり。
- 自サイトを登録する。
上記前者の管理画面右上部の"+"(追加)を押すと上記後者の管理画面が開くため、ここで以下の項目を設定します。- ラベル:サイトの名前やドメイン等、自分でわかりやすければ何でもいいです。
- reCAPTCHA タイプ:好きなものを選びましょう。
- v2は「チェックボックスを付ける」「バックグランドで検証」「Androidアプリで認証」。
- v3は「スコアでの検証」。どういうことかというと、ブラウザの使用履歴などを基に判断するそうです。
- ドメイン:reCAPTCHA を使用するサイトのドメインです。
- オーナー:自分だけは既定で設定されています。
私はサイトの持ち主のメールアドレスを追加しましたが、それでいいんでしょうか‥? - アラートをオーナーに送信する:ONにしときましょう。
- 次のようなサイトキーとシークレットキーが発行されるので、このまま画面を閉じないでおくか、メモする。
- この設定画面で、サイトキーとシークレットキー双方を貼りつけ、どこのフォームで reCAPTCHA を有効にするかを設定する。
- ここで、何らかの理由で reCAPTCHA を使いたくない・使えない場面を除き(後日後述)、「無償版で利用できる全て」で有効にする形でいいかと思います。
いちばん難度が高いのですら「チェックを付ける」なので* 1端末非所持者も多いであろう「Androidアプリで認証」は除く。画像の文字を読ませるような認証はもうない。、そこまでユーザに負担を強いる構成ではないでしょうから。 - ログイン画面で reCAPTCHA が有効になりました。(私は「v2 チェックボックス」を利用している。)
他のシチュエーションでも、同様に有効になっているはずです。
ところがこれで、
めでたしめでたし
と行くはずもなく、後日トラブルに見舞われる展開と相成りました――当たり前といえば当たり前のトラブルだったのですが。
これについては明日解説します。
注釈