このガイドは、大量のキーワードを含む意味不明なコンテンツをサイトに追加するタイプのハッキング(Google では「意味不明な内容によるハッキング」と呼びます)を対象としています。一般的なコンテンツ マネジメント システム(CMS)のユーザーを対象としていますが、CMS を利用していなくてもこのガイドは役立ちます。
このガイドがお役に立てば幸いです。 フィードバックをお寄せください。機能の改善に役立てさせていただきます。
このタイプのハッキングを特定する
意味不明な内容によるハッキングでは、キーワードが埋め込まれた意味不明なページがサイト内に大量に自動生成されます。これらは、自分で作成していないものの、ユーザーがクリックしたくなる可能性のある URL を持つページです。ハッカーはまず、ハッキングしたページを Google 検索に表示します。ユーザーがそのページにアクセスしようとすると、無関係なページにリダイレクトされます。ハッカーは無関係なページを 閲覧することで利益を得ます意味不明な内容によるハッキングの影響を受けたサイトで見られる可能性のあるファイルの種類の例を以下に示します。
www.example.com/cheap-hair-styles-cool.html
www.example.com/free-pictures-fun.html
www.example.com/nice-song-download-file.php
ランダムな文字で構成されたフォルダに表示され、異なる言語が使用されることがあります。
www.example.com/jfwoea/cheap-hair-styles-cool.html
www.example.com/jfwoea/free-pictures-fun.html
www.example.com/jfwoea/www-ki-motn-dudh-photo.php
www.example.com/jfwoea/foto-cewe-zaman-sekarang.php
まず Search Console のセキュリティの問題ツールをチェックして、このようなハッキングされたページがサイトで Google によって検出されているかどうかを確認します。Google 検索ウィンドウを開き、「site:_your site url_
」と入力してサイトのルートレベルの URL を入力することで、このようなページを検出することもできます。これにより、ハッキングされたページを含め、Google がサイトのインデックスに登録したページが表示されます。検索結果を数ページめくってみて、通常とは異なる URL が見つからなかったか確認します。ハッキングされたコンテンツが Google 検索で見つからなかった場合は、別の検索エンジンで同じ検索キーワードを使用してください。たとえば、次のようになります。
![検索結果には、このハッキングが行われたページが表示されています。](https://web.dev/static/articles/fix-the-gibberish-hack/image/search-results-showing-pa-63c37b3f1a54c.png?authuser=6&hl=ja)
通常、ハッキングされたページへのリンクをクリックすると、別のサイトにリダイレクトされるか、意味不明なコンテンツでいっぱいのページが表示されます。ただし、ページが存在しないことを示すメッセージ(404 エラーなど)が表示されることもあります。騙されないで!ハッカーは、ハッキングされたままページが削除された、または修正されたと思わせようとします。このハッキングは、コンテンツのクローキングによって行われます。URL 検査ツールにサイトの URL を入力して、クローキングを確認します。Fetch as Google ツールを使用すると、背後にある隠しコンテンツを確認できます。
こうした問題が見られる場合、サイトはこのタイプのハッキングの影響を受けている可能性があります。
ハッキングを修正する
まず、ファイルを削除する前に、後で復元が必要になった場合に備えてファイルのオフライン コピーを作成してください。クリーンアップ プロセスを開始する前に、サイト全体をバックアップすることをおすすめします。これを行うには、サーバー上のすべてのファイルをサーバー外の場所に保存するか、ご使用のコンテンツ マネジメント システム(CMS)に最適なバックアップ オプションを探します。CMS を使用している場合は、データベースもバックアップします。
.htaccess
ファイルを確認する(2 ステップ)
意味不明な内容によるハッキングでは、.htaccess
ファイルを使用してサイトから訪問者をリダイレクトします。
ステップ 1
サイトで .htaccess
ファイルを見つけます。ファイルの場所がわからず、WordPress、Joomla、Drupal などの CMS を使用している場合は、CMS の名前とともに検索エンジンで「.htaccess ファイルの場所」を検索します。サイトによっては、複数の .htaccess
ファイルが表示される場合があります。.htaccess
ファイルの場所をすべてリストアップします。
ステップ 2
すべての .htaccess
ファイルを、クリーンなバージョンまたはデフォルト バージョンの .htaccess
ファイルに置き換えます。通常、.htaccess
ファイルのデフォルト バージョンは、「デフォルト .htaccess
ファイル」と CMS の名前で検索できます。複数の .htaccess
ファイルがあるサイトの場合は、各ファイルのクリーンなバージョンを見つけて置き換えます。
デフォルトの .htaccess
が存在しておらず、サイトで .htaccess
ファイルを構成したことがない場合、サイトで見つかった .htaccess
ファイルはおそらく悪意のあるファイルです。念のため、.htaccess
ファイルのコピーをオフラインに保存し、サイトから .htaccess
ファイルを削除します。
その他の悪意のあるファイルを見つけて削除する(5 つのステップ)
不正なファイルの特定は、厄介で時間のかかる作業です。ファイルの確認には時間をかけてくださいまだ行っていない場合は、この時点でサイトのファイルをバックアップすることをおすすめします。サイトのバックアップ方法を確認するには、「バックアップ サイト」と CMS の名前で Google 検索を行います。
ステップ 1
CMS を使用している場合は、CMS のデフォルトのディストリビューションに付属するすべてのコア(デフォルト)ファイルと、テーマ、モジュール、プラグインなど、追加したファイルをすべて再インストールします。これにより、これらのファイルからハッキングされたコンテンツを確実に排除できます。再インストールの手順を確認するには、「再インストール」と CMS 名を Google で検索します。プラグイン、モジュール、拡張機能、テーマがある場合は、それらも再インストールします。
ステップ 2
次に、悪意のあるファイルや侵害されたファイルが残っているかどうかを確認します。最も難しく時間のかかるプロセスですが、これで完了です。
このハッキングでは通常、.txt
ファイルと .php ファイルの 2 種類のファイルが残ります。.txt
ファイルはテンプレート ファイルで、.php
ファイルはサイトに読み込む意味のないコンテンツの種類を指定します。
まず、.txt
ファイルを探します。サイトへの接続方法に応じて、なんらかの種類のファイルの検索機能が表示されます。「.txt」を検索すると、.txt
拡張子を持つすべてのファイルが表示されます。そのほとんどはライセンス契約や README ファイルなどの正当なファイルです。スパム テンプレートの作成に使用される HTML コードを含む一連の .txt
ファイルを探しています。以下に、こうした悪意のある .txt
ファイルに含まれる可能性のある、さまざまなコード スニペットを示します。
<title>{keyword}</title>
<meta name="description" content="{keyword}" />
<meta name="keywords" content="{keyword}" />
<meta property="og:title" content="{keyword}" />
ハッカーはキーワード置換を使ってスパム行為のあるページを作成します。ハッキングされたファイル全体で、置き換えられる一般的な単語が見つかる可能性が高くなります。
さらに、これらのファイルのほとんどには、スパムリンクやスパム テキストを表示ページの外に配置するなんらかのコードが含まれています。
<div style="position: absolute; top: -1000px; left: -1000px;">
Cheap prescription drugs
</div>
これら .txt
個のファイルを削除します。すべて同じフォルダ内にある場合は、フォルダ全体を削除します。
ステップ 3
悪意のある PHP ファイルを特定することは少し難しい作業です。サイトには、1 つまたは複数の悪意のある PHP ファイルが存在する可能性があります。コンテナ イメージはすべて同じサブディレクトリに含まれているか、サイト内に配置されている可能性があります。
すべての PHP ファイルを開いて内容を調べる必要があると考えて、負担に感じる必要はありません。まず、調査する不審な PHP ファイルのリストを作成します。不審な PHP ファイルを判断する方法は次のとおりです。
- CMS ファイルの再読み込みはすでに完了しているため、確認できるのはデフォルトの CMS ファイルやフォルダに含まれないファイルのみです。これにより、多数の PHP ファイルが除外され、確認すべきファイルがわずかに残るはずです。
- 最終更新日を基準にサイト上のファイルを並べ替えます。サイトがハッキングされていることに気付いてから数か月以内に変更されたファイルを探します。
- ファイルのサイズを基準にサイト上のファイルを並べ替えます。著しく大きいファイルを探します。
ステップ 4
不審な PHP ファイルのリストを作成したら、悪意のあるファイルかどうかを確認します。PHP に精通していない場合は、このプロセスのほうが時間がかかる可能性があるため、PHP のドキュメントを見直すことをおすすめします。コーディングが初めての場合は、サポートを受けることをおすすめします。それまでの間、悪意のあるファイルを特定するために検索できる基本的なパターンがいくつかあります。
CMS を使用していて、それらのファイルを直接編集する習慣がない場合は、サーバー上のファイルを、CMS にパッケージ化されているデフォルト ファイルのリストと、すべてのプラグインおよびテーマと比較します。属していないファイルや、デフォルト バージョンより大きいファイルを探します。
まず、特定した不審なファイルをスキャンして、文字と数字が乱雑に見える組み合わせを含む大きなテキスト ブロックを探します。通常、大きなテキスト ブロックの前には、base64_decode
、rot13
、eval
、strrev
、gzinflate
などの PHP 関数の組み合わせが配置されます。以下は、そのコードブロックの例です。場合によっては、このコードがすべて 1 行のテキストに詰め込まれ、実際よりも小さく見えることがあります。
// Hackers try to confuse site owners by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
コードが乱雑ではなく、通常のスクリプトのように見えることもあります。不正なコードかどうかわからない場合は、Google 検索セントラルのヘルプ コミュニティをご利用ください。経験豊富なウェブマスターがファイルの確認をお手伝いします。
ステップ 5
不審なファイルを把握したら、パソコンに保存してバックアップまたはローカルコピーを作成し、悪意のあるファイルではない場合に備えて、不審なファイルをサイトから削除します。
サイトがクリーンかどうかを確認する
ハッキングされたファイルを削除し終えたら、努力が報われたかどうかを確認します。 前に特定した意味不明な内容のページがあったことを覚えていますか?Fetch as Google ツールを再び使用して、それらがまだ存在するかどうかを確認します。Fetch as Google で「Not Found」と応答された場合は、おそらく問題はありません。サイトの脆弱性の修正に進んでください。
二度とハッキングされないようにするには
サイトの脆弱性の修正は、サイトを修正するための重要な最終ステップです。最近の調査によると、ハッキングされたサイトの 20% が 1 日以内に再びハッキングされています。サイトがどのようにハッキングされたかを正しく把握することが大切です。調査を始めるにあたっては、スパマーがウェブサイトのハッキングでよく利用する手段のガイドをお読みください。ただし、サイトがどのようにハッキングされたかを特定できない場合は、以下のチェックリストでサイトの脆弱性を減らす方法を確認してください。
- コンピュータを定期的にスキャンする: 一般的なウイルス スキャナを使用して、ウイルスや脆弱性をチェックします。
- パスワードを定期的に変更する: ホスティング プロバイダ、FTP、CMS などのすべてのウェブサイト アカウントのパスワードを定期的に変更することで、サイトへの不正アクセスを防ぐことができます。アカウントごとに一意の安全なパスワードを作成することが重要です。
- 2 要素認証(2FA)を使用する: ログインを必要とするすべてのサービスで 2 要素認証を有効にすることを検討してください。2 要素認証を使用すると、ハッカーはパスワードを盗んでもログインするのが難しくなります。
- CMS、プラグイン、拡張機能、モジュールを定期的に更新する: この手順はすでに実施している可能性があります。多くのサイトは古いソフトウェアを 実行しているためハッキングされます自動更新に対応している CMS もあります。
- セキュリティ サービスへの登録を検討する: わずかな料金でサイトのモニタリングを行える優れたサービスは数多く存在します。サイトを安全に保つために、プロバイダに登録することを検討してください。
補足資料
それでもサイトの問題を解決できない場合は、役立つリソースがいくつかあります。
これらのツールでサイトをスキャンし、問題のあるコンテンツを検出できる場合があります。 ただし、Google がサポートしている(Google 上で利用できる)ツールは VirusTotal のみです。
これらは、問題のあるコンテンツがないかサイトをスキャンすることができるツールの一部です。これらのスキャナは、問題のあるコンテンツをすべて特定することを保証するものではありません。
Google が提供するリソースは次のとおりです。