Contact Form 7を非表示にしてもスパム送信された話

WordPressサイトで、使っていないお問い合わせフォームがスパム送信に悪用されるというトラブルが発生しました。
使用していたのは Contact Form 7 です。
以前、迷惑メールが増えてきたため、お問い合わせフォーム自体はサイト上に表示しないようにしていました。
そのため、「もう使われないだろう」と思っていたのですが、ある日、さくらインターネットから「自動返信メール機能が悪用され、大量のスパムメールが送信されている」という連絡が届きました。
調べてみると、フォームを非表示にしていても、プラグイン自体が有効なままだと送信機能は残っており、外部から送信機能へアクセスできる状態だったようです。
今回は、実際に行った対応内容と、今回の件で感じた「使っていない機能を放置する危険性」についてまとめます。
実際に起きたこと
ある日、さくらインターネットから下記のような内容の連絡が届きました。
- 自動返信メール機能が悪用されている
- スパムメールが大量送信されている
- サーバー側で検知した
最初は「フォームは非表示にしているので関係ないのでは?」と思いました。
しかし実際には、Contact Form 7 の送信機能自体は動作しており、外部から送信処理が実行されていたようでした。
当時の状況
当時のサイト状況は下記のような状態でした。
- Contact Form 7 を使用
- 以前は通常のお問い合わせフォームとして運用
- 迷惑メールが増えてきた
- フォーム自体はサイト上から非表示にした
- ただし Contact Form 7 プラグインは残っていた
私は「フォームを表示していなければ使われないだろう」と考えていました。
しかし実際にはそうではありませんでした。
なぜフォームを非表示にしていても攻撃されたのか
今回調べて初めて知ったのですが、Contact Form 7 はフォームを画面上に表示していなくても、プラグインが有効なままだと送信機能自体は残っています。
つまり、
- ユーザーにフォームが見えていない
- リンクを消している
- 固定ページを非公開にしている
このような状態でも、送信機能へ直接アクセスされることで、フォームを表示していなくても送信処理が実行される場合があります。
迷惑メールを送るための自動プログラムは、実際の画面を見て操作しているわけではなく、送信機能へ直接アクセスしてくるため、「非表示=安全」ではありませんでした。
今回の件で、「停止したつもり」と「実際に無効化されている」は別問題なのだと実感しました。
今回行った対応
今回、下記の対応を行いました。
- WordPress本体の更新
- 使用プラグインの更新
- Contact Form 7 の削除
- お問い合わせフォーム自体の削除
- wp-config.php の確認
- functions.php の確認
- Wordfence Security でWordPress全体スキャン
特に Wordfence Security のスキャンでは、不審なファイルや改ざんなどは見つからなかったため、今回は「フォーム送信機能の悪用」で収まっている可能性が高そうでした。
今回感じたこと
今回一番印象に残ったのは、「使っていない機能でも、残っているだけで攻撃対象になる」ということです。
WordPressでは、
- 停止中のプラグイン
- 非表示にした機能
- 使っていないフォーム
- 古いテーマ
などが残ったままになっていることがあります。
しかし、管理画面上で見えなくなっていても、内部的には動作している場合があります。
特に今回のようなフォーム系プラグインは、メール送信機能を持っているため、悪用されるとサーバー全体に影響する可能性があります。
「今使っていないものを削除する」という運用は、思っていた以上に重要だと感じました。
今後の対策
今後は下記を意識しようと思っています。
- 使っていないプラグインは削除する
- 定期的にWordPressを更新する
- 自動返信メールを必要最小限にする
- 定期的にセキュリティチェックを行う
- フォームを非表示にするだけで安心しない
WordPressは非常に便利ですが、その分「運用」が重要だと改めて感じました。
まとめ
今回の件では、フォームを非表示にしていたにもかかわらず、Contact Form 7 の送信機能が悪用されてしまいました。
幸い、現時点ではサイト改ざんなどの被害は確認されていませんでしたが、「使っていない機能を放置しないこと」の重要性を強く感じました。
ホームページは作って終わりではなく、不要な機能を整理しながら運用していくことも大切だと思います。