問い合わせのフォームに、知らない人から 1 通届いた。「御社のサイトを検索から開いたら、ブランド品の通販のようなページに飛ばされました」。あわてて自分のブラウザーでトップページを開くと、いつもの画面が出る。ほかのページも開いてみたが、おかしな所は見当たらない。
改ざんは、持ち主の目には見えない形で起きることがあります。どこを見れば気づけるかを、手間の小さい順に書きます。
この記事のポイント
- 自分で開いて大丈夫でも、検索から来た人だけ別のサイトへ飛ばされる改ざんがある
- 外からはSearch Console とページ内のテキストの変化、中からは管理者の人数とファイルのチェックサムで気づける
- 気づいたら、まず記録して、サーバー会社か制作会社に相談する
自分で開いても、気づけないことがある
Google の「スパムに関するポリシー」には、検索の結果から開くと怪しいページに飛ばされ、同じ URL をブラウザーで直接開くと飛ばされない例が載っています。持ち主に気づかれにくくするために、検索エンジンと人とで見せる内容を変える手口(クローキング)が使われるのは珍しくない、とも書かれています。
つまり「開いてみたら大丈夫だった」は、改ざんされていない理由になりません。
改ざんで起きること
WordPress.org の「FAQ My site was hacked」は、乗っ取られたしるしとして、検索エンジンの危険なサイトの一覧に載る、サーバー会社がサイトを止める、許していない動き(新しいユーザーが作られる など)がある、といった例を挙げています。見る側からは、次のような形で現れます。
改ざんされたときに起きること
- ページの中や見えない所に、知らないサイトへのリンクが増える。
- 検索から来た人や、スマホから来た人だけが別のサイトへ飛ばされる。
- 管理者の権限を持つユーザーが、いつの間にか増えている。
- WordPress の本体やプラグインのファイルが書き換えられる。同じ FAQ では、.htaccess も書き換えられやすいファイルとして挙げられています。
外から見える手がかり:Search Console とページ内のテキスト
手がかり 1:Search Console の「セキュリティの問題」
Google の Search Console にサイトを登録しておくと、「セキュリティの問題」レポートで、Google が見つけた問題を見られます。分類は「ハッキングされたコンテンツ」「マルウェアや望ましくないソフトウェア」「ソーシャル エンジニアリング」の 3 つです。問題があると、検索の結果に警告が付いたり、ブラウザーに警告の画面が出たりすることがある、とヘルプに書かれています。問題がなければ、緑のチェックマークが出ます。
ただし、Google が見つけるまでは何も出ません。登録していなければ、見ることもできません。
手がかり 2:ページ内のテキストの変化
ページの文字数が急に減った、別のドメインへ転送されるようになった、知らない言葉が入った。こうした変化は、外から決まった間隔でページを開いて比べる監視サービスで見つけられます。ただ、検索から来た人にだけ見せる形の改ざんは、外から直接開く監視にも見えないことがあります。
中から見る手がかり:管理者の数とファイルのチェックサム
手がかり 3:管理者の人数
WordPress の管理画面の「ユーザー」で、権限を「管理者」に絞って人数を見てください。覚えのない管理者がいれば、すぐ調べる理由になります。人数をメモしておくと、増えたときに分かります。
手がかり 4:ファイルのチェックサム
ファイルの書き換えは、WordPress.org が公開しているチェックサム(ファイルごとの md5 の値)と比べて見つけます。サーバーに SSH で入れて WP-CLI が使えるなら、次のコマンドで確認できます。
wp core verify-checksums:本体のファイルを比べる。合っていれば「Success: WordPress installation verifies against checksums.」と出る。言語は--localeで指定できる。wp plugin verify-checksums --all:入っているプラグインを全部比べる。readme.txt のような小さな違いまで数えるときは--strictを付ける。
比べられるのは、WordPress.org にあるものだけです。自作のプラグイン、テーマの中で手を入れたファイル、アップロードした画像の置き場所は、この方法では見られません。
サイトビーコンで分かること・分からないこと
システマが作っているサイトビーコンは、改ざんを防いだり直したりするサービスではありません。気づくための手がかりを集めるサービスです。
分かること
- 外からの監視(全プラン):5 分ごとにページを開き、別のサイトへの転送、ページが急に小さくなった、決めた「NG ワード」(出てはいけない言葉)が出た、といった変化をメールで通知します。
- WordPress 用のプラグイン「SiteBeacon Reporter」をインストールしたサイト:1 日 1 回、本体とプラグインのファイルを WordPress.org のチェックサムと比べ、変わったファイルの数を送ります。管理者の人数が前より増えたことも分かります。どちらもサイトの画面に出るもので、今はメールでは通知しません。
分からないこと
テーマ、wp-content の中、ルートの .htaccess、WordPress.org にないプラグインは比べません。マルウェアの検査や、既知の脆弱性の通知もしません。
気づいたら、最初にすること
先の FAQ では、最初の手として「記録する」を挙げています。
気づいたら、最初にすること
- 何を見ておかしいと思ったか、気づいた日時、最近入れたプラグインや変えた所を書き留める。
- サーバー会社にも連絡し、同じサーバーの中で何か起きていないかを確認してもらう。
直す作業は、書き留めたものを持って、サーバー会社か保守を頼んでいる制作会社と相談しながら進めると、消してはいけない手がかりまで消してしまう失敗を避けられます。今日のうちに、管理者の人数だけでもメモしておくと、次に見るときの比べる元になります。