すべての改ざんがトップページを書き換えるわけではありません。最も多い手口のいくつかは、運営者には気づかれないようにしながら、サイトの評価を利用して別のものを売るよう設計されています。典型的な例が、日本語キーワードハックとファーマハックです。
共通点
どちらもSEOスパムの一種です。攻撃者はサイトに侵入し、数百から数千ものページを追加したり、リンクやテキストを埋め込んだりして、偽ブランド品や医薬品などを宣伝します。ページは検索エンジンにだけ表示され、ドメインの信頼を利用して上位に表示させることが目的です。
この攻撃はクローキングに依存しています。訪問者によって、サイトが異なる内容を見せるのです。
- 自分でサイトを開くと、すべて普通に見えます。
- 検索エンジンのクローラーが訪れると、スパムが返されます。
- Googleの検索結果から来た訪問者だけが、ショップや詐欺ページにリダイレクトされ、アドレスを直接入力した訪問者には通常のサイトが表示されることもあります。
そのため運営者は、自分のサイトではなく、お客様や奇妙な検索結果から気づくことがよくあります。
日本語キーワードハック
この攻撃では、攻撃者が日本語のテキストを含むページを大量に作成します。多くはブランド品の広告です。自分のサイトのアドレスが、日本語のタイトルと説明文とともにGoogleの検索結果に表示されます。
典型的な兆候:
- Googleで
site:yourdomain.comを検索すると、書いた覚えのない日本語のページが表示される。 - サイトマップ、または新しいサイトマップファイルに、見覚えのないアドレスが数千件並んでいる。
- ランダムな名前の新しいファイルやフォルダがあり、
.htaccessやindex.phpなどのファイルが変更されている。 - Google Search Consoleでインデックスされたページ数が急増し、本来のページのクリック数が減る。
ファーマハック
ファーマハックは、医薬品に関する隠しリンクやテキストを、ページやサイトのheadに挿入します。検索エンジンにはキーワードが見え、訪問者には見えません。
典型的な兆候:
- Googleの検索結果に、サイトに関連して医薬品の名前が表示される。
- クローラーのユーザーエージェントでサイトのページを取得すると、ブラウザでは見えないテキストが現れる。
- テーマのフッターやヘッダーに、CSSで隠されたスパムリンクがある。
- テーマのファイル、特に
functions.php、header.php、footer.phpに予期しないコードがあり、読めない長い文字列に紛れて隠されていることが多い。
自分のサイトを調べる方法
内容がクローキングされているため、検索エンジンと同じ見方で調べる必要があります。
- Googleで検索する。
site:yourdomain.comで検索し、結果をスクロールして、見覚えのないタイトルを探します。 - Google Search Consoleを使う。 「ページ」レポートでインデックスされたページ数を、「セキュリティの問題」レポートで改ざんの有無を確認できます。
- ページのソースを見る。 見慣れない単語や、隠された要素を探します。
- 外部から見るチェックを実行する。 無料のサイト改ざんチェックは、スパムキーワード、隠しリンク、埋め込まれたスクリプト、クローキングを調べ、通常の訪問者と検索エンジンのクローラーに返される内容を比較します。
復旧の手順
復旧の手順は、改ざんされたWordPressサイトすべてに共通です。サイトが改ざんされたら:最初にやることをご覧ください。SEOスパムの場合は、次の点にも注意してください。
- スパムファイルとバックドアを削除する。 見えているページだけではなく、バックドアも対象です。攻撃者は通常、再侵入の経路を残しています。
- データベースを調べる。 埋め込まれた投稿やオプション、
.htaccessファイルのリダイレクトルールを確認します。 - すべてのパスワードとセキュリティキーをリセットする。 不明な管理者ユーザーは削除します。
- Google Search Consoleで後片付けをする。 クリーンなサイトマップを送信し、スパムのアドレスには削除ツールを使います。Googleがサイトにフラグを立てた場合は、再審査をリクエストします。「詐欺サイトの可能性があります」警告の解除方法をご覧ください。
- 存在しないページには正しいステータスを返す。 もう存在しないスパムのアドレスは404または410を返し、検索エンジンに削除させます。
再発を防ぐ
これらの攻撃は、多くの場合、古いプラグインやテーマ、盗まれたパスワードから始まります。すべてを最新に保ち、使っていないプラグインを削除し、一意のパスワードと二要素認証を使い、サーバー外に最新のバックアップを保管してください。攻撃は運営者から隠れるため、自動チェックが重要です。ServerMonitorは、訪問者とクローラーに返される内容を定期的に比較し、スパムキーワード、隠しリンク、埋め込まれたスクリプトを探します。早い段階で気づくことができます。