警告が表示される理由
「このサイトは第三者によって〜」という表示は、WebサイトがハッキングされたことをGoogleが検知したため表示されています。 今回被害に遭ったサイトは Google Search Console を導入していたため、ハッキングを検知したので警告表示を適用したという旨のメッセージが Search Console に届いていました。 Search Console はサイトの検索結果に関するパフォーマンスを監視・管理できるサービスですが、Webサイトの改ざんも監視してくれます。 Search Console を使っていなくてもGoogleがクロールした時に改ざん検知もしてくれると考えられますが、Search Console にサイトを登録しておくことで運営者に通知が届くようになります。 Googleが用意しているハッキングされたときのドキュメントに沿って以下の順で対策を進めます。- サイトの隔離
- Search Console の確認
- 被害の確認
- 脆弱性の特定
- 脆弱性への対策
- Googleへの再審査リクエスト
- 復旧後のアクション
1. サイトの隔離
まず被害が拡大しないようサイトを隔離します。- サイトをメンテナンス中ページへ差し替え
- 該当サイトのCMSとして使われていたWordPressの一時停止
2. Search Console の確認
Search Console のメッセージを確認します。 今回は以下の内容のメッセージが送られていました。- 「このサイトは第三者によって〜」と検索結果に表示されるに至った理由
- ハッキングされたURLの一部
- 対策の手順(前述のハッキングされたときのドキュメント同様)
3. 被害の確認
以下二点を行います。改ざん内容の確認
脆弱性調査の手がかりにするため、実際にどう改ざんされていたのかを調べます。 自分自身も被害者にならないよう、以下のような方法で無害化して確認する必要があります。- 静的HTMLのサイトなら、テキストエディタでページを開きコードを確認する
- CMSなどのシステムを使ったサイトなら、データベースの内容を確認する
被害範囲の確認
Search Console のメッセージ受信時刻からサイトを隔離した時間までのアクセスログを解析し、被害に遭った人数とアクセス元(IP)を調べます。 改ざんされた当日にメンテナンスページに差し替えられたのでアクセスされた数は少なく、直接マルウェアを感染させるハッキングではなかったため訪問者への損害も無いと考えられるのは不幸中の幸いでした。 今回の改ざんは直接損害を与えるものではないため、訪問者への被害は発生していないと見なし、対策後にサイト上でお詫びの告知をする方針で進めました。 もしマルウェア感染の改ざんだった場合は、被害者を特定して個別に対処する必要もあると考えられます。4. 脆弱性の特定
上記で調べた改ざん内容やサーバーログをもとに、脆弱性の原因を特定します。 今回はWordPressのコンテンツが書き換えられていたためWordPress本体を真っ先に調べたところ、WordPressが最新版に更新されておらず、そのバージョンの脆弱性を突く事実がサーバーログにあり、原因はWordPressのアップデートを怠っていたためと特定しました。 脆弱性の内容は以下に該当するもので、話題になった当時に弊社でも率先して対応していました。 WordPress の脆弱性対策について:IPA 独立行政法人 情報処理推進機構 制作後にWebサイトの管理をお客様に任せて手離れした後、WordPressなどCMSの更新が放置されてしまうことはありがちなケースです。5. 脆弱性への対策
特定した脆弱性に適した対策を取ります。今回はWordPressの脆弱性が原因のため以下の対策をとりました。
- ハッキング前のバックアップからサイトを復旧
- WordPressのバージョンアップ(動作検証作業など含む)
- WordPress管理者パスワードの変更
- WAFの導入
6. Googleへの再審査リクエスト
調査と対策を行い、状態が戻ったことを確認したあとにGoogleの再審査ページよりリクエストを送ります。 Googleのドキュメントには72時間以内に検索結果から警告が削除されるとありますが、今回の場合は再審査リクエストした翌日未明には警告表示が解除されました。7. 復旧後の告知
Googleのドキュメントにはサイト復旧までの手順が掲載されていますが、その後のアクションも必要です。- サイト上での報告
- 顧客へ報告のURLをメール連絡
- 改ざんを受けたことへのお詫び
- 改ざん内容はマルウェアを含まないスパムのため、損害が発生する可能性は低い事実と理由
- そのうえで万一被害を受けていたら連絡を求める旨
- 改ざんの確認から復旧までの対処を時系列で列挙
- 行った脆弱性対策の説明
まとめ
繰り返しになりますが、ハッキングされた時の対策は以下手順になります。- サイトの隔離
- Search Console の確認
- 被害の確認
- 脆弱性の特定
- 脆弱性への対策
- Googleへの再審査リクエスト
- 復旧後の告知