
乗っ取られたサイトは、持ち主が見ても、いつもと同じに見えることがあります。検索から来た人やGoogleにだけ別のページを見せる手口があるためで、Googleの開発者向けの解説も、持ち主には普通のページか「見つからない」が表示されると書いています(web.dev)。毎日自分のサイトを開いていても、気づけないことがあるわけです。
この記事では、被害に気づくきっかけになりやすいものと、気づくのを早めるために先に仕込んでおく見張りについて書きます。ウェブのセキュリティの基本の4本のうち、2本目です。気づいたときに慌ててファイルを消すのはやめてください。最初にやることは、3本目の被害に気づいたあとの初動の記事に書きました。
いちばん分かりやすいのは、Googleの警告です。検索結果に「このサイトはハッキングされている可能性があります」と出るのは、Googleがページの書き換えやスパムのページの追加を検知したときで、持ち主が直して審査を申請し、Googleが確認するまで消えません(Google)。ブラウザが赤い警告の画面を出すのは、マルウェアやだますページがあると判定されたときです。Search Consoleの「セキュリティの問題」には、乗っ取られたコンテンツ、マルウェア、ソーシャルエンジニアリング(だますページ)の3種類が、例のURLつきで出ます。ただ、例のURLが全部とは限りません(Search Console ヘルプ)。
Googleより先に、人から知らされることもあります。お客さまから「変なサイトに飛ばされた」と連絡が来るのは、検索やスマートフォンから来た人だけを、別のサイトに転送しているときです。サーバーの会社から、負荷が高い、迷惑メールを送っている、と連絡が来るなら、サーバーが攻撃やスパムの送信に使われています。カード会社や決済の会社からの連絡は、決済の画面が書き換えられ、入力されたカード情報が盗まれているおそれを意味します。
管理画面に、知らない管理者やプラグインが増えていることで気づく場合もあります。入られたあとに、次に入るための入口を残されたと考えてください。
自分で探すなら、まずGoogleで「site:自分のドメイン」と検索して、数ページ分、見覚えのないページがないかを見ます。見つからなければ、別の検索エンジンでも試します。Search Consoleの「URL検査」で、Googleに見えているページと自分に見えているページを比べれば、検索にだけ出している中身も分かります(web.dev)。
お客さまから転送の連絡があったときは、パソコンのブラウザで直接開くだけでは足りません。スマートフォンで、検索結果から開いてみてください。持ち主のアクセスでは、転送が起きないことがあるためです。
最初にやっておきたいのは、Search Consoleへの登録です。Googleの判定がレポートで分かり、審査の結果や、繰り返し違反の扱いになったときの知らせも、登録したメールアドレスに届きます(Search Console ヘルプ、Google)。警告を外す審査の申請もここからしかできません。登録するアカウントは、担当者個人ではなく、会社で管理できるものにしてください。担当者が辞めると、通知がどこに届いているのか分からなくなります。
次に、外から定期的にサイトを開いて、落ちていないかを調べる監視です。無料のサービスもあります。落ちていないかだけでなく、決まった文言がページにあるかも見る設定にしておくと、トップページを書き換えられたときにも気づけます。
ファイルの変更の検知も効きます。WordPressなら、セキュリティのプラグインに、本体やプラグインの公式のファイルと違うものを知らせる機能があります。このサイトは、ファイルの正本をGitという仕組みで管理し、そこからだけ公開しているので、サーバーの上で誰かがファイルを書き換えても、次の公開で正本に戻ります。CMSを使わないサイトなら、この形がいちばん確実です。
見落とされやすいのがログです。被害に気づいたあと、いつ、どこから入られたかを調べる材料はアクセスログですが、レンタルサーバーでは残す期間が短かったり、初期の設定で残していなかったりします。アクセスログとエラーログがどこにあって何日分残るのか、管理画面へのログインの記録が残るのかを、今のうちに確かめてください。ログがなければ、何が起きたかを後から説明できません。個人情報が漏れたおそれがあるとき、国への報告で困るのもここです。
もう一つ、二段階認証に加えて、管理者がログインしたらメールで知らせる設定をしておくと、知らないログインにすぐ気づけます。WordPressなら、これもセキュリティのプラグインで設定できます。
見張りを仕込んでも、月に一度は人の目で見てください。Search Consoleの「セキュリティの問題」と、「site:自分のドメイン」の検索結果を見て、管理画面のユーザーとプラグインの一覧に知らないものがないか、更新が止まっていないかを確かめます。
国内で相次いだ会員システムへの不正アクセスと、JPCERT/CCが示した手口は、別の記事にまとめています。見張りの設定やログの確認でお困りの方は、お問い合わせからご相談ください。
ただいま、セキュリティについての無料相談を受け付けています。「自社のサイトは大丈夫か」「何から確認すればよいか」など、お気軽にご相談ください。
