【WordPress】白い背景とテキストだけになった時の対処方法

【WordPress】白い背景とテキストだけになった時の対処方法

ある日、管理画面にログインしたら、
ダッシュボードが白い背景とテキストだけになっていました(´•ω•`)

記事投稿のページ等のリンクを踏んでみたところ、
「403 Forbidden」となってしまい、ページにアクセスできず、、

Memo

「アクセスしようとしたページは表示できませんでした。403 Forbidden」
このエラーは、表示するページへのアクセス許可がなかったことを意味します。

こうなってしまったのは以下のような原因が考えられます。
・アクセスが許可されていない(パーミッション等によって禁止されている)。
・デフォルトドキュメント(index.html, index.htm 等)が存在しない。

そして実際のサイトを見てみると「Access denied.」のみの表示でした。

Memo

「Access denied.」は
「アクセスが拒否されました。」という意味です。

せっかくGoogleアドセンスの審査も通過して、
じわじわ収入がはいってきていたのに詰んだ、、

原因

焦ってGoogle先生に聞きまくるも解決できず、、
次の日になるとXserver様からメールが来ていまして、
そこに原因が書いてありました。

メール内容①アクセス制限した経緯

【エックスサーバー】■重要■お客様のサーバーアカウントにおける不正なアクセスの検知および制限の実施について

お客様のサーバーアカウントにおいて、
サーバーに対する負荷が著しく高い状況を確認いたしました。
この度の負荷上昇に際してプロセスの稼働状況を確認しましたところ、
以下の不正なプロセスが多数稼働しておりました。
これを受け、当サポートにてセキュリティ調査を行いましたところ、
お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。
そのため、事後のご案内となり大変恐縮でございますが、
緊急措置として下記制限を実施しております。
(中略)

▼サポートにて実施した制限内容
————————————————————
・ドメイン全体において「WordPressセキュリティ設定」の全機能を有効化
・ドメインにおいて「WAF設定」の全機能を有効化
・設置されていた不正プログラムファイルについて、パーミッションを「000」へ変更し、機能を無効化

  ←スペース

第三者に悪用されてしまった形跡があったから、
Xserverのアクセスが制限されてしまったのですね(´•ω•`)

メール内容②第三者に悪用された原因

自分のサーバーアカウントにおいて、不正なファイル(ウイルス、マルウェアなど)が検出され、さらに日本国外からの不審なアクセスを確認されており、第三者によっていくつものファイルが、不正に設置または改ざんされている可能性が高いとのこと。

なぜ、不正アクセスされてしまったのか?
というのもメールに記載してありました。

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

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

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

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

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

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

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

言われてみれば予測できそうなパスワードにしてしまっていたな(´•ω•`)

Attention

パスワードは短くて簡単なものや、
予測しやすい(生年月日)などは本当にやめたほうがいい\_(・ω・`)ココ重要!

ブログ復旧作業の全体の流れ

復旧作業の流れについてはXserver様からのメールに記載してありました。

[1] ご利用のPCにてセキュリティチェックを行ってください。
[2] 検出されているすべてのファイルの完全削除 または、該当ドメイン名を「初期化」してください。(※以下のいずれかの手順を実施)
ケース1■検出されているすべてのファイルの完全削除する場合 (※推奨)
ケース2■該当ドメイン名を「初期化」する場合 ※該当ドメイン名のウェブ領域に設置されたすべてのファイルが削除されます
[3] FTPソフトによるデータアップロードなど、ホームページ再開のための作業を行ってください。
[4] 該当ドメインにて設置されていたプログラムにおいて、脆弱性の調査を必ず行ってください。
[5] 設置されているWordPress等の設置プログラムについて管理パスワードを変更してください。

ふむふむ、
この通りにやっていけばいいのか_φ(・_・ )

しかし疑問なのが、
「記事とかプラグイン設定とかバックアップしなくていいの?」
ということである。

これもXserver様に確認したところ、
指示されている復旧手順の[2]の中に2つのケースがありますが、
・「ケース1」の場合は不要!(Xserverが推奨している)
・「ケース2」の場合は初期化をするので必須!
ということでした(∩’-‘⊂)シュッ

今回はバックアップが不要な「ケース1:検出されているすべてのファイルを完全削除する」の手順で復旧をしていきますが、何が起きるかわからないので、念の為バックアップを取っていきたいと思います( *˙ω˙*)و グッ!

Attention

当サイトはサイト復元に失敗しても一切の責任を追いません。
記事の内容は参考程度にして頂き、サーバーの方の指示に従って進めてください。

Point

わからないことは都度サーバーの方に聞けば、サポート内に限り親切に細かく丁寧に教えてくれるので、どんどん頼りましょう!

Memo

ケース2の「初期化をする手順」を実施する場合は、ゆうまる様のブログがとってもわかりやすくオススメ!
https://yuumarublog.net/x-server-restoration/#index_id0

必要ファイルのバックアップ取得

バックアップ前の準備(※推奨)

検出されているすべてのファイルをスプレッドシート(Excel)等に
リストアップしておくと、後程絞り込み等も出来て作業が捗りますのでおすすめです!

Point

以下の項目があると良いです!
・ファイル名
・削除完了チェック
・WordPressフォルダからアップロード完了チェック
・備考

バックアップ取得する方法

バックアップ取得方法は以下の2種類あります。
①各サーバーのファイルを管理するシステムからバックアップを取得(今回紹介する方法)
②FTPソフトを使用して取得

上記①の場合、Xserverをご利用の方は ファイルマネージャを使うことで、FTPソフトを使わず簡単にバックアップを取得することが可能なので、今回は「Xserverでのバックアップ取得手順」を解説していきます(∩’-‘⊂)シュッ

Point

Xserver以外のサーバーをご利用の方でも保存するファイルは同じなので、参考にしてみてください!!\_(・ω・`)ココ重要!

Memo

FTPソフトとは、
自分のPCのローカルとサーバー上のファイルのやりとりできるツールです

Mac/Windows対応している「FileZilla」が使いやすいので、
FTPソフトを使う方は以下の記事を参考にしてみてください!
【Mac】FTPクライアント「FileZilla」インストール/設定手順の解説【初心者向け】

バックアップすべきファイル

色々しらべた結果、以下のファイルをバックアップすべきだと判断しました。
・wp-config.php:データベース名やパスワード情報など
・uploads:記事に使っている画像
・themes:ブログのテーマ
・plugin:プラグイン本体

記事データについては、今回不正アクセスされた「FTPサーバー」とは別の「MySQL」というデータベースに保管されているため、バックアップする必要はありません!

Memo

プラグインの設定は「wp_options.php」に保存されている場合もあるらしいが、
大抵はMySQL内ににあるのでとりあえずバックアップは不要とのこと。

バックアップ取得する手順

それでは、必要なファイルをバックアップしていきましょう!

Xserverの「ファイルマネージャー」を選択

Memo

Xserverトップページの「ファイル管理」をクリックしてもOKです!

・各階層で必要ファイルを自分のPCにダウンロードする
ドメイン名 > publid_html の階層下にあるwp-config.php

ドメイン名 > publid_html > wp_content の階層下にあるuploads、themes、plugin
の3つもダウンロードしましょう
※フォルダのまま保存は出来ないので、圧縮してからダウンロードする必要があります。

Point

ドメイン(サーバー上のWebサイト)が複数ある場合は、
各ドメインの必要ファイルをバックアップしておきましょう!

Attention

バックアップを保存する際に、
パーミッション(権限)が「000」になっているファイルがあった場合は
必ず削除してから保存してください\_(・ω・`)ココ重要!
(というか000のファイルがあると保存が実行できない。)

削除したファイルは、先ほど作成した「削除リスト」の横にチェックマークなどをつけておきましょう!

検出されている「不正プログラム」ファイルの完全削除する手順

必要なものをバックアップができたところで、
メールで送られてきた「不正プログラムと思われるファイル一覧」にあるファイルをFTPサーバーから一つずつ探して全て削除いきます。

以下、Xserver様からの指示内容。

 ───────────────────────────────────
ケース1■検出されているすべてのファイルの完全削除する場合 (※推奨)
───────────────────────────────────
前述「サポートにて実施した制限内容」にリストアップされている
[不正プログラムと思われるファイル一覧]に記載されている【すべてのファイル】について
ファイルの削除を実施してください。

※ファイルを別の場所に移動させる、ファイル名を変更するといった対応は効果がございません。

※パーミッションが000となっているものを削除せず、他者が実行できる状態にすると
不正な攻撃が再発し、サポートにおいてより強い制限を実施する可能性がございます。

※バックアップや作業用端末に保存されているファイルもすでに汚染されている可能性がございます。
再発防止のため、セキュリティ上問題のない、改ざんされていないクリーンな
データをアップロードなさいますようお願いいたいます。

削除手順

・選択して「削除」するだけパーミッションを「705」に変更してフォルダごと削除しましょう!

Point

削除したファイルは、
先ほど作成した削除リストの横にチェックマークなどをつけておきましょう!

・フォルダに鍵のマークがついている場合
削除してもフォルダだけ残ってしまう可能性があります!

パーミッションを「705」に変更してフォルダごと削除しましょう!

Attention

フォルダが残っていると後で不具合が起こる可能性があるので必ず削除すること\_(・ω・`)ココ重要!

Point

リストにあるファイル名がサーバー上にない場合は
不正プログラム側にて削除された可能性があるとのことなので、気にしないでOK(Xserverに確認済み)

WordPressへ必要なファイルをアップロードする

先程のステップで、不正なファイルと一緒に削除してしまったWordPressを正しく機能させる為に必要なファイルをアップロードする必要があります!

また、再発防止の観点から、セキュリティ上問題のない「改ざんされていないクリーンなデータ」をアップロードする必要がある為、
新しくWordPressをダウンロードし、削除したファイルリスト(スプレッドシート)の中から、必要なファイルをアップロードしていきましょう!

以下、Xserver様からの指示内容。

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

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

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

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

以下、イメージ図

必要なファイルをアップロードする手順

・WordPressのダウンロード
まずは最新のクリーンなファイルをゲットするために、 WordPress公式サイトからWordPressファイルをダウンロードしましょう!

・削除したファイルリストを確認して、同じ名前のファイルをアップロードする
この時「simple.php」という名前のファイルは不正ファイルなので除外してしまいましょう!

Memo

上記のリストのファイルが、インストールしたWordPressフォルダ内にない場合もある。
自分の場合は、該当した以下ファイルのみをアップロードすることで復旧できました!
・index.php
・template-loader.php

これで自分のサイト見れるようになったぁーᕕ( ᐛ )ᕗはっはー
と喜んでダッシュボード画面を確認するとバグっている。。

Xserver様に問い合わせてたみたところ、以下の返答を頂きました。

お知らせの事象は、ドメイン「disneyprogramming.info」の
「.htaccess」ファイルが改ざんされていることに起因をしているようです。

そのため、サーバーパネル「.htaccess編集」より該当ドメインを選択し、
以下の記述を削除していただき、改善されるかどうかをご確認ください。

▼削除してください。
——————————————————————
<FilesMatch “.(py|exe|php)$”>
Order allow,deny
Deny from all

<FilesMatch “^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php|wp-l0gin.php|wp-theme.php|wp-scripts.php|wp-editor.php)$”>
Order allow,deny
Allow from all

——————————————————————

…というわけで、
「.htaccess」の中身を編集していきましょう!

「.htaccess」の編集

Xserverの「サーバーパネル」を選択

・サーバーパネルの「.htaccess編集」を選択

・編集するドメインを選択

・指定のコードを削除して「確認画面へ進む」をクリック

・削除できたのを確認したら「実行する」をクリック

これでダッシューボードも見えるようになりました(「・ω・)「!!

脆弱性からの不正アクセス再発防止策!

今回パスワードが特定された為に起きたハッキングなので、
同じことが起きないように推測されにくい長めのパスワードを設定しましょう\_(・ω・`)ココ重要!

以下、Xserver様からの指示内容。

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

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

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

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

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

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

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

WordPressの管理パスワードの変更

プロフィール編集画面から変更します。

Xserverの管理パスワードの変更

公式HPの 各種パスワードの再設定を参考に、以下のパスワードを変更しましょう!!
・Xserverアカウントパスワード
・サーバーパスワード
・メールパスワード(※メールアカウント作成している人のみ)

Point

サブ追加FTPアカウントの「FTPパスワード」は「サーバーパスワード」と同じなので、
サーバーパスワードを変更済みであれば変更しないでOKです!

各パスワード変更に加えて

パスワード変更に加えて、
脆弱性からの不正アクセスを避ける為に出来る事として、
Xserver様からこんなアドバイスをいただきました!

ここに引用する文を書きます。また、Webサイトを復旧されましたら、基本的には以下のような対応を
お守りいただくことによって、脆弱性からの不正アクセスは
避けていただくことが可能でございます。

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

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

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

パソコンのセキュリティチェック

優先度は低めですが、
念の為、セキュリティチェックも実施しましょう!

以下、Xserver様からの指示内容。

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

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

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

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

あとがき

復旧お疲れ様でした!
無事サイトは復旧できましたでしょうか?

自分はXserver様に問い合わせ&調べながらの復旧作業だったので
1週間以上かかってしまいました。。

この記事が同じ症状で困っている方の助けになれば幸いです。
それでは次の記事で会いましょう!

Wordpressカテゴリの最新記事