スパムが来た!

WordPressで小説サイト

ある日、こんなメールが来ました。メイルフォームからの送信です。

差出人: hfjiysjhrs uyfknpjn@forms-checker.online
題名: [your-subject]
メッセージ本文: mzmxkigwizuevrvpywdnwnhqjgmipk

…なんか来ちゃったよ怪しいヤツ…。

現在はSNSが普及して、メールでの直接やりとりというのは減ったのではないでしょうか。XやインスタのDM機能に取って代わられた印象があります。Cocoonにだって標準でSNSアイコンを表示させる機能があるくらいですからね。

しかし千柳亭春宵といたしましては…
サイトを作る以上、責任者ワタクシでございますという意味合いで、メールアドレスを書く、ないしメールフォームを設置するのはサイト管理者の義務だろうと考えています。
最初期には自作などということもしていたのですが、WordPress時代になると流石に手に負えなくなり…プラグインに頼ることにしました。

大変評判が良いですし、来たメールを保存する専用プラグイン(Flamingo)もあったりして、管理上便利との呼び声も高い。

ただ、実直にウチごとき弱小サイトにそんなにたくさんのメールが来るわけではありません。言ってみれば勉強だと思って設置していました。これはこれで楽しかったので。

そんなところへこの謎メール。まあ、誰が見たってスパムだとわかるのですが、一応コパイ先生に訊いてみました。


コパイ先生の分析

以下の内容を見る限り、**完全にスパム(ボットによる自動送信)**なので、安心して大丈夫です。

このメールがスパムである理由

  • 差出人アドレスが不自然forms-checker.online はスパムでよく使われるドメイン)
  • 件名がテンプレートのまま[your-subject]
  • 本文がランダム文字列(典型的なボットテスト)
  • あなたのサイトのフォームを通して送られた通知
    → つまり「フォームにスパム投稿が来た」というだけで、サイトが乗っ取られたわけではありません。

取るべき対処(安全で確実な方法)

1. メールは無視して削除でOK

返信したりリンクを開いたりする必要はありません。

2. WordPressのフォームにスパム対策を追加
reCAPTCHA v3 または v2 の導入
  • Contact Form 7 / MW WP Form / Lightning のフォームなど、ほぼ全て対応しています。
  • ボット送信の9割はこれで止まります。

フォームに honeypot(隠しフィールド)を追加

  • 人間には見えないフィールド 1を置き、入力されたらスパムと判定する仕組み。
  • 軽量で効果が高いです。
例:(コパイ先生提供)
HTML
<input type="text" name="website" class="honeypot">

CSS
.honeypot {
display: none;
}

送信回数制限(Rate Limit)を導入

  • 例えば「同一IPから1分に1回まで」など。
  • プラグインやサーバー側のWAF設定で可能。

サーバー側のWAF(SakuraのWAF)をONにする

  • Sakuraサーバーならコントロールパネルで簡単に有効化できます。 2

✔ サイトが危険にさらされている可能性は?

今回の内容から判断すると 危険性はゼロに近い です。

  • フォームに文字列を送っただけ
  • サーバーに侵入した形跡なし
  • WordPressの脆弱性を突いた攻撃ではない

単なる「スパムボットの自動投稿テスト」です。


実直に、サーバーに侵入した形跡があるかないかがあのメールだけでわかるのか、という話もあるのですが、とりあえず放置で良いということはわかりました。

問題は今後の対策です。

いろいろ考えた挙げ句、ここはお手軽にGoogleフォームでいこうと考えました。

Googleフォーム!
味も素っ気もないといえば聞こえはよろしくありませんが、ヘッダー画像ぐらいは差し込めます。なにより動作が安定していて、管理が簡単(送信されてきた内容をスプレッドシートで一覧にできる)なのは魅力。メールフォームに関して欲しい機能はほぼ網羅されていると考えて、差し替えることにしました。

ところが、ヘッダーの上にこんな表示が出てしまいます。
こんなの、普通に画面に見えたら大変です。メールからのお便りが見放題。

このように表示されるのは、管理者でログインしているからですか?そうでない人からはどのように見えますか?

Google系サービスのことはコパイ先生よりGemini君に聞くのがスジというものでしょう。Gemini君に聞いてみたら、懇切丁寧にこんな返事を頂きました。

はい、画像のように「質問」「回答」「設定」といったタブが表示されているのは、あなたがそのフォームの「編集権限(管理者権限)」を持っているからです。
これはGoogle フォームの編集画面(管理画面)であり、作成者や共同編集者としてログインしている場合にのみ表示されます。 

管理者以外(回答者)からの見え方

権限を持たない一般の回答者には、以下のような回答専用の画面が表示されます。

  • タブが表示されない: 「質問」「回答」「設定」といったメニューは一切表示されません。
  • 回答フォームのみ表示: アンケートのタイトル、説明、そして各設問項目だけが見える状態になります。
  • 右下の鉛筆アイコン(※条件あり): 回答者がそのフォームの編集権限を持つアカウントでログインしている場合のみ、右下に「このフォームを編集」という鉛筆のアイコンが表示されます。権限がなければ何も表示されません。 

回答者が自分の回答結果を見れる場合

管理者が設定で「結果の概要を表示する」をオンにしている場合に限り、回答を送信した後に「前の回答を表示」というリンクが現れ、全回答者の統計グラフなどを閲覧できるようになります。 

実際の見え方を確認したい場合は、画面右上にある「目」の形をしたプレビューアイコンをクリックしてみてください。それが回答者に表示される実際の画面です。

成程、プレビューアイコン発見(画像右肩)

プレビューアイコンを叩いてみると、以下のような画面になりました。

確かに件のタブは表示されないようで一安心。
新設のぎゃらりいの項目も簡単に追加できました。

易きに流れたというご批判はありましょうが…
当面はこれで運用してみようと思います。

ご意見ご感想をお待ちしております。

  1. CSS で非表示にされているため、通常は入力できないが、スパムボットは関係なく自動入力してしまうそうな。これでスパムと判断出来るとのこと。
  2. WAF【Web Application Firewall】Web アプリケーションを攻撃から守るための “専用の防御システム” のこと。通常のファイアウォールが「ネットワーク全体」を守るのに対して、WAF は Web サイト(アプリケーション)に特化して守る、んだそうな。一度トライしてみたのですが、WordPressにエラーが出たのでとっとと外しました。

コメント