HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

こんな経験はありませんか?

サイトを成長させたい。もっと顧客を増やして、売上を伸ばしたい。そのためにコンテンツの改善やデザインのブラッシュアップに取り組み、CTA(行動喚起ボタン)を増やして、ユーザーが登録・購読できるようにした。

ところが突然、inbox.imailfree.cc や mail.imailfree.cc といったメールアドレスを使ったスパム登録がサイトに殺到し始めたのです。

ビジネスを成長させるどころか、毎日大量のスパムを削除する作業に追われる日々。毎朝スパムユーザーの削除から始まるのは、本当にストレスですよね。

私たちはこれまで10年以上にわたり、毎日のようにWordPressへのスパム登録に悩まされていた多くのお客様を支援してきました。状況がどれほど深刻であっても、この記事を読めば、時間を取り戻し、再びビジネスの成長と売上向上に集中できるようになります。

要点(TL;DR): WordPressの登録スパムを防ぐには、まずファイアウォールの導入ジオブロッキングの実施、そしてreCAPTCHAの有効化を行いましょう。それでも完全に防げない場合は、本記事で紹介するすべての対策を実施してください。

WordPressの登録スパムをブロックする方法

まず考えてみてください。
そもそも、公開登録を無効化するという選択肢もあります。

少数の人だけにサイトへのアクセスを許可したいのであれば、公開登録を有効にする必要はありません。ユーザーアカウントを手動で作成すればよく、その際は管理者権限を付与しないよう注意しましょう。

> ユーザー登録を無効化する

スパム登録を無効にするには、WordPressダッシュボードから 設定 > 一般 へ移動します。

一般設定ページを下にスクロールし、「メンバーシップ」セクションにある 「誰でもユーザー登録ができる」 のチェックを外します。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

WordPressにはデフォルトで https://example.com/wp-login.php?action=register という登録ページURLがあります。登録を無効化すると、このページを開いた際に次のメッセージが表示されます。

「ユーザー登録は現在許可されていません。」

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

プロのヒント: すでに登録されている偽ユーザーの削除も忘れずに行いましょう。Hunter、VerifyEmailAddress、Email-Checkerなどのツールを使ってメールアドレスの有効性を確認できます。また、メールアドレスに inbox.imailfree.cc や mail.imailfree.cc といったドメインが含まれていないかもチェックしてください。偽のメールアドレスが見つかったら、該当ユーザーを削除します。

ただし、公開登録を無効にできない場合は、ユーザーがサイト上でできることを制限することを検討しましょう。

> 適切なユーザーロールを設定する

ハッカーがユーザーアカウントを取得できたとしても、ロールによる権限が制限されていれば、できることはごくわずかです。

WordPressには6つのユーザーロールがあり、それぞれ権限が異なります。「管理者」はサイトを完全にコントロールでき、「編集者」は投稿の公開など一定の操作が可能です。「投稿者」や「寄稿者」は投稿の作成・編集のみ、「購読者」はプロフィール管理と閲覧しかできません。

登録ユーザーが管理者(マルチサイトの場合は特権管理者)や編集者にならない限り、有害なコンテンツの公開や悪意のある操作を行うことはできません。ユーザーロールの詳細については「WordPress ユーザーロールと権限」をご参照ください。

デフォルトの新規ユーザーロールを設定するには、WordPressダッシュボードから 設定 > 一般 へ移動し、「新規ユーザーのデフォルトロール」という項目を探します。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

ドロップダウンメニューから「寄稿者」「投稿者」「購読者」のいずれかを選択してください。

ただし、ユーザーロールの制限だけではスパム登録そのものは防げません。登録スパムを根本的に止めるには、以下の対策が必要です。

  • ファイアウォールの導入
  • ジオブロッキングの実施
  • reCAPTCHA保護の実装
  • メール認証の強制
  • WordPress登録URLの変更
  • 多要素認証による登録
  • ハニーポット保護の有効化
  • 手動承認の有効化

「すべて実施する必要があるのか?」と思われるかもしれません。確かに、すべての対策を導入すると正規ユーザーの登録ハードルが上がってしまうため、すべての併用は推奨されません。サイトが攻撃を受けている深刻度に応じて、必要な対策を選択して実施することが重要です。

例えば、登録ページにCAPTCHAを設置しても、1週間で数百件のスパム登録が来るような状況では不十分です。他のセキュリティ対策も併せて導入する必要があるでしょう。

1. ファイアウォールを導入する

ファイアウォールは、スパムに対する最初の防衛線です。

有効化すると、サイトに届くすべてのトラフィックがまずファイアウォールを通過します。ファイアウォールはトラフィックを悪意あるIPアドレスのデータベースと照合し、危険なIPを検知すると即座にブロックします。これにより、登録スパム攻撃がサイトに到達する前に防ぐことができます。

メリット:

  • 自動化されており、手動操作が不要
  • 24時間365日の保護を提供
  • トラフィック詳細を確認でき、さらなるセキュリティ強化に役立つ

デメリット:

  • 一部の悪意あるトラフィックを見逃す可能性がある
  • 正当なトラフィックを誤ってブロックする可能性がある

導入方法:

MalCareのようなファイアウォールを利用できます。サインアップしてプラグインをインストールするだけで、ファイアウォールが自動的に有効になります。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

MalCareは24時間保護だけでなく、ブロックされたトラフィックの詳細情報(発信国、ハッカーがアクセスしようとしたURL、IPアドレスなど)も確認できます。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

こうした情報はサイトのセキュリティをさらに強化するのに役立ちます。例えば、特定の国からの不正リクエストが多すぎる場合、その国全体をブロックすることも可能です。

2. ジオブロッキングを実施する

ジオブロッキングとは、特定の国からのサイトアクセスを丸ごとブロックすることです。

これにより、ブロックした国からの悪意あるトラフィックと正当なトラフィックの両方が遮断されます。そのため、対象国からのトラフィックがビジネスにとって重要でないことを必ず確認してください。

メリット:

  • 悪意ある登録スパムを大幅に減らせる

デメリット:

  • 正当なトラフィックまでブロックしてしまう
  • ハッカーはVPNを使えば依然としてアクセス可能

導入方法:

ジオブロッキング対応のプラグインもありますが、MalCareのファイアウォールを使用している場合は、トラフィックログを確認して、ブロックされたトラフィックの多くがどこから発生しているかを特定できます。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

その後、MalCareのジオブロッキング機能を使ってその国をブロックできます。詳しくは「ジオブロッキングの実装方法」ガイドをご覧ください。

3. reCAPTCHA保護を実装する

ハッカーはスパム登録のためにボットを作成しています。reCAPTCHAは、人間とボットを判別するためのテストです。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

当初はテキストベースのテストでしたが、ボットが進化して解読できるようになったため、現在ではチェックボックスをクリックしたり、画像を選択する形式が一般的になっています。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

ボットは画像を認識できないため、reCAPTCHAを突破できません。登録フォームにreCAPTCHA保護を追加すれば、サイトに登録しようとするボットを防げます。

メリット:

  • チャレンジに合格しない限り、データベースにユーザーレコードが作成されない

デメリット:

  • Googleのサービスに依存するため、サービス終了時には別の対策が必要になる

導入方法:

  1. 「Invisible reCaptcha for WordPress」をダウンロードしてインストールします。
  2. https://www.google.com/recaptcha/intro/invisible.html にアクセスし、Googleアカウントにログインします。
  3. 自分のサイトを登録します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  1. Googleからサイトキーとシークレットキーが発行されるので、コピーします。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  1. WordPressダッシュボードの 設定 > Invisible reCAPTCHA に移動し、キーを入力します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  1. 同じページ内の「WordPress」タブに移動し、「Enable Registration Form Protection(登録フォーム保護を有効化)」 を選択します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

これで完了です。

4. ハニーポット保護を有効化する

ハニーポットは、登録フォームを保護する巧妙な手法です。

ボットはフォームのすべての項目を埋めるように設計されています。この手法では、ユーザーには見えない非表示フィールドをフォームに設置します。人間とは異なり、ボットはページのソースコードを読んで項目を埋めるため、結果的に非表示フィールドまで入力してしまうのです。

ハニーポット保護を使えば、ボットを簡単に識別して即座にブロックできます。

メリット:

  • スパムボットを識別・ブロックする最も効果的な方法の一つ

デメリット:

  • 手動で登録するハッカーは防げない
  • フォーム自動入力機能を持つスクリーンリーダーソフトウェアをブロックしてしまう
  • 視覚障害のあるユーザーをブロックしてしまう可能性がある

導入方法:

Formidable FormsなどのカスタムフォームやElementorのようなウェブサイトビルダーには、ハニーポット機能が組み込まれているものがありますが、プレミアム版が必要です。無料で使える専用プラグインとしては、Clean Loginなどがあります。

Clean LoginをWordPressサイトにダウンロードしてインストールするだけで、ハニーポット保護がデフォルトで有効になります。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

5. メール認証を強制する

ここまでの対策を突破して登録に成功したユーザーは、おそらくボットではないでしょう。しかし、まだハッカーの可能性は残っています。

メール認証方式では、登録時に使用されたメールアドレス宛てにアクティベーションリンクを送信します。リンクを開くことでアカウントが有効化される仕組みです。

偽のメールアドレスであればアカウントを有効化できず、保留状態のまま残ります。保留中のアカウントは手動で削除できます。

メリット:

  • メールアドレスが実在するかどうかを検証できる

デメリット:

  • メールが迷惑メールフォルダに入り、気づかれないことがある
  • 未承認でもユーザー登録がデータベースに保存される

導入方法:

メール認証を強制できるプラグインは多数あります。Gravity FormsやFormidable Formsなどのフォームプラグインでも対応していますが、通常はプレミアム版でのみ登録機能がサポートされます。

すでにカスタムフォームプラグインを使っているなら、メール認証機能が備わっている可能性があります。そうでなければ、User Verificationのようなメール認証専用プラグインを利用しましょう。

  1. User Verificationプラグインをダウンロードして有効化します。
  2. WordPressダッシュボードで ユーザー > User Verification に移動します。
  3. User Verification設定ページの「Enable email verification(メール認証を有効化)」オプションで「Yes」を選択します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

User Verificationプラグインでは、reCAPTCHAの強制も可能です。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

6. WordPressの登録URLを変更する

もう一つの有効な対策は、登録ページのURLを変更することです。

WordPressのデフォルト登録ページは https://example.com/wp-login.php?action=register にあります。ハッカーはボットにこのURLを探させるため、ページを独自URLへ移動させることは、ボットによる登録を防ぐ効果的な手段となります。

登録ページはログインページの一部なので、ログインURLを変更すれば登録ページも変更されます。

メリット:

  • ハッカーやボットが登録ページを見つけられなくなる

デメリット:

  • 正規の訪問者がURLを直接開いても登録ページが見つからず、登録を諦める可能性がある

導入方法:

  1. WPS Hide Loginプラグインをダウンロードして有効化します。
  2. WordPressダッシュボードで 設定 > WPS Hide Login に移動します。
  3. 「Login URL」欄に新しいURLを入力します。推測できない一意な文字列にしましょう。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

例えば新しいURLが https://example.com/nowornever だとすると、新しい登録ページは https://example.com/nowornever?action=register になります。

  1. 「Redirection URL」には404や503などのエラーページを指定します。デフォルトのログインURL(https://example.com/wp-login.php)でアクセスしようとした人は、このURL(https://example.com/404)へリダイレクトされます。

7. 多要素認証による登録を強制する

多要素認証を導入すると、第二の防御層が追加されます。例えば、フォームにCAPTCHAを設置している場合に加えて、SMSやアプリによる本人確認を求めることができます。

つまり、ユーザーはスマートフォンを使って登録する必要があります。これによりボットは足止めされ、仮にハッカーが手動で登録しようとしても、1つの電話番号で登録できるアカウントは1つだけのため、スパム登録のペースが大きく落ちます。

メリット:

  • 登録が完了するまでデータベースにユーザーレコードが作成されない

デメリット:

  • 登録手順が多くなる
  • 電話番号の共有を嫌がるユーザーもいる

導入方法:

  1. MiniOrange OTP Verificationプラグインをダウンロードして有効化します。
  2. WordPressダッシュボードで「OTP Verification」に移動します。
  3. MiniOrangeに登録します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  1. 「Forms」に移動し、「WordPress Default Registration Forms」を選択します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  1. WordPress Default / TML Registration Formの横にあるチェックボックスをオンにします。ドロップダウンが表示されたら、「Enable Phone Verifications(電話認証を有効化)」>「Do not allow users to use the same phone number for multiple accounts(同一電話番号での複数アカウント登録を禁止)」を選択します。

忘れずに「Save Settings」をクリックしてください。

WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

これで完了です。ユーザーは電話番号を使って登録することになります。

8. 手動承認を有効化する

WordPressサイトに登録するユーザーを手動で承認することもできます。デフォルト機能としては存在しませんが、プラグインを使えば管理者承認を有効にできます。

誰かがサイトに登録すると、「管理者の承認をお待ちください」というメッセージが表示されます。その後、管理者に新規登録の通知が届きます。

管理者はHunter、VerifyEmailAddress、Email-Checkerなどのツールでメールアドレスの真偽を確認し、新規ユーザーのアクセスを承認または拒否します。

メリット:

  • 他の対策を突破したユーザーも手動承認でブロックできる

デメリット:

  • 時間がかかり、手間のかかる作業である
  • 週に何十件もの登録があるサイトでは、手動承認は現実的ではない

導入方法:

  1. New User Approveプラグインをダウンロードして有効化します。プラグインはすぐに機能し始め、サイトに登録する全員が手動承認を待つことになります。
  2. 新規ユーザーを手動で承認するには、ユーザー > 未承認 に移動します。
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

ハッカーはWordPressの登録スパムから何を得るのか

テロ組織が米国政府のウェブサイトをハッキングしたり、有名人のスマートフォンが侵入されたりというニュースを目にします。自分の小さなサイトをハッキングして、ハッカーに何の得があるのか想像しにくいかもしれません。

しかし実際には、ハッカーはあなたのことを何も知らなくても、あなたのサイトを攻撃する理由を数多く持っています。これは個人的な恨みではなく、ビジネスなのです。

ハッカーがサイトへのユーザーアクセスを狙う目的は以下の通りです。

  • 偽薬、アダルトコンテンツ、詐欺、マルウェアを販売して収益を得る
  • 自分やクライアントのサイトへのバックリンクを構築する
  • あなたのSEO努力を台無しにする
  • メールアドレス、クレジットカード情報、医療記録などのユーザー情報を盗む
  • 違法な海賊版映画、TV番組、ソフトウェアを保管する

ただし、単なるユーザーアクセスだけでは、これらの操作をすべて実行できるわけではありません。ファイルの保管などには管理者権限が必要ですが、SEO妨害のような悪質な操作であれば編集者権限でも十分です。

サイトへのアクセスと、プラグインやテーマの脆弱性が組み合わさると、重大なセキュリティ侵害につながる可能性があります。過去にはContact Form 7の脆弱性により、購読者権限のユーザーが管理者権限を取得できる事例がありました。

  • より高い権限を獲得すると、訪問者を悪意あるサイトへリダイレクトできる
  • スパム的な日本語キーワードを含む投稿を公開し、SEOを破壊できる
  • 違法薬物名でページを汚す、いわゆる「ファーマハック」を実行できる
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド

編集者など限られた権限のユーザーでも、コメントをモデレートできます。悪意あるコメントを承認すれば、データベースが危険に晒されます。詳しくはWordPress SQLインジェクションに関する記事をご覧ください。

言うまでもなく、こうしたハッキングがサイトに与える影響は甚大です。

WordPressの登録スパムがサイトに与える影響

ハッカーは、あなたのリソースを利用するため、あるいは混乱を引き起こすためにサイトへのアクセスを試みます。具体的な被害は以下の通りです。

  • ユーザー登録情報はデータベースに保存されます。数百件のスパム登録がデータベースを肥大化させ、サイトの表示速度を低下させます
  • スパムコンテンツの投稿や訪問者のリダイレクトが行われると、検索エンジンのランキングに悪影響が出ます
  • リダイレクト先では、訪問者が違法薬物販売サイトやアダルトサイトに送られ、場合によってはソフトウェアのダウンロードを強制されることもあります。これはサイトの評判を著しく損ないます
  • クレジットカード情報や医療記録などのユーザー情報が盗まれ、オンラインで売却されれば、データ漏洩の責任を問われる可能性があります
WordPressの登録スパムを完全に防ぐ方法|初心者にもわかる徹底対策ガイド
  • ホスティングサービスや検索エンジンがハッキングを検知すると、サイトの停止、欺瞞的サイトとしてのマーク、ブラックリスト登録といった措置が取られます。
  • ハッキングされたサイトの復旧には、高額な費用がかかることもあります。

WordPressへの新規ユーザー登録スパムは、決して軽視してはいけない問題なのです。

次にやるべきこと

このガイドを活用すれば、WordPressへのユーザー登録スパムを確実に防げるはずです。

しかし、登録スパムをブロックするだけでは、ハッカーによるサイトへの侵入自体は防げません。サイトを完全に守るためには、MalCareのようなWordPressセキュリティプラグインの導入が必要です。サイトと外部トラフィックの間にファイアウォールを設置し、ログインページをブルートフォース攻撃から保護します。

さらに、毎日の自動スキャンにより、万が一ハッキングされた場合でも即座にクリーンアップできます。サイトのハードニング対策やWordPressのバックアップ機能も利用可能です。

ぜひMalCareセキュリティプラグインをお試しください!

  1. ハッキングされた Web サイトを簡単に修復するには? (完全なガイド)

    ウェブサイトがハッキングされていませんか ?私たちに連絡するほとんどのウェブサイト管理者は、ウェブサイトのリダイレクトやウェブサイトでのスパム ポップアップなどの症状を目にします。これがストレスになるのは当然です。ハッキングされた Web サイトを修正できます。 ウェブサイトのクリーニングに入る前に、あなたのウェブサイトがハッキングされていることを確認する必要があります。 セキュリティ プラグインを使用して Web サイトをスキャンし、Web サイトのハッキングを確認します。 ハッキングを確認すると、次のステップはずっと簡単になります。この記事では、Web サイト上のマルウェアを特定し

  2. WordPress で PHP のバージョンを更新するには? (初心者向けガイド)

    PHP は、Web 開発者が動的な Web サイトを作成するために使用するサーバー側のスクリプト言語です。 WordPress、Joomla、Drupal、その他の一般的なコンテンツ管理システムはすべて PHP で記述されています。 1994 年に PHP が最初に作成されたとき、PHP は「Personal Home Page」の略でした。 」。現在は「PHP:ハイパーテキスト プリプロセッサ」と呼ばれていますが、 」。以下のボックスに PHP コードの例を示します。 <?php echo Welcome to the Malcare Blog!; ?> PHP は Web