Notes
WordPress改ざん|
検知から応急まで
見た目が少しおかしい段階で、ファイルを消したり上書きしたりしないでください。改ざんの応急は、被害を広げないことと、あとから経路を追える状態を残すことです。隔離の手順はハッキングされたらまずやることに分け、ここでは兆候、ファイルの確認、触らない範囲を厚く書きます。
WordPress改ざんの兆候
改ざんは、トップが真っ黒になる形だけではありません。問い合わせが急に止まる、検索結果に見知らぬ見出しが出る、スマホだけ別の店へ飛ぶ、管理画面のユーザーが増えている。こうしたずれが先に出ます。表示が普通でも、フッターの少し下に見えないリンクが足されていることがあります。兆候は1つで断定せず、公開面と管理画面と検索側を並べて見てください。
公開面で先に見えるずれ
自分が書いていない文言、見知らぬ電話番号、外国語の見出し、決済画面への誘導、トップから外れた長い英数字のURL。ブラウザのアドレス欄が、自社ドメインのまま別サイトの見た目になることもあります。キャッシュを消しても戻るなら、画面の上に乗っているだけではありません。特定の端末や特定の地域だけで起きる表示は、条件付きの差し込みです。自分の回線だけで判断しないでください。
フォームの送信先が差し替わっていると、画面はこれまで通りでも届きません。テスト送信の控えと、受信箱の実着を突き合わせてください。届かない日が続いているなら、公開を続けたまま様子を見る判断は避けます。届いているように見えても、控えと本文の宛先が違うことがあります。改ざんの兆候として、フォームは表示より先に見てください。
管理画面と検索側のずれ
身に覚えのない管理者、投稿者、アプリケーションパスワード、使っていないはずのプラグインが有効、テーマの編集画面に見知らぬ追記。ログインの通知が深夜に届いている。こうした記録は、公開面より先に残ることがあります。検索側では、インデックスされた見知らぬURL、安全ではないという警告、広告の審査落ちが兆候になります。警告が出てから初めて見るのではなく、Search Consoleのカバレッジとセキュリティの項目を週次で見てください。
サーバーのメールが急に増え、ホストから不正利用の連絡が来ることもあります。サイトの見た目が無事でも、踏み台になっている兆候です。この段階で「まだ表示できているから後で直す」と判断すると、停止処分のあとに残せるものが減ります。兆候のメモは、時刻と、どの画面で見たか、誰が見たかを残してください。記憶だけに頼ると、応急のあとで順序が狂います。
広告の審査だけ落ちて、公開面は普通に見える週もあります。審査の文面に「改変されたページ」や見知らぬ宛先が出ているなら、広告の担当だけで差し替えないでください。差し替えると、検索側と公開側で別の状態になり、あとから入る人が範囲を切れません。広告の画面も兆候の写しに含め、公開面と管理面と並べてください。並べた時点で手を止めても構いません。止めた方が、中途半端な削除より渡せます。
WordPress改ざん検知の進め方
検知は、怪しいファイルを消す作業ではありません。いま見えている状態を、後から見られる形で残す作業です。画面の保存、公開URLの一覧、管理画面のユーザー一覧、プラグインとテーマの一覧、サーバーのログが残っている範囲。この順で写しを取ってから、ファイルの中を見てください。写しを取る前に上書きすると、いつ差し込まれたかが分からなくなります。
先に残す写し
公開トップ、おかしい下層、フォーム、管理画面のユーザー、プラグイン一覧を、画面のまま保存してください。ブラウザの「名前を付けて保存」でも、写真でも構いません。URLはアドレス欄をそのまま書き写します。短縮せず、パラメータも残してください。条件付きの表示は、別端末と別回線でもう一度開いた結果も残します。自分だけに見える改ざんと、全員に見える改ざんでは、このあとの切り方が違います。
データベースの書き出しと、公開ディレクトリの複製を、改ざんを直す前に別領域へ取ってください。これは復旧用ではなく、証拠用です。復旧用のきれいな世代があるなら、置き場を分けます。同じフォルダへ上書き保存しないでください。証拠用と復旧用が混ざると、どちらが改ざん後か分からなくなります。
見る順番
公開面の差分、管理画面のユーザーとプラグイン、必須ファイル、アップロード、データベースの投稿とオプション。この順で見て、最初に見つけた怪しい1行で作業を始めないでください。1行を消しても、同じ差し込みが別のファイルに残ることが多いです。見つけた場所は一覧にし、消す判断は一覧が揃ってからにします。自分で消す判断がつかないなら、そこで止めて点検へ渡してください。
自動のスキャン結果だけを信じないでください。誤検知も、見逃しもあります。スキャンは手がかりであり、公開面とファイルの突き合わせが本体です。スキャンが「問題なし」でも、検索に見知らぬURLが出ているなら、検知は終わっていません。逆に、スキャンが多数の警告を出しても、正規のカスタムコードを指していることがあります。警告のファイルを、公式の核ファイルと自分の追加分に分けて読んでください。
WordPress改ざんチェック|ファイル
ファイルの確認は、公式の核と、自分たちが足した領域を分けて行います。核は、WordPress本体の必須ファイルです。自分たちが見慣れていない追記が核にあるなら、公式の配布と比較してください。比較の前に、いまのファイルを証拠用へコピーします。比較のために公式を上へ被せると、差し込みの痕跡が消えます。上書きは復旧の段階であり、チェックの段階ではありません。
核と追加を分ける
wp-adminとwp-includesは、公式と日付や容量がずれていないかを見ます。ずれていても、すぐ差し替えないでください。ずれの一覧を残し、どのファイルがいつ更新されたかをサーバーの時刻で見てください。wp-contentは、テーマ、プラグイン、アップロードに分かれます。テーマのfunctions.php、プラグインの読み込みファイル、アップロード配下の実行ファイルは、改ざんで使われやすい場所です。実行されるはずのない場所にスクリプトがあるなら、名前を変えて隠さず、一覧に書いて隔離の判断へ回します。
アップロード配下に、見知らぬ拡張子や、画像の名前なのに中身がスクリプト、というファイルがあることがあります。中身を実行して確かめる必要はありません。名前、場所、更新時刻、容量を書けば足ります。ホストのファイルマネージャで「最近更新されたファイル」を日付順に出すと、差し込みの週がまとまって見えることがあります。その一覧も保存してください。
テーマの編集画面からfunctions.phpを開いて、見知らぬ追記をその場で消さないでください。編集画面での上書きは、ファイルの履歴が残りにくく、証拠の上書きと同じです。追記があることだけを写し、ファイルはサーバー側の複製で残します。プラグインのファイルをエディタで開いて1行消す作業も、同じ理由で応急にはしません。見つけた行は、ファイル名とおよその位置を表に書くだけにしてください。
データベース側のファイル以外
改ざんはファイルだけではありません。投稿の本文、ウィジェット、テーマの追加CSS、リダイレクト用の表、ユーザー表。ファイルがきれいに見えても、本文にスクリプトが残ることがあります。投稿一覧を更新日の新しい順で見て、身に覚えのない公開や下書きを書き出してください。消すのは、証拠の写しを取ったあとです。下書きに残っている誘導文も、公開と同じ手がかりです。
必須設定を持つ表に、見知らぬURLや見知らぬメールアドレスが入っていないかを見てください。サイトのホーム、管理者メール、ユーザーの登録、コメントの投稿先。ここが差し替わっていると、ファイルを戻してもまた誘導されます。変更する前に、変更前の値を控えてください。控えがないと、正規の値まで戻し損ねます。
WordPress改ざんの応急
応急でやってよいのは、被害を広げないための隔離と、証拠の保全です。やってはいけないのは、怪しいファイルの中途半端な削除と、きれいなファイルでの上書きです。削除は、残っていた経路と、同じ差し込みの複製を消してしまいます。上書きは、いつ差し込まれたか、どのファイルが入口だったかを消します。応急の段階では、公開を絞る、ログインし直す、外部への通知を止める、までにしてください。隔離の操作はハッキング直後の手順で厚く書いています。
触ってよい範囲
管理画面に入れるなら、自分のパスワードを変え、身に覚えのないユーザーを「消す」のではなく「権限を落とすか停止する」ところまでにしてください。削除すると、いつ作られたかの記録が薄くなることがあります。プラグインを片端から消すのも応急ではありません。有効なものの一覧を残し、明らかに身に覚えのないものだけ停止します。停止と削除は違います。停止なら後から中身を読めます。
検索側に警告が出ている、フォームが外部へ流れている、という状態では、公開を一時的に絞る判断が先です。ホストの「メンテナンス表示」や、手前の配信で公開を止める方法があるなら、それを使います。表示を止めた事実と時刻を残してください。止めたあとに中を直す方が、訪問者を巻き込みません。止めずにファイルをいじると、訪問者の画面が途中の壊れた状態になります。
触らない範囲
証拠の上書きをしないでください。公式パッケージを核の上へ被せる、テーマを丸ごと差し替える、プラグインを上書きインストールする、データベースをきれいな世代で置き換える。これらは復旧の手段であり、応急の手段ではありません。応急の段階でやると、差し込みの時刻と、正規ファイルとの差分が消えます。後から入る人が、入口を特定できなくなります。
中途半端な削除もしないでください。怪しい1ファイルだけ捨てる、見知らぬ投稿だけゴミ箱へ入れる、htaccessの見知らぬ行だけ消す。残った複製が動き続け、検索側には古い不正URLが残ります。削除した本人は「直した」と感じますが、公開側ではまだ誘導が残ります。見つけたものは一覧にし、まとめて隔離するか、最初から復旧の手順へ進んでください。自分でまとめられないなら、削除の手を止めることが応急です。
ログのローテーションを今走らせない、キャッシュを全消しして痕跡を消さない、サーバーの時刻をいじらない。こうした操作も、あとの追跡を難しくします。キャッシュのクリアが必要なのは、復旧が終わって正規の画面を見せる段階です。応急の今は、おかしい画面が残っていること自体が手がかりです。
WordPress改ざん対策
対策は、起きたあとの掃除ではなく、入口を減らす作業です。更新の遅れ、弱い管理者、使っていないプラグイン、ログイン画面のむき出し、バックアップが同じサーバーにしかない状態。この5つが揃っているサイトは、改ざんのあとに同じ経路で戻されます。対策の詳細は管理画面の設定から始める記事にあり、ここでは改ざんの再発に直結する範囲だけ書きます。
入口を減らす
本体、プラグイン、テーマ、PHPの遅れを放置しないでください。使っていないプラグインは停止だけでなく、ファイルも外します。停止したまま残すと、古いファイルが入口のままになります。管理者は必要最小、パスワードは使い回さない、アプリケーションパスワードの残骸を消す。ログインの試行が多いサイトは、ログインURLの扱いを別記事で確認してください。
バックアップは、改ざん後に上書きされない場所へ残してください。同じ公開領域の中に書庫がある状態は、対策になっていません。日次で別領域へ残し、戻す試験をした世代があることが、対策の本体です。監視は、見た目の死活だけでなく、改ざんの差分まで見る必要があります。サイト当番では、死活は全プランで24時間365日1秒単位、マルウェアと改ざんはスタンダード月額17,800円以上で同じ周期です。
人が見る位置を残す
自動で直す仕組みがあっても、本当に問題かどうかは人が見てから進めてください。誤って正規のカスタムを消すと、営業の画面が止まります。対策の運用は、検知、人が見る、範囲を切る、直す、の順です。丸投げの自動削除は、中途半端な削除と同じ事故を起こします。社内で見る人がいないなら、見る位置を保守に置いてください。
WordPress改ざん復旧
復旧は、証拠用の写しが残ってから始めます。きれいな世代があるなら、その世代へ戻す方が、1ファイルずつ消すより欠けが少ないです。世代が改ざんの前であること、戻したあとに入口を閉じることをセットにしてください。戻すだけでは、同じプラグインの穴から入り直されます。世代が無い場合は、公式の核を組み立て、コンテンツを選んで戻す長く細い作業になります。
きれいな世代があるとき
戻す前に、いまの状態を証拠用へ残します。戻す対象は、ファイルとデータベースの両方です。片方だけ戻すと、投稿と画像が噛み合いません。戻したあと、ユーザー一覧、プラグイン、必須設定のURL、フォームの宛先を見てください。きれいな世代の中に、すでに不正ユーザーが混ざっていることもあります。世代の日付だけで安心しないでください。
戻したあとの公開は、社内だけで確認してからにしてください。検索側に不正URLが残っている場合、正規の画面が戻っても警告は残ります。除去と再審査は、公開面が正規になってから出します。作業完了と警告解除は別です。お客さまへの説明も、この2つを分けてください。
きれいな世代が無いとき
公式の核、公式のプラグイン、自分が持っているテーマの元、データベースの投稿を、組み立て直します。時間がかかります。急いで核だけ上書きし、追加領域を放置すると、差し込みが残ります。この組み立てを自分で進める場合も、1ファイルずつ消しながらの作業にはしないでください。消すより、正規の置き場所へ正規のファイルを置く方が、残骸の見逃しが減ります。
データベースに残った不正投稿と不正ユーザーは、一覧を出してからまとめて止めます。1件ずつゴミ箱へ入れる作業は、漏れます。漏れを避けるため、更新日と著者と本文の特徴で絞った一覧を先に作ってください。自分で一覧を作れないなら、組み立ての途中で止めて引き渡す方が安全です。
WordPress改ざん復旧のあと
画面が戻っても、入口が開いたままなら同じ週に戻ります。復旧のあとは、パスワード、ユーザー、プラグイン、更新、バックアップの保存先、検索側の不正URL、この順で閉じてください。閉じる作業を「あとで」にすると、応急の緊張が解けたタイミングで抜けます。カレンダーに、復旧日から1週間の確認を書いてください。
閉じてから見るもの
管理者メールに届くログイン通知、Search Consoleのセキュリティ、フォームのテスト送信、ホストの不正利用メール。この4つが1週間静かなら、公開面だけの安心より厚いです。静かでないなら、残った差し込みか、残った入口があります。そのときは、またファイルを消しにいかず、一覧を取り直してください。
復旧で使った証拠用の写しは、すぐ捨てないでください。再発したときに、前回との差分が手がかりになります。ただし公開領域には置かないでください。別領域へ期限を決めて残します。社内の共有フォルダに暗号化せず置くのも避けてください。写しの中に、接続情報と個人情報が混ざることがあります。残す期限と捨てる担当を、復旧の報告と同じ紙に書いてください。期限が無い写しは、翌年も共有フォルダに残り、漏えいの材料になります。
再発を前提にした運用
一度改ざんされたサイトは、同じ作りのまま放置すると戻りやすいです。更新の担当、バックアップの担当、見る担当を名前で置いてください。名前が無い運用は、また誰も見ない状態に戻ります。月次で本体とプラグインを確認し、日次で別領域へ残す。この2つが続くなら、改ざんのあとの空白は短くなります。
WordPress改ざんを自分で難しいとき
兆候の一覧が作れない、ファイルのどれが正規か分からない、削除してよいか判断できない、という段階では、自分で直す作業を止めてください。止めた状態の方が、中途半端に消した状態より渡せます。公開URL、いつからおかしいか、管理画面に入れるか、バックアップの有無を書いて、サイト改ざん・マルウェア駆除へ送ってください。緊急は税別29,800円からです。
渡す前にやっておくこと
証拠の上書きをしない、怪しいファイルをまとめて消さない、公式パッケージで核を被せない。この3つを守ったまま待ってください。できる範囲で、画面の写しと、ユーザー一覧と、最後に正常だった日を残してください。残っていない場合も、無理に作り直さなくて構いません。無い前提で切り分けます。
隔離の操作まで進んでいる場合は、その時刻も書いてください。ハッキング直後の隔離はまずやることにあります。改ざんとハッキングは重なりますが、この記事は検知と触らない範囲、向こうは初動と隔離です。両方を読んでから手を動かすと、消し過ぎを避けられます。日常の監視へ載せる場合は、スタンダード月額17,800円以上の24時間365日が入口です。料金の比較は料金ページにあります。
自分で公式パッケージを核へ被せ始めた途中でも、途中で止めてください。被せたファイルの名前と時刻が分かれば、その記録を添えて渡せます。分からなくても、これ以上上書きしないことが次の作業です。上書きを続けて「きれいにしてから頼む」は、経路を消した状態で頼むことと同じです。きれいさより、触った範囲のメモの方が役に立ちます。
あわせて見る
相談
改ざんの兆候はURLを先に送ってください
公開URL、いつからおかしいか、管理画面に入れるかを書いてください。ファイルを消す前に、点検か緊急かを分けて返します。