こんにちは、ゆうまる(@yuumaru_blog)です。
大切なブログに突然アクセス出来なくなる。
考えたくもない本当に怖いことですよね。
僕は今回、そんな恐怖を体験してしまいました。
ある日、エックスサーバーから
【エックスサーバー】■重要■お客様のサーバーアカウントにおける不正なアクセスの検知および制限の実施について
というメールが届きました。

不正アクセスの検知?だ、大丈夫?
と恐る恐るメール本文を開いてみると、以下の内容が書かれていました。
お客様のサーバーアカウントにおいて、
サーバーに対する負荷が著しく高い状況を確認いたしました。
この度の負荷上昇に際してプロセスの稼働状況を確認しましたところ、
以下の不正なプロセスが多数稼働しておりました。
これを受け、当サポートにてセキュリティ調査を行いましたところ、
お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。
そのため、事後のご案内となり大変恐縮でございますが、
緊急措置として下記制限を実施しております。
(中略)
ドメインにおいて「WordPressセキュリティ設定」の全機能を有効化
ドメインにおいて「WAF設定」の全機能を有効化
設置されていた不正プログラムファイルについて、パーミッションを「000」へ変更し、機能を無効化
慌ててブログにアクセスしてみると、このようにブログが全く見えない状態に。


もうどうして良いか分からず、血の気がサーっと引いていきました。
「1年間頑張ってきた成果が無駄になるの?ちゃんと元に戻るよね?」と大焦り。
メールを読んでもサーバーの知識が全く無いので、何をどう対応すればよいか全く分からず。
今、同じような現象になり焦っている方もいるかも知れませんが、
落ち着いて対応をとればブログを元通りに戻すことが出来るので安心してください。
僕はちょうどこの時に仕事も忙しく、対応方法が全く分からないのでエックスサーバーにメールで確認しながら復元作業を行なったため、全て治るまでには6日かかってしまいましたが、無事にブログは完全に元に戻すことができました。



ブログが治るまでは毎日不安でしたが、無事に復旧出来て本当に良かったです
今同じ不具合で悩んでいる方に向けて、僕が復旧までに行なった対応方法を紹介していきます。



ちょっと長丁場になってしまいますが、頑張りましょう!!
ブログアクセス制限までの現象
なんの前触れもなくアクセス制限された訳では無く、後から思えば前兆がありました。
アクセス制限の前夜、寝る前に少しブログ作業をしようとダッシュボードにアクセスするも『403 Forbidden』エラー表示が出て記事が書けない状態に。
ただ投稿記事は見えたので、なんとなく『site:ドメイン名』で投稿記事を確認してみると身に覚えのない記事が複数投稿されていました。
「あれ?おかしいな?」と思いましたが、その時は原因も特に分からなかったので、特に対応はとれず。



どうやらその時すでに不正アクセスにより記事を投稿されていたみたいです…
後にサーチコンソールで確認してみると、ブログがおかしくなりだした日に記事が勝手にインデックスされていました。





こえ〜〜〜!!
その日は原因も特定できないままどうすることもできず、翌日仕事をしている時に今回のメールが届きました。
ブログ復旧までの作業の流れ
エックスサーバーからのメールで、以下の対応を取るよう記載されていました。
- ご利用のPCにてセキュリティチェックを行ってください。
- 検出されているすべてのファイルの完全削除 または、該当ドメイン名を「初期化」してください。
- FTPソフトによるデータアップロードなど、ホームページ再開のための作業を行ってください。
- 該当ドメインにて設置されていたプログラムにおいて、脆弱性の調査を必ず行ってください。
- 設置されているWordPress等の設置プログラムについて管理パスワードを変更してください。



いや、まじで全く分からん
っていう状態でした、最初は(笑)
本当に何からすれば良いのか分からなかったので、エックスサーバーにメールでやりとりをしながら徐々に進めていきました。
メールを送ってから返ってくるまでに2~3時間はかかるので、1日2通くらいしかやりとり出来ないため時間がかかりました。



サーバーの知識が全く無く、基本的なことを聞き返すのにさらに時間をとられてしまいました…
僕が復旧までに行なった対応は以下の手順です。
FTPソフト(FileZilla)でwp-config.phpとuploadsのバックアップをとる
サーバーファイルからメールの添付ファイルに記載してある不正プログラムを削除する
- ドメインの初期化
- WordPressの手動再インストール
- テーマの再インストール
- プラグインの再インストール
- 画像ファイルの復元
最初は意味が分からなかったですが、少しずつ調べながら対応すれば無事に復旧出来ました。
それぞれの対応方法について、詳しく紹介していきます。
必要ファイルのバックアップ取得
こんな状態の中、「今まで頑張って書いた記事が消えてしまっていないか」と心配になりますよね。
記事データは今回不正アクセスのあったFTPサーバーとは別の『MySQLデータベース』という所に保管されているため、記事データはちゃんと残っているので安心してください。
ただ、『画像データ・ブログテーマ・プラグイン』はFTPサーバーに保存されている為、今回の復旧作業によりデータが消えてしまいます。



え、画像データとか消えちゃうの!?



だから後で復元出来るよう、これからバックアップを取っていくよ
後に説明しますが『ブログテーマ・プラグイン』は不正アクセス再発の恐れがある為、復元ではなく改めてインストールしなおす必要があります。



そこは少しだけ手間ですが、意外とすぐ終わりました
まずは、記事データが保管されているMySQLデータベース関連のデータが入っている『wp-config.php』と『画像データ』のバックアップ取得を行います。
FTPソフトでバックアップを取得する
ここですでに「FTPソフトとはなんぞや??」とつまづいてしまいますよね。
- FTPソフトとは
-
FTP(File Transfer Protocol)と呼ばれるプロトコルを用いて、接続相手のサーバからファイルを受信(ダウンロード)したり、送信(アップロード)したりできるツールのことをいう。
まあこれを読んでもよく分かりませんが、要するに『ブログのプラグインやテーマなどのデータを保管しているFTPサーバーのファイルを取得したり送信したり出来るソフト』ってことみたいです。



僕もなんとな〜〜く分かったかな?くらいですね(笑)
記事データなどは、今回さわるFTPサーバーとは違うデータベースに保存されているみたいです。
FTP、MySQLについて説明しているサイト


まあ僕も詳しいところまではあまり理解出来ませんでしたが…
とりあえず必要なファイルのバックアップを取得するために、FTPソフトを準備する必要があります。
僕はFTPソフトに『FileZilla(ファイルジア)』を使用しました。
FilleZillaのインストール手順を解説しているサイト


FilleZillaを使って『wp-config.php』ファイルと『uploads(アップロードした画像データ)』ファイルのバックアップを取ります。
FilleZillaを使ったバックアップ取得方法





これでひとまずは安心だね
不正プログラムの削除
『wp-config.php』と『uploads(アップロードした画像データ)』ファイルのバックアップがとれたら、不正プログラムの削除をしていきます。
エックスサーバーから送られてきたメールに添付してある不正プログラムをFTPサーバーから一つずつ削除します。
(僕は50個ほど不正プログラムが記載されていました)
こちらの作業は先程のFileZillaでも、エックスサーバーのファイルマネージャからも削除することが可能です。
メールに記載してあるファイルと照らし合わせながら、パーミッションが000のファイルを削除していきます。


中にはフォルダに鍵のマークがついており、フォルダの中身は削除出来ていてもフォルダだけ消えないものがありました。


このような場合は、一度パーミッションを705などに変更すると削除することが出来ます。


先程のフォルダは『XMLサイトマップ』のプラグインのフォルダだったのですが、このフォルダが残っているせいで復旧作業の時にプラグインがインストール出来ない不具合が起こりました。
不正ファイルを削除する時は、このようにフォルダなどが消えずに残っていないか確認しながら行いましょう。
復旧後に不具合が起きる場合があります。
データの再構築を行う
これで、不正プログラムの削除対応は完了しました。
この作業をしたことでブログに必要なプログラムも削除されてしまっているので、再度ワードプレスのインストールを行います。
ドメインの初期化
ワードプレスの再インストールの準備で、まずドメインの初期化を行います。
エックスサーバーのドメイン設定 ▶︎ 対象のドメイン名の初期化ボタン ▶︎ ウェブ領域・設定の初期化
から初期化に進みます。
ウェブ領域・設定の初期化を行うことで「/home/サーバーID/対象ドメイン/public_html」以下の領域の初期化が行われます。
今回のブログ再構築の作業では、こちらのウェブ領域・設定の初期化だけを実行すればよいみたいです。
参考『ドメイン初期化方法』



初期化と聞くとびびってしまいますが、無事復旧出来たので良かったです(笑)
WordPressの手動インストール
ドメイン初期化が終われば、WordPressの手動再インストールを行います。
WordPressのインストールの流れは以下の通りです。
FTPソフトを使ってインストールしたWordPressファイルをアップロードする
WordPressインストール作業はこちらのサイトを参考に行いました。
参考『WordPress手動インストール手順』
ただ、このサイトはブログ立ち上げの一からインストールする時の手順なので、今回は若干違う点があります。
このサイトでは『ドメイン名/public_html/』の中に『wp』フォルダを作ってそこにWordPressのデータをアップロードするようになっていますが、フォルダを作る必要はなくそのまま『ドメイン名/public_html/』にアップロードすれば大丈夫です。
wpフォルダにインストールすると『http://ドメイン名/wp』にアクセスしないといけなくなります。



これは僕が騙されました…
また、MySQL(データベース)の設定はもうブログ立ち上げ時に行なっているので必要ありません。
WordPressをインストールした後に、ブログにアクセスするとMySQLデータベースに接続するためのパスを入力する画面が出てくるので


こちらに先程バックアップを取った『wp-config.php』の中に記載してあるMySQLの情報を入力していきます。
これで、ようやくブログにアクセス出来るようになります!
画像やプラグイン、テーマの設定は消えてしまっていますが、記事やヘッダーなど細かな設定はしっかり残っているはずです。



本当にブログ画面を見れて感動しました!
記事ページに飛べない不具合が起きる時は
・・・と安心していたんですけど、僕は記事の投稿編集画面にはアクセス出来るのですが、記事ページに飛ぼうとすると『404エラー』が表示される、という不具合が起こりました。



せっかく喜んでたのに!
これは全く分からなかったので、エックスサーバーに問い合わせのメールを送ったところ、
サーバーパネル内「.htaccess編集」より以下の記述を追加してくださいとの返信が来ました。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>



また分からないのが出てきた!
この記述内容については、調べてみましたけど詳しくは理解出来ませんでした。



なんかリダイレクトしてくれるもの…みたいです
またエックスサーバーのコチラの記事を参考に、送られてきたコードを追加しました。
追加したところ、記事ページに問題なくアクセス出来るようになりました!
やっとブログにアクセス出来て一安心したところで、残りの『画像データ等の復旧作業』を行なっていきます。
ブログ復旧作業
画像データはバックアップから復元作業を行いますが、テーマとプラグインは不正アクセスが再発してしまうリスクが高いため、再度インストール作業を行う必要があります。



まためんどくさそう…



ここまで来ればあとはそこまで手がかからないよ
テーマの再インストール
僕は有料テーマのSWELLを使用しているので、「テーマが消えるってもう一回買わないといけないの??」
と少し不安になりましたが、冷静に考えてみるとテーマは購入してzipファイルをダウンロードしていたので、それをアップロードするだけでした。
有料テーマのインストール方法





テーマに関する細かな設定も消えていなかったので、テーマを有効化すれば元通りでした!
プラグインの再インストール
少し手間ですが、プラグインはすべて再インストールして有効化していきます。
プラグインについても、細かな設定は残っていたので、インストールして有効化すれば終わりでした。
ついでに、不要なプラグインは削減しましょう。
今回の件で、エックスサーバーを使っているなら『BackWPup』って要らないやということに気がつきました。



最後に説明しますが、代わりにセキュリティ系のプラグインを入れておきましょう
画像データの復元
最後に、画像データの復元を行います。
画像データは、バックアップを取っていた『uploads』フォルダに保管されています。
これを、またFTPソフトを使って、バックアップしていたファイルをアップロードしていきます。



やっとFTPソフトに慣れてきたよ
ただ、FTPソフトからアップロードしただけでは、このようにブログ画面ではうまく表示出来ません。


このように?表示になってしまってちゃんと読み込んでくれません。
FTPサーバでインストールした画像ファイルをブログに読み込ませるために、プラグインを使って読み込ませていきます。
参考サイト


これでやっと画像も元通り、ブログが完全に元に戻ったはずです!



お疲れ様でした!!



疲れた〜
再発防止と気になること
再発防止について
とりあえず、無事にブログが元通りになって本当に良かったです。
ただ、また同じようなことが起こらないよう、再発防止をしなければいけません。
今回不正アクセスの考えられる原因について、エックスサーバーからのメールにはこう書かれていました。
プログラム(WordPress等)の管理パスワードが流出しプログラムを悪用されたか
お客様が運用中のプログラムの脆弱性を悪用されてしまった可能性が高いものと思われます。
それを踏まえて僕が行なった対応は
- 管理パスワードの変更
- 今後は適宜テーマ、プラグインを最新のものに更新する
を行いました。
管理パスワードの変更
まさか自分が不正アクセスの被害に遭うとは考えもしなかったので、管理パスワードってめちゃくちゃ簡単なパスワードにしてたんですよね。



今考えると、、反省です
今回改めて、パスワードを複雑なものに変更しました。
ただそれだけでは少し不安だったので、さらにセキュリティを高めるためログイン管理プラグイン『XO Security』をインストールしました。


このプラグインは不正ログインを防いでくれる機能がいくつもあるため、これでひとまず安心です。



これでもう安全なはず!
今後は適宜テーマ、プラグインを最新のものに更新する
テーマ、プラグインはセキュリティを高めるためにも、更新作業は大切だということが改めて分かりました。
今後はこまめにアップデートが出たのを確認し、更新するということを徹底したいと思います。



今回は確かに更新が滞っていました
不正アクセスをうけてから気になること
ブログも完全に元通りに戻すことが出来たのですが、一つ気になることが。
サーチコンソールを見てみると、不正に投稿された記事が『ステータス 除外』にずっと残っているままになっています。




クロール済み インデックス未登録にも記事が残っているのが気になります。
一応調べたところ、404エラーを返しているのでクロールやインデックスにも影響はなく、いずれ消えるみたいです。



影響ないみたいだけど…早く消えてほしいですね
まとめ
ブログが開けなくなった時は「終わった…」と思いましたが、無事に復旧出来て本当に良かったです。
サーバーの知識が全くないので、エックスサーバーに問い合わせながら毎日少しずつ直していく感じで本当に大変でした。



エックスサーバーのメールサポートがあって本当に良かったです
今回の件でサーバーに関する知識がちょっとついたのでよかったです。
対処法も分かって安心ですが、そうは言っても手間がかかるしバックドアというものがあるみたいなので少し心配ですね…
この記事が同じ状況になって困っている人の助けになれれば嬉しいです。
初めての方は、分からなくて不安なことが多いと思うので、何かあればエックスサーバーのメールサポートに確認を取りながら作業するのが間違いないと思います。
あなたのブログが無事に復旧できることを願っています!