※社内専用

WordPressの改ざん対応について

改ざんには
① 不正ファイルの追加
② 既存ファイルの書き換え
の2種類があり、特に②は特定が困難なため、
基本的にフォルダごと新規ファイルへ差し替えして対応する。


新規ファイルの準備

既存サイトと同じマイナーバージョンの最新版に差し替えるため、事前に用意しておく。

同じマイナーバージョンの最新版とは

例えば、WordPressのバージョンが5.7.1だった場合
5.7までがマイナーバージョンに該当する。
5.7.xの最新版を探せば良い。(記述時点の最新は5.7.4)

既存サイトのバージョン確認

既存サイトのホスティングのwp-includes/version.phpファイルの中に記述があるので、確認する。
$wp_version = 'x.x.x';

新規ファイルのダウンロード

下記サイトからダウンロードする。
WordPress 全てのリリース
必ず同じマイナーバージョンのファイルをダウンロードする。


差し替え対象ファイル

※下記は標準的なWordPressのファイル構成


①バックアップをして削除する

サイト毎に編集の必要がないファイルのため、削除もしくはリネームしてから新規ファイルに差し替える。
上書きは不可
予期せぬトラブルが起きたとき復元できるよう、必ずバックアップをとって作業する。

フォルダのバックアップ

フォルダ(wp-adminwp-includes)のバックアップに関してはリネームで対応する。
トラブルがおきた場合、ホスティング内でリネームを戻すことですぐに復元できるようにするため。
フォルダは重いためローカルからのアップロードでは時間がかかりすぎる。
リネームの際はフォルダ名の先頭にアンダーバーをつけるなどしてわかりやすい名前にしておく。(_wp-admin_wp-includes

ファイルのバックアップ

上記以外の対象ファイルについてはローカルにバックアップをとった上で、ホスティングより削除する。

新規ファイルのアップロード

用意した新規WordPressのファイル郡から、wp-content除いた全ファイル・フォルダをアップロードする。
ちなみに、削除の除外対象の.htaccesswp-config.phpについては新規WordPressファイルには存在しない。

②残す、もしくは中身を精査する

サイト毎にユニークな内容、もしくは追記されている可能性のあるファイルのため基本的に残しておく。
絶対に削除しないこと

ファイルの中身を確認する(.htaccesswp-config.php

改ざんによって不正な記述が追記されている可能性があるため、
.htaccesswp-config.phpについては内容を確認し問題あれば不正な記述を削除するなりして対応する。
正しく稼働しているWordPressを見つけてきて、内容を照らし合わせて確認すると良い。

wp-contentフォルダについて

不正ファイルが入っている可能性があるため、フォルダ内の全ファイルを確認する。
全てを目視は現実的ではないため、下記のように対応する。
  • プラグイン
    プラグインそのものを新規データに差し替える。
    バージョンは必ず完全一致させ、削除→アップロード**で対応する。
    上書き不可(不正な追加ファイルがあった場合残ってしまう)
  • テーマ
    使ってなさそうなWordPress標準テーマは削除する。不明なものは有料の可能性もあるため残して目視。
  • 上記以外
    全フォルダ、ファイルを目視しファイル削除もしくは不正記述部分を削除して対応する。
    uploadsフォルダ内に画像を偽装しているケースもあるので、ファイル名や更新日時、パーミッションを見て判断する。


最後に

  • リネームしたフォルダは必ず削除する。(_wp-admin_wp-includes
    改ざんファイルが含まれていた場合、置きっぱなしにすることで脆弱性が残る可能性がある。
  • ファイル・フォルダのパーミッションにも注意する
    ここまでやってもうまく行かない場合(ブラウザで表示されない等)はファイル・フォルダのパーミッションが変更されていないかをチェックする。
    パーミッションは基本的にファイルが644、フォルダが707だが内容や制作時期によって異なるため、適当な正しく動いているアカウントと比べて設定するのが良い。