サイトが改ざんされたと知ったときの気持ちは最悪で、すぐに何かを削除したくなります。しかし、やめてください。手順を正しい順序で進めれば、サイトをより早くクリーンにでき、問題の再発も防げます。
1. 何が起きているかを確認する
改ざんの兆候には、ブラウザの警告(「詐欺サイトの可能性があります」)、Googleの検索結果に表示される奇妙な日本語や医薬品のテキスト、別のサイトへのリダイレクト、作成した覚えのない管理者ユーザー、ホスティング会社によるアカウント停止などがあります。プライベートウィンドウと、モバイル回線のスマートフォンの両方で自分のサイトを確認してください。検索エンジン経由の訪問者にだけ姿を現すマルウェアもあるためです。
無料のサイト改ざんチェックで、外部からの簡易チェックができます。マルウェアのリストを照合し、埋め込まれたスクリプト、隠しリンク、スパムを探します。一般の訪問者が見られる範囲だけを見ます。
2. 被害を封じ込める
- サイトをメンテナンスモードにするか、しばらくオフラインにして、訪問者や検索エンジンに感染したページが見えないようにします。
- 改ざんされたサイトの完全なバックアップ(ファイルとデータベース)を、何かを変更する前に取ります。侵入経路を調べるのに必要になることがあります。
- アクセス権を持つすべてのパスワードを変更する。 ホスティングの管理画面、FTPとSSH、データベース、CMSの管理者アカウント、パスワードリセットに使うメールアカウントです。信頼できるパソコンから行ってください。
3. 何が変更されたかを調べる
攻撃者が痕跡を1つだけ残すことはまずありません。次の点を探します。
- CMSの不明な管理者ユーザー。削除します。
- 最近変更されたファイル。特に、コードが入っているはずのないアップロードフォルダ内のPHPファイル。
- テーマの
header.php、footer.php、functions.phpにある不審なコードや、evalやbase64_decodeを使った読めない長い文字列。 - 隠されたバックドア:攻撃者が再び侵入するための小さなファイルで、ランダムな名前のことが多い。
攻撃前のクリーンなバックアップがあれば、手作業で掃除するよりも、通常は復元のほうが速く確実です。復元したら、同じ脆弱性がまだ残っているため、以降の手順に進んでください。
4. 侵入経路をふさぐ
改ざんされたサイトの大半は、狙い撃ちされたわけではありません。古いプラグイン、テーマ、本体のバージョン、弱い、または使い回されたパスワード、誰も使っていない脆弱な拡張機能があっただけです。クリーンアップの後に行うことは次のとおりです。
- すべてを更新する:CMS、テーマ、プラグイン、そしてPHP自体。
- 使っていないプラグインとテーマを削除する。 使っていないコードも攻撃対象になります。
- 強力で一意なパスワードを使い、管理者には二要素認証を有効にします。
- ファイルのパーミッションを確認し、不要な書き込み権限を外します。
5. 検索エンジンと訪問者に知らせる
Googleがサイトにフラグを立てた場合は、Google Search Consoleを開いて「セキュリティの問題」レポートを確認し、サイトがクリーンになったら再審査をリクエストします。顧客データが流出した可能性がある場合は、通知について法的な義務がないか確認してください。あなたと顧客がどこにいるかによって異なります。
6. クリーンな状態を保つ
一度掃除しただけでは不十分です。攻撃者はバックドアを残して戻ってくることがよくあります。その後の数週間は、新しいファイル、新しいユーザー、変更されたページ、予期しないスクリプトに注意してサイトを観察してください。まさに自動監視の出番です。ServerMonitorは、埋め込まれたスクリプト、隠しリンク、スパムキーワード、マルウェアやフィッシングのリストへの登録を定期的にチェックし、早めにお知らせします。
専門家に依頼すべきか?
感染が繰り返される場合、顧客の支払いや個人データを扱っている場合、あるいは単に時間がない場合は、専門業者によるクリーンアップは費用に見合います。依頼する場合は、症状を取り除くだけでなく、攻撃者がどのように侵入したかも報告してもらいましょう。
備えるのに最適なのは、起こる前です。ソフトウェアを最新に保ち、サーバー外に最新のバックアップを保管し、その日のうちに知らせてくれる監視を使ってください。