サーバー全体が侵害され、複数のWordPressと周辺ファイルへ不正コードが広がった事例がありました。確認対象は数十万規模。正規データを残しながら不正コードを除去し、再侵入条件を見直し、24時間以内に公開状態へ復旧しました。本記事では、サイトや攻撃手法を特定できる情報を伏せ、対応の考え方だけを紹介します。
発生していたこと
一つのWordPressだけではなく、同じサーバー内の複数箇所に不正なファイルやコードが作られ、正常なファイルにも混入が見られる状態でした。単純に目立つファイルを数個消すだけでは、別の場所から再び動く可能性があります。
一方、サーバーを丸ごと削除すると、正常なサイト、画像、記事、設定、業務データまで失います。そこで、公開影響を抑えながら、残すものと除去するものを分ける必要がありました。
重要だった前提
「怪しい文字列があるから削除」ではなく、配置、内容、更新時刻、正規配布物との差、ログ、他の感染箇所との関係を見て判定することです。WordPressの正規ファイルにも、単純な検索では怪しく見える処理が含まれます。
対応の順番
現状を保全
調査時点の状態と重要ログを残し、作業で失われる情報を減らしました。
範囲を把握
WordPressごとの構成、正規配布物との差、異常な配置や時刻から候補を絞りました。
不正コードを除去
正規データを保護しながら、確認した不正ファイルと混入コードを除去・修復しました。
入口と権限を見直す
古い構成、資格情報、管理者、書き込み権限など、再侵入につながる条件を確認しました。
公開状態を確認
主要ページ、管理画面、フォーム、エラー、再生成の兆候を確認し、公開へ戻しました。
なぜサーバーを全部消さなかったのか
新規作成の方が合理的な場合もあります。しかしこの事例では、複数サイトと残すべきデータがあり、全削除は事業への影響が大きい状態でした。感染していないバックアップが確実にあるとも限りません。
そのため、まず現状を残し、機械的な比較と人の判断を組み合わせて、不正なものを絞りました。大量だからこそ、単純な一括削除ではなく、判定基準をそろえる必要があります。
この事例から分かること
- 「ウイルスを消す」と「安全に公開復旧する」は別の作業
- バックアップがあっても、感染前か・何を失うかの確認が必要
- サーバー会社、制作会社、復旧担当は、それぞれ役割が違う
- 大量感染でも、正規データを残せる可能性はある
- 復旧後に入口を塞がなければ、同じ状態を繰り返す
24時間以内という時間は、この事例の条件と対応結果です。すべての案件に同じ時間を約束するものではありません。早い段階で操作を止め、権限と情報がそろうほど、判断しやすくなります。
複数サイトやサーバー全体に異変がある時は。
一つずつ削除を始めず、影響範囲と現在の操作状況を教えてください。制作会社からの技術相談にも対応します。
感染・改ざんを相談 制作会社向け支援を見る