お問い合わせフォームスパムからの回避 using Google invisible reCAPTCHA to block contact form spam

はじめに

 このWebサイトを掲載しているさくらサーバーから,次のように,勧告に近いメッセージがきた。次のサイトに掲載されている。

https://www.sakura.ne.jp/column/rs/website-form-security/?utm_source=newsletter&utm_medium=email&utm_campaign=20201209

 ここでは,次のように言っている。

引用始め———————
Webサイト運営者が今すぐできること:
さくらのレンタルサーバでもこの手口を使ったメール大量送信被害が増えています。一番の特徴は、脆弱性などを利用したものではなく「お問い合わせ」フォームの「自動返信機能」を悪用しているのがポイントです。つまり「自動返信機能をOFFにする」ことが究極の対策です。現在、この「お問い合わせ」フォームスパムが行われている約9割(当社調べ)のサイトでWordPressのプラグインであるContact Form 7が使用されている。
引用終わり————————————————

 この情報を受け取ってはじめて,ぼくも該当者であり,スパムメールに加担していることを知った。次のようなメールが,2週間隔ほどで,受信メールと迷惑メールのフォルダに同時に到着している。

WordPress(中味を見ると,wordpress@ぼくのサイト)
宛先:(ぼくのさくらサーバーのメールアドレス)
CC: (ぼくの勤務先のメールアドレス)

メールタイトル: Something from an emeritus physical geographer (これはぼくのWebサイト名)”Neuromarketing tips”

From: Marcelo (gmail)
Subject: Neuromarketing tips

Message Body:
Hi, you can use the same Neuromarketing and Pricing Strategy Tips that fortune 500 companies use on their strategy. Download a sample from: marcelolarrosaweb.com/neuromarketing

This e-mail was sent from a contact form on Something from an emeritus physical geographer (ぼくのこのWordPressのurl)

 以上のようなメールがぼくから不特定多数に送られてきた模様である。もう数ヶ月ほどになるだろうか。これを放置していると,セキュリティソフトが,ぼくからのメールをスパムメールとして排除する可能性があり,早急に対処する必要がある。

 WordPressの「お問い合わせ」機能は,そのプラグインであるContact Form 7に用意されている。この機能を使ってスパムメールが発信されてきたのであるが,これを防ぐアプリであるreCAPTCHAがGoogleから提供されている。まずはGoogleにこの使用登録をして,その上でプラグインのContact Form 7内に用意されているreCAPTCHA設定ツールを実行することになる。これを実行する上で,次のサイトが参考になる。

今、お問い合わせフォーム(メールフォーム)が危ない! 不正アクセスの増加と対処方法

Google提供のreCAPTCHA ver. 3使用のためのキー取得

 reCAPTCHAの設定には、Googleで発行されるreCAPTCHAのキー(サイトキーとシークレットキー)が必要になります。こちらより、Googleのアカウントにログインし、reCAPTCHAのキーを取得してください。

 で,「こちら」https://www.google.com/recaptcha/about/ に入ると説明があり,下段に,三種類のアプリ reCAPTCHA Enterprise,reCAPTCHA v3,reCAPTCHA v2,の比較表がある。この表の最下部付近に,Documentation のリンクがあるので,それをクリックする。次のページに飛ぶ。https://developers.google.com/recaptcha/docs/v3

 その目次の次に,reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take an appropriate action for your site. Register reCAPTCHA v3 keys here.とある。このhereをクリックすると,次のページに入る。(もちろん,このリンクに入ることはできないが)

 https://www.google.com/recaptcha/admin/create

 ここには,Labelとしては,WordPressの使用者のsub domainを入れる。ぼくの場合だと,motochan.info,である。

 reCAPTCHA typeとして,reCAPTCHA v3,のラジオボタンを選択。
Domainsとして,当方の場合は,urlは,https://motochan.info/wp/なので,
subdomainの表現としては,motochan.info,なので,+記号の右手の入力場にこれを入力する。

 Owners情報として,Google Chromeでのアカウントが自動的に認識されている。Enter email addressesがあるが,Googleのメールアドレスに限定されるので,余り使わないのであれば,入力の必要がない。

 そして,Accept the reCAPTCHA Terms of Service,と,Send alerts to owners, にチェックを入れること。

 そして,submitボタンを押す。入力値に問題がなければ,Adding reCAPTCHA to your site,のページが現れて,ここに,キーが現れる。これは次のWordPressの「お問い合わせ」Contact,で使用する。このページでは,さらに,Go to settingsd と Go to analytics,のリンクが表示されるが,我々は実行の必要性はない。

‘motochan.info’ has been registered.
Use this site key in the HTML code your site serves to users.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Use this secret key for communication between your site and reCAPTCHA.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

WordPressの管理画面での設定

 前述のページに操作法が示されている。今、お問い合わせフォーム(メールフォーム)が危ない! 不正アクセスの増加と対処方法

 WordPressの管理画面にログイン後、[お問い合わせ]Contact > [インテグレーション] Integration の画面へと遷移します。

 で開いたページ Integration with Other Services,の下段に,
reCAPTCHA欄がある。そして,Setup Integration,を選択。

先ほど取得した,site keyとsecret keyの入力欄が出るので,コピペする。

 変更を保存すると,☑️ reCAPTCHA is active on this site

 本サイトをブラウザーで,「お問い合わせ」Contact を表示したのが次の画像である。右下に小さくreCAPTCHAのロゴが見えたら,成功である。

お問い合わせを開いたところ

おわりに

 もうWordPressなるものからメールが来ないことを祈る許りである。

 以上,Dec. 16, 2020 (日が回った)