WordPress「脆弱性を第三者に悪用されてしまった」「不正ファイル」の解決法

Wordpressファイルの改ざん 解決法

今回、エックスサーバーにて、脆弱性を第三者に悪用され「不正ファイル」(ウイルス・マルウェア)を埋め込まれてしまいました。
がしかし、エックスサーバーのサポートおかげで解決できたので、その流れを備忘録としてシェアします。

1:サイトのエラーが頻発

該当サイトにエラー(Fatal_ERROR)が表示されるようになりました。
自分で、Wordpressをアップロードし直して、改善していたのですが、すぐにエラーが起こるので、サポートに相談しました。

2:サポートの回答

その時のメールがこちら
当サポートにて確認をいたしましたところ、
お客様にて仰せの通りWordPressの構成ファイルが
破損している、もしくは欠損しているようでございます。

つきましては、エラーが発生する直近においてWordPressの
ダッシュボード上で何らかの操作をされたお心当たりがないかなど
具体的な状況をお書き添えの上でご連絡くださいますようお願いいたします。

※ テーマ・プラグインの更新をされた、記事の投稿をされたなど
  可能な限り具体的にお知らせいただければと存じます。

上記のメールをいただき、思い当たることを返信しました。

3:「不正なファイル」の検出

その結果、「不正ファイル」が検出され、サポート側から強制的にWEBアクセス凍結されます。
その時のメールがこちら
当サポートにてセキュリティ調査を行いましたところ、
お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。

そのため、事後のご案内となり大変恐縮でございますが、
緊急措置として下記制限を実施しております。

▼サポートにて実施した制限内容
——————————————————-
・当該サーバーアカウントに対する緊急的なWebアクセス制限を実施

※上記処理に伴い、Webアクセスを行うと403エラーとなる状況です。

※複数ドメインにて不正ファイルを検知しておりますため、アカウントに対する制限となっておりますことをご承知おき下さい。
——————————————————-

スパムメールの大量送信やフィッシングサイトの開設などの
『不正アクセス』によるさらなる被害の発生を防ぐため、
上記対応を実施しましたことを何卒ご了承くださいますようお願いいたします。

不正アクセスの対策と制限の解除手順につきましては、
下記をご参照くださいますようお願いいたします。

■目次■
————————————————————-
【1】サポートにて実施したセキュリティ調査について
【2】Webアクセス制限の解除方法について
【3】お客様に行っていただきたい対応内容について
【4】推奨される設定について
【5】自動バックアップ機能について
————————————————————-

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【1】サポートにて実施したセキュリティ調査について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

お客様の上記サーバーアカウントにおいて
以下の不正なファイル(ウイルス、マルウェアなど)が検出されるとともに、
日本国外からの不審なアクセスを確認いたしました。

[検出された不正なファイル] ————————————————————
※ファイルが表示されます。

※その他、複数ドメインにて多数の不正ファイルを検知しております。
————————————————————

[不審なアクセスログの一部] ————————————————————
※アクセスログが表示されます。
————————————————————

検出された不正なファイルやアクセス先のファイルは
不正に設置または改ざんされている可能性が高くございます。

なお、不正アクセスの根本原因は下記パターンに大別されます。

▼不正アクセスの根本原因
————————————————————
(1)お客様が運用中のプログラム(WordPress等)において
[1]プログラム(WordPress等)の管理パスワードが流出し、第三者に不正ログインされた。
[2]セキュリティ上問題のある致命的なバグ(脆弱性)が存在し、第三者に脆弱性を利用された。

不正ログインされる、もしくは脆弱性が存在する場合、WordPressに限らず
下記のような操作をプログラム経由で実施されてしまう可能性がございます。

(一例)
・WordPressやFTP、メール等のアカウントのID、パスワードの奪取
・不正なアカウント、不正なファイルの設置
・既存ファイルの改ざん
・他者への攻撃の実行
・不正なコンテンツ、フィッシングサイトの公開・開設

(2)お客様のサーバーアカウントに関するFTP情報が流出し、
第三者に不正にFTP接続をされた。

→FTP操作自体によるファイル改ざんはもとより、
任意のプログラムを設置することでどんな操作でも実行できてしまいます。
————————————————————

お客様のサーバーアカウントにおいては不審なFTPアクセスが見られないことから、
消去法的なご案内となりますが、
プログラム(WordPress等)の管理パスワードが流出しプログラムを悪用されたか
お客様が運用中のプログラムの脆弱性を悪用されてしまった可能性が高いものと思われます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【2】Webアクセス制限の解除方法について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

次項【3】の [2] に記載しております「サーバーアカウント上に設置された
ファイルの削除」を行っていただき、サポートまでお知らせください。

************************************************************
この度のような不正アクセスの被害に遭われた場合、
検出された不正なファイル以外にも、他の不正なファイルや
バックドア(不正アクセスを容易とする仕組み)などが
設置されている可能性が考えられます。

また、プログラムはその仕組み上、上位フォルダに対する
ファイル操作(ファイルの設置や編集)も行えてしまいます。

そのため、凍結の解除にあたっては、検出された不正なファイルだけではなく、
サーバーアカウント全体のすべてのファイルを削除していただくよう
お願いしております。
************************************************************

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【3】お客様に行っていただきたい対応内容について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

お客様のPCや運用中のサイトのセキュリティ対策は
お客様ご自身にて管理を行っていただく責任がございます。

この度の不正アクセスについて、原因を根絶し、不正に設置されたファイルや
改ざんされたファイルをサーバーアカウント上から完全に駆逐するため、
大変お手数ですが、下記作業をなさいますようお願いいたします。

───────────────────────────────────
[1] ご利用のPCにてセキュリティチェックを行ってください。

————————————————————–

お客様のご利用PC端末にてセキュリティソフトを最新版に更新していただき、
ウイルスチェックと駆除をおこなってください。

また、Windows UpdateやAdobe Reader、Flash Playerなどの
ご利用PC端末にインストールされているソフトウェアにつきましても、
最新版へ更新してください。

※本件はプログラムの脆弱性に起因する不正アクセスの可能性が高い状況では
ございますが、念のため上記ご確認をお願いいたします。

───────────────────────────────────
[2] サーバーアカウント上に設置されたファイルを全て削除してください。

————————————————————–

お手数ですが、下記の手順にて「独自ドメイン」「初期ドメイン」、および
「その他のフォルダ」に設置されたファイルの削除をお願いいたします。

※この作業による、データベースの初期化・削除はございません。

【!】ご注意ください

下記の作業により、お客様のサーバーアカウント上に設置されている
ホームページデータやメールデータおよび各種設定がすべて削除されます。

画像、プログラム、設定ファイルやメールデータ、メールアドレス一覧などの
必要なデータは事前にバックアップを取った上でご対応ください。

————————————————————
◆「独自ドメイン」のデータ削除について

「サーバーパネル」→「ドメイン設定」より、設定中のドメイン名を
すべて削除してください。

※オプション独自SSL証明書が設定されているドメインに関しては
「ドメイン設定」より対象ドメインの「初期化」より
「ウェブ領域・設定の初期化」をご利用ください。

◆「初期ドメイン」のデータ削除について

「サーバーパネル」→「ドメイン設定」へアクセスしていただき、
削除が不可能な初期ドメイン名を「初期化」してください。

※「ウェブ領域・設定の初期化」をご利用ください。

◆「その他のフォルダ」のデータ削除について

FTPソフトや「ファイルマネージャ」でサーバーアカウントを参照し、
アクセスした際に表示されるフォルダが以下のみになることを
ご確認ください。

・「初期ドメイン名」のフォルダ
・(オプション独自SSLを利用している)「ドメイン名」のフォルダ
・「ssl」フォルダ

上記以外のフォルダやファイルが存在する場合、
FTPソフトやファイルマネージャーにて個別に削除してください。
————————————————————

───────────────────────────────────
[3] [2]をご対応いただきましたら、サポートまでお知らせください。

————————————————————–

ファイルがすべて削除されていることをサポートにて確認できましたら、
Webアクセス制限解除のお手続きをいたします。

制限解除お手続きは、[2]完了のご連絡をサポートが確認しましてから
早ければ当日中、お時間がかかる場合にも翌日中には完了いたします。

なお、お客様からサポートへご連絡いただく際は、外部フリーメールや
プロバイダーのメールなど受信可能なメールアドレスをご利用ください。

【!】サーバー内にデータが残っていないかご確認ください

当サポートへご連絡いただいた際に、サーバー内にデータが残ったままで
あるため、再度、お客様へデータ削除をお願いする事例が多くございます。

データが残っておりますと、制限を解除することはできません。

サポートにお知らせいただく事前に、前項[2]の作業が
すべて完了していることをご確認ください。

───────────────────────────────────
[4] FTPソフトによるデータアップロードなど、
ホームページ再開のための作業を行ってください。

————————————————————–

サーバーパネルの「ドメイン設定」より独自ドメインの運用設定を
改めて追加していただき、FTPソフトによるファイルのアップロードや
メールアドレスの設定など、ホームページ再開のための作業を行ってください。

凍結時点のデータは不正に改ざんされているデータを含む可能性や
セキュリティ上問題がある可能性がございます。

再発防止のため、セキュリティ上問題のない、改ざんされていないクリーンな
データをアップロードなさいますようお願いいたいます。

※CGIプログラムをご利用の場合はパーミッションの変更にご注意ください。

───────────────────────────────────
[5] 該当ドメインにて設置されていたプログラムにおいて、
脆弱性の調査を必ず行ってください。

————————————————————–

不正アクセスの原因を明確にした上で、
ホームページの運用を再開なさいますようお願いいたします。

※不正アクセスの原因を特定しないままホームページを再開した場合、
再度同様の被害に遭う可能性が非常に高くなってしまいます。

◆「WordPress」や「Joomla!」などのCMSツールをご利用の場合、
脆弱性が発表されていない最新バージョンを必ずご利用ください。
旧バージョンのCMSツールには、脆弱性が報告されているケースが
非常に多くございます。

また、プラグインやテーマファイルにつきましても、
最新のものを新規にインストールしていただくことを推奨いたします。

───────────────────────────────────
[6] 設置されているWordPress等の設置プログラムについて管理パスワード変更してください。

————————————————————–

WordPress等の設置プログラムにて、管理画面より管理パスワードの変更をお願いいたします。

既に【パスワードが攻撃者によって特定】されており
悪用されている可能性が非常に高い状況です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【重要】管理パスワードの変更をお願いいたします
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
パスワード総当り(ブルートフォースアタック)による攻撃や、
お客様が運用中のプログラムに脆弱性が存在し、
該当脆弱性を悪用され、不正にアクセスの被害にあわれた可能性が高いものと思われます。

※これまでと同じパスワードは絶対に設定しないでください。
また、アルファベット・数字を絡めた、第三者に推測されづらい
パスワードをご設定ください。

※念のため、今回不正アクセスが発生しておりましたドメイン以外の
WordPress・その他設置プログラムでも、同様に管理パスワードの変更をご検討お願いいたします。

───────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【4】推奨される設定について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

お客様のウェブサイトにてPHPプログラムをご利用の場合、
サーバーパネルの「php.ini設定」にて
「allow_url_fopen」および「allow_url_include」をいずれも
「無効(Off)」にすることを強くお勧めいたします。

◇マニュアル:php.ini設定
https://www.xserver.ne.jp/man_server_phpini_edit.php

※上記設定項目は「外部ファイルを読み込む/実行する」操作に対する可否設定です。

ご利用のプログラムにより、上記それぞれの設定を「On」にする
必要がある場合もございますが、外部からのデータ読み込み等が必要ない場合、
これら設定は無効にしたうえでプログラムをご運用ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

なお、今後、同様の状況が再度確認された場合、
さらなる制限を実施する可能性がございます。

不正アクセスによる被害の発生・再発を防ぐための措置でございます。
何卒ご理解くださいますようお願いいたします。

以上、何卒よろしくお願い申し上げます。
ご不明な点などございましたら、お気軽にお問い合わせください。

注意
サーバー上の、ファイルをすべて削除するので「サイトが消える!」と焦るかもしれませんが、Wordpressの場合、記事はデータベースに保存されているので、復活・復元できます。

画像ファイルに関しては、エックスサーバーでは、自動バックアップ(1週間の間)をとっており、成功すれば画像ファイルも復元できます。

4:指示通りに削除

メールの指示通りに、ドメイン削除し、サーバー内のファイルもすべて削除しました。
サーバーのファイルを削除したら、サポートへ連絡します。
しっかりと、ファイル削除を確認してもらえたら、WEBアクセス凍結を解除してもらえます。

追記:4-1 ディレクトリを削除できない場合

phpファイルは削除できるけど、ディレクトリが削除できないケースがあります。

その場合は、パーミッションを000⇒755に変更すると削除できるようになりました。



※改ざんが発覚した時点で、エックスサーバー側から、勝手に000に変更させられてしまう。

5:WEBアクセス凍結の解除

その時のメールがこちら
先ほどサーバーアカウントにおける
WEBアクセス凍結を解除いたしました。

※本来、無料独自SSLを設定中のドメインにつきましては、
SSL設定を削除し、ドメイン設定の削除も必要でございます。

再度ドメイン設定やデータのアップロード等
行っていただければと存じますが、WEB凍結時点でのデータから
【不正ファイルとして検出されたものだけ】を削除して
再度アップロードすることはお避けください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

不正アクセスが確認された時点のデータを再度アップロードされますと
また同じ問題が発生する可能性が【極めて高い】ものでございます。

改めて【クリーンなデータ】を用いて
WEBサイトの再構築を行ってくださいますようお願いいたします。

※再アップロードの際はWEBサイト作成時などの、改ざんの疑いのない
クリーンなデータを用いていただくか、各ファイルを1つ1つ
地道に不審な部分がないかをご確認いただいた上で
アップロードを行ってくださいますようお願いいたします。

万一、また同じ問題が再発した場合などは
より長期のWebアクセスの制限などを実施することとなりますので
十分ご注意くださいますようお願い申し上げます。

※ドメイン設定の追加後にアクセスが可能となるまで
最大1時間程度、反映にお時間がかかりますのでご注意ください

6:サイトの復元

WEBアクセス凍結を解除してもらえたので、サイトを復元していきます。
復元方法に関しても、サポートからご教授いただけました。

その時のメールがこちら
WordPressはサーバーに残っていたデータを使うことなく
クリーンなデータだけで元の状態に戻していただくことが可能です。

※ WordPressの記事データはFTPサーバー側ではなく
『MySQLデータベース』に保存されておりますが
MySQLデータベースは削除していただく必要はございません。

PC側にWEB凍結前後のデータが残っておりましたら
WordPressの「wp-config.php」の設定をご確認いただき、
そのWordPressで利用しているMySQL関連の情報を
メモなどにお控えください。

・MySQLデータベース
・MySQLデータベースユーザー
・MySQLデータベースユーザーのパスワード
・MySQLホスト

「wp-config.php」に上記の設定が記載されておりますので
情報をご確認くださいますでしょうか。

WEBアクセス制限の解除後は「https://ja.wordpress.org/」から
最新のデータをダウンロードし、それをサーバー上にアップロードして
いただき、MySQL関連の設定については「wp-config.php」の内容を
控えていただいたものを再設定していただければ、記事データなどの
復旧は可能です。

プラグインやテーマについては改めてダッシュボードから
適用をやり直していただくのがよろしいかと存じます。

※ プラグインやテーマに脆弱性が含まれている可能性もございます。

※ ダッシュボードからアップデートすることができないものについても
各テーマ・プラグインの配布サイトから最新版をダウンロードして
再度ご利用いただくことをお勧めいたします。

また、上記手順にてWEBサイトを復旧されましたら
基本的には以下のような対応をお守りいただくことで
脆弱性からの不正アクセスは避けていただくことが可能です。

・こまめにWordPressのダッシュボードへログインしていただき、
WordPress本体、テーマ、プラグインにアップデートがあれば
速やかに最新バージョンへのアップデートを行う。

・半年以上アップデートされていないような
テーマやプラグインはダッシュボードから「削除」する。

・各種パスワードは定期的に変更しつつ、
推測されないようにランダムな文字列にて設定する。

復元に関して、私の体験を追記しておきます。
1:新しいWordpressをダウンロード
2:Wordpressファイルを該当URLにアップロード
(wp-contentフォルダも新しいものを利用)
3:バックアップより、「wp-config.php」の情報をメモにコピー
4:URLにアクセスすると、初インストール時の設定画面になるので、データベース情報をペースト
5:ログインができるようになる
6:「テーマ」「プラグイン」「パーマリンク設定」「ウィジェット」を、以前のものに修正
(プラグインをダウンロードしたら、以前の設定を記憶している場合がほとんど。)
(個別ページが表示されない場合は、パーマリンク設定で直る)
(トップページ戻らない場合は、サーバー上のindex.htmlを削除)
(過去のウィジェット設定は、停止中に移動していることがある)
7:画像ファイルをバックアップより、再アップロード
(画像ファイルに関しては、バックアップからしか復元はできない)
(なので、アップロードの際は、怪しい文字列のファイルが混じっていないか、注意してからアップロード)
(日本語のファイル名は、文字化けを起こして読み込まないことがあるので、ダッシュボードに直接再アップロードすると可能)
(もし、自分でバックアップをとっていなかったのなら、エックスサーバーの無料機能である、自動バックアップより、ダウンロード可能)
自動バックアップのダウンロード方法を見る

7:サイトを閲覧し、問題なければOK

以上となります。
エックスサーバーでは、サポートの返信も早いです。
だいたい、2時間以内に返ってきます。
参考にしてください。