WordPressで最新セキュリティ対策「Invisible reCaptcha」を導入・設定する方法

2017年4月、Googleは第3世代となるスパム防止認証システム「Invisible reCaptcha」を正式リリースしました。

WordPressはすぐにこの第3世代に対応。「Invisible reCaptcha for WordPress」というプラグインが登場し、非常に簡単にサイトのセキュリティ向上が行えるようになりました。

WordPressのスパム対策は「Akismet」が有名ですが、このプラグインは非常に重いので使用したくないけど、仕方なく…という方も多いのではないでしょうか?

私は「IP Geo Block」でスパム対策を、「SiteGuard」で不正ログイン対策を行っておりましたが、今回紹介する「Invisible reCaptcha」に乗り換えました。

リリースから半年経って、大きな不具合やスパムを遮断できなかったなどの話も聞かなかったので、信頼して良い頃かと思います。

Invisible ReCAPTCHAの特徴

Googleの「Invisible reCaptcha」の特徴について、わかりやすい説明があります。

参考

グーグル、人間とボットを自動判別する「Invisible ReCAPTCHA」を予告japan.cnet

Googleは新システム「Invisible ReCAPTCHA」によって、スパム防止技術「CAPTCHA」を認識されないユーザー体験にしようとしている。Invisible ReCAPTCHAは、ウェブサイトへアクセスしているのが人間かボットかをアルゴリズムを使って判断するが、その際に人間による操作をまったく必要としない。

これはGoogleにとって、CAPTCHAの合理化を目指す初の試みというわけではない。同社は2015年、「No CAPTCHA ReCAPTCHA」をリリースした。このシステムでは、ユーザーは「I’m not a robot(私はロボットではありません)」という文章の隣にあるボックスにチェックを入れるだけでよかった。ユーザーに対し、パズルを解くか、(往々にして判読できない文字で書かれた)単語をタイプするよう求めるCAPTCHAシステムとは大きな違いだ。

第二世代reCaptchaの画像(私はロボットではありません)

この画像が第2世代の「チェック式」ですが、なんとこの「チェックする」という動作さえも省いており、最も人間に負担のないセキュリティと言えます。

【使い方】WordPressにInvisible ReCAPTCHAを設置する

まず、必ず必要なのは「Googleアカウント」です。Google ReCAPTCHAのウェブサイト登録はGoogleアカウントと紐付けられますので、複数サイトを一つのアカウントで一括管理できます。

次に、WordPressの管理画面からプラグイン→新規追加で「Invisible ReCAPTCHA」を検索します。

WordPressプラグイン検索画面

インストールし、有効化するとWordPressの「設定」タブに「Invisible reCaptcha」が現れます。

WordPressの設定はこの画面のまま、一旦ストップします。

GoogleでreCaptchaのサイト登録を行う

Google reCAPTCHA

Google reCaptcha公式サイト

上記のサイトから、右上または右下の「Get reCAPTCHA」を選択。

Googleアカウントにログインしていない場合は、ログイン画面が表示されますので、ログインします。

reCaptchaラベル設定画面

Googleアカウントにログインすると、サイト登録画面が表示されます。

reCaptchaラベル設定画面2(詳細)

ラベルはサイト名を記入しておくと管理が楽です。

reCAPTCHAの種類について、「reCAPTCHA V2」が第2世代、「invisible reCAPTCHA」が今回設定する第3世代、「reCAPTCHA Android」はその名の通りAndroid用の認証となります。

「invisible reCAPTCHA」を選択し、ドメインを記入します。ドメインは行を分ければ複数登録できますが、ラベル名を分けることができないので、一ラベルに一ドメインの方が管理がしやすいかと思います。(万が一、セキュリティが破られた場合のことを考えても)

使用許諾のチェックを入れたら「Register」を押してサイト登録は完了です。下記のようなキーコード表示画面に移ったはずです。

reCaptcha SiteKey、SecretKey表示画面

WordPressの設定に必要となるのは「Site Key」「Secret key」だけになります。

コピペで控えて、WordPressの設定画面に移りましょう。

複数サイトを登録する場合や、SiteKeyやSecretKeyの再確認は、reCAPTCHAの管理画面(https://www.google.com/recaptcha/admin)からいつでも可能です。

WordPressでInvisible reCaptchaの設定をする

サイト登録が終わり、SiteKeyとSecretKeyを入手したらWordPressの設定タブから「Invisible reCaptcha」を選び、設定を進めましょう。

WordPressプラグイン設定画面

Languageは認証されていることを示す画像の言語となります。

第三世代reCaptcha

Badge Positionはこの認証画像が表示される位置です。

「Bottom Right」「Bottom Left」はその名の通りブラウザの右下、左下に表示されます。「inline」は保護するフォームのすぐ近くに表示されます。

サイトを訪れるユーザーへ安心感を与えるためにも「inline」を選択するのが無難でしょうが、サイトへの評価に影響はしないでしょうから、デザインに不都合があればBottomになっても良いかと思います。せっかくのinvisibleですからね。

設定が完了したら、一度「変更を保存」を押すのを忘れずに。

WordPress設定画面(チェックボックス)

次に、WordPressで保護する場所の指定をします。

上からログインフォーム、登録フォーム、コメントフォーム、パスワードを忘れた場合のフォームの保護設定となります。

「パスワードを忘れた場合の」というのがピンとこないかもしれませんが、ログイン画面にある「パスワードをお忘れですか?」を押すと出てくるフォームです。

項目は全チェックで問題ないでしょう。

これでWordPressでの設定も完了です。めっちゃ簡単ですね。

問い合わせフォーム(Contact Form 7)も保護する

WordPressのInvisible reCaptchaプラグインでは最大手問い合わせフォームプラグイン「Contact Form 7」の保護設定も可能です。

CustomForm7 設定画面

項目「Contact Forms」から「Enable Protection for Contact Form 7」にチェックを入れるだけです。

Contact Form 7は元から認証機能に対応しているので、すでに設定している方は設定を解除してから行ってください。

CustomForm7 設定画面(reCaptcha)

設定の有無はWordPress管理画面→お問い合わせ→インテグレーションから確認できます。

Invisible reCaptchaのサイト登録を解除する方法

他のセキュリティプラグインに乗り換えるなどで登録を解除する場合は、WordPressのプラグインを停止するだけでokですが、念のためreCAPTCHAの管理画面から登録を解除しておきましょう。

Google reCAPTCHA 管理画面
https://www.google.com/recaptcha/admin

reCaptcha介助画面

登録を解除したいサイトのラベル名を選択したら、下部の「Key Setting」右側にある「Delete Key」を押し、確認の「OK」ボタンを押せば登録解除作業完了です。

簡単すぎる次世代の最強セキュリティ対策

Googleの第3世代認証システム「Invisible reCaptcha」をWordPressに導入する方法は以上となります。

これだけ簡単だとWordPressサイト運営者にとってもスタンダードになりそうですね。