ららです。
2021年7月、とても恐ろしいことが起こりました。
所有しているワードプレスブログが不正アクセスの被害に遭い、ほとんどすべてのブログが403エラーで表示できなくなった上、サーバー上のあらゆるフォルダに不正ファイルをばらまかれ、さらに無数の不正プログラムを送りこまれて起動させられ、エックスサーバーからは厳しいお叱りのメールをいただく…という、非常に悲惨な事件です。
「え、じゃあこのブログも危険?」と思うかもしれませんが、それはもう大丈夫です。これも被害には遭いましたが、もう完璧に修正していますので。
私の回りでも同じ状況の方がおられ、サポートしている方からも相談を受けましたので、おそらく広い範囲で被害があったものと思われます。
もしあなたも同じ状況だったら参考にしていただけると思いますし、そうじゃなくて教訓になると思うので、ことの顛末を簡単ではありますがご紹介いたします。
事件が発覚したきっかけ
事件が発覚したきっかけは、とあるブログが403エラーで表示できないのに気付いたことです。


あれ?おかしいな。私が何かミスったかな?
そう思って他のブログを見て見ましたが、どれもみ~~~~んな403エラーでした。


管理画面に入ろうとしても403。





は?何が起こった?アクセス許可がないってどういうこと?
もう意味がわかりませんでした。



あ、そうか。エックスサーバー側で何かあったのかもしれない!メールを見てみよう
と思ってメールを確認したところ、
ありましたありました。エックスサーバーからのメールが。



どれどれ?お詫びとかそういう感じ?
そう思った私の目に飛び込んできたのは、しばらくその場で数分間動けなくなるには十分な、エックスサーバーからのメールでした。
エックスサーバーからの問題のメールとは?
エックスサーバーカスタマーサポートからは、2021年7月6日付でこんなメールが来ていました。
タイトル:
【エックスサーバー】■重要■お客様のサーバーアカウントにおける不正なアクセスの検知および制限の実施について
内容:
平素は当サービスをご利用いただき誠にありがとうございます。
エックスサーバーサポートでございます。
XserverアカウントID:xxxxx
サーバーID :xxxxx
ドメイン名 :(15個ものドメインがずらっと並んでいました)
お客様のサーバーアカウントにおいて、
サーバーに対する負荷が著しく高い状況を確認いたしました。
この度の負荷上昇に際してプロセスの稼働状況を確認しましたところ、
以下の不正なプロセスが多数稼働しておりました。
▼稼働していた不正なプロセス
(不正プラグラムの情報)
これを受け、当サポートにてセキュリティ調査を行いましたところ、
お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。
そのため、事後のご案内となり大変恐縮でございますが、
緊急措置として下記制限を実施しております。
(全ドメインに対してあらゆるセキュリティ上の制限をかけた旨の報告)
この度のような不正アクセスの被害に遭われた場合、
検出された不正なファイル以外にも、他の不正なファイルや
バックドア(不正アクセスを容易とする仕組み)などが
設置されている可能性が考えられます。
不正アクセスによる被害の発生を防ぐため、下記内容をご確認いただき、
ご対応下さいますよう、よろしくお願いいたします。
ここから先は、不正アクセスの被害を解決するために私がやるべき行動が300行以上に渡って羅列されていましたが、一番のキモになるのがここでした。
検出されているすべてのファイルの完全削除 または、該当ドメイン名を「初期化」してください。
不正なファイルの削除か?ドメインの初期化か?そりゃ~当然…
ファイルを削除するか、ドメインを初期化するか、どっちかをやれということです。「どちらも」ではなく「どちらか一方」です。
不正ファイルの削除とドメイン初期化では、天と地ほどの違いがあります。
だって、不正ファイルの削除は、不要なファイルが削除されるだけ。一方ドメイン初期化は、ドメイン下のファイルが全部消えてしまうんですから、そんなことは死んでもやりたくありません。
エックスサーバーから送られてきた「検出されたファイル」の数は300ほどでした。



これを削除すればいいだけなら助かったわ!
確実に私はそう思いました。
そして1つ1つ、リストにあるファイルを削除していきました。
でも。


ご想像通り、それではブログは復旧しなかったんです。
エックスサーバーからのメールは、翌日も翌々日も届きました。
そのたびに新たな「不正ファイルリスト」が添付されており、その数は数千にまで膨れ上がりました。
ドメイン初期化を決断した理由とは?



ダメ。もう無理…。ドメインの初期化しか道はないわ。
そう私を決断させたのには理由がありました。
私も一応、ワードプレス歴が10年近くになりますし、過去にはSEをやっていたこともあり、プログラムを追ったり内容を理解したりするのには抵抗がありません。
なので、犯人が仕掛けた不正ファイルを突き止めて削除したり、怪しいファイルを入れ替えたり、自分なりにかなりやってはみたのですが、どこまで直してもその仕掛けの奥が深く、
- 一見普通なのに一部の機能だけが使えない
- 一見普通なのに思わぬところにリダイレクトされる
といった症状が消えませんでした。
それに、今回は、「すべての人からアクセス拒否」と書かれた「.htaccess」という環境ファイルを、サーバー上のフォルダというフォルダにバラまかれました。
サイトに1個とかドメインに1個とか、そんな生易しい話じゃありません。
「フォルダごとに1個」です。
もしあなたが暇を持て余しているのなら、一度、1つのブログにどれだけのフォルダがあるか数えてみてください。テーマ1つ取ったって、かなりの数のフォルダがあります。
私がその時所有していたサイトの数はざっと約100個。フォルダの数は何万、何十万になるかもしれません。これを全部、2~3日のうちに正規の環境ファイルに書き替えていける人が、いったいどこにいるでしょうか(笑)
そして何よりも、このままいつまでもブログを使えない状態にしておくのもイヤですし、犯人の不正プログラムが今もどこかで動いてるかと思うと、私のブログを読んでくれる読者さんに被害が及ばないとも限りません。
いたちごっこのようなことを続けているよりも、気持ちよく全部削除して、1から全部やり直そう!
そう決意するまでには、それほど時間はかかりませんでした。
でも、ここまで10年近く運営してきたブログたちです。
あとから数えたら、
ワードプレス:46個
HTMLサイト:51個
ドメインとサブドメインの合計:18個
というボリュームでした。
本当にこれ、全部消して、復旧できるんでしょうか??


ドメイン初期化を決意した私がまず最初にやったこと4つ
とうとうドメインを初期化してサイトを全部消すことを決意したわけですが、まず私がやったことは何だと思いますか?



わかった!覚悟を決めてドメインの初期化ボタンを押すことね!
ダメです。
いくら決意を固めたからと言って、いきなり全部消しちゃうなんて、それは絶対にやっちゃいけないことです。
初期化ボタンを押す前に、必ずやっておきたいことが4つあります。
1.FTPパスワードとサーバーのパスワードの変更
これは、初期化を決断するのよりもっと先、不正アクセスが発覚した瞬間にすぐやるべきことなのですが、とにかくまずはパスワードを変更しましょう。
ワードプレスのパスワード変更は、乗っ取られているのでできません。
ログインできないブログのパスワード変更方法を時間をかけて探るよりも、根こそぎ不正ファイルを根絶するため、1分でも早くブログを消すことの方が大事なんです。
でもその代わり、サーバーログインはできるはずなので、サーバーにログインするパスワードと、FTP情報のパスワードを変更します。
今回私は、エックスサーバーからの連絡によると「FTPアカウントへの不正なアクセスは確認できない」とのことだったので助かりましたが、もしもFTP情報が洩れてしまうと、もうやりたい放題になってしまいますので、バレてないとしても万が一のことを考えてパスワードを変更するべきだと考えます。
2.エックスサーバーにバックアップファイルを依頼する
ご多分に漏れず、私はサイトのバックアップを定期的に取っておくようなマメさは持ち合わせていません。
悪意を持った人間に、データを書き換えられてしまったら、「はいそれまでよ」な状態だったわけです。
でも、エックスサーバーでは、サーバーのバックアップデータを毎日必ず取っておいてくれていて、1週間分までであれば無料で提供してくれます。
正直、今回はこのサービスにかなり助けられました。
これがなかったらおそらく復旧は難しかったと思います。「エックスサーバーで良かった」と本気で思いました。



あなたのサーバーは大丈夫ですか?この機能、本当に必要だと痛感しました。私の使っているエックスサーバーのほかにも、ロリポップやconohaサーバーにもそのような機能があるようです。さくらサーバーにはないので気を付けてくださいね。
エックスサーバーの場合は、ここからバックアップファイルを申請できます。「対象を指定」することで、ドメインを選択することができます。


ただしこれには、「被害を受けた日が1週間以内であること」が条件になってきます。
なぜなら、エックスサーバーで保存しているバックアップは一番古くて1週間前なので、被害を受けたのがそれ以上前だと、キレイなデータが手に入らなくなるからです。
私の場合、被害を受けた正確な日付はわからなかったものの、幸い1週間前のデータはキレイそうだったので助かりました。
「じゃあ、被害を受けたのが1週間以上前だったら申請はいらないのか?」と言うとそうでもなく、たとえ被害を受けたあとであってもバックアップは欲しいところなので、申請して手に入れておいてください。
3.ドメインの下のフォルダの構成を一覧にする
ドメインを初期化したら、ファイルもフォルダもきれいさっぱりなくなってしまうので、その前に、どんなフォルダやサイトがあるのかを全部メモしておきます。
私はエクセルで表にしました。
かなり面倒な作業で「本当にこんなこと必要?」と途中で何度もくじけそうになりましたが、いざ初期化してみると、どんなブログがあったかなんて覚えていないものです。
それに、フォルダの名前がうろ覚えになってしまってブログのURLが変わってしまうと、のちのちかなり面倒ですので、この作業は必ず最後までやり遂げましょう。
私の作ったエクセルファイルの様子を、ぼんやりお見せしますね(笑)


色が塗ってあるところは、復旧させるプライオリティを示しています。急いで復旧させないと迷惑がかかってしまうようなサイトを優先しました。また、この機会にいらないサイトは抹消しました。
4.ワードプレス復旧に必要なデータをまとめる
不正ファイルを埋め込まれた場合には、復旧時にアップロードするファイルは、可能な限りキレイなものでなければいけません。
今回はたまたま、1週間前のバックアップデータは被害を受ける前のデータではありましたが、もしかしたら、それより前に一度、目立たない感じで少しだけやられていたかもしれません。
なので、できる限りバックアップデータは使用したくないので、基本的にワードプレスは「立ち上げ直し」をすることにしました。
ただ、以下の2点については、1からのやり直しは厳しいのでバックアップを利用します。
- 画像ファイル(wp-contentフォルダの中のuploadsフォルダ)
- データベース情報(記事、テーマの設定、ユーザーなど)
画像ファイルが入っているフォルダとデータベースのバックアップを、ブログごとにまとめておいてください。
この画像ファイルのフォルダは、バックアップがキレイであればバックアップを使用します。そうでなければ汚染されたフォルダを使用するのですが、可能な限り怪しいファイルは削除しておいてください。
データベース情報は、「wp-config.php」というファイルに書かれているので、このファイルも同じ場所に保管します。
また、使用していたプラグインを確認するために、プラグインのフォルダ(wp-contentフォルダの中のpluginsフォルダ)も保存しておきます。
プラグインには不正ファイルが埋め込まれている可能性があるので、あくまでもこれは、どんなプラグインがあったか?の確認用です。復旧したブログには新規でプラグインを入れ直します。
- wp-contentフォルダの中のuploadsフォルダ
- データベースのバックアップ
- wp-config.phpファイル
- wp-contentフォルダの中のpluginsフォルダ
今回はデータベースには被害がなくて助かりました。
データベースが書き換えられていたり、読み込みが不可能になっていたりしたら、この記事の通りの方法では復旧は難しいです。
それから、データベースのバックアップの取り方は、こちらの記事にまとめてありますのでご覧ください。


いざドメインの初期化!その際に知っておきたいこととは?
用意周到にバックアップを用意したら、いざドメインの初期化に移ります。
エックスサーバーの場合は、ここから初期化ができます。


その次に出てくるこの画面なんですが、エックスサーバーからの指示だと真ん中のやつをやるように言われます。


一番上はまっさらになってしまうイメージですが、真ん中なので、サブドメインなどの設定は残りつつの削除なのかな~と思いますよね。
でも違いますから。
サブドメインの設定そのものは管理画面に残ってますが、サーバー領域からはフォルダは消えてしまいます。
なので結局は、サブドメインの設定からやり直すことになり、反映するまで通常通り1時間ほど待たされます。
むしろ残ってしまっている設定の削除も必要な分、余計に手間がかかりました。
これなら一番上でも良かったんじゃないかと感じました。メールが消えるかどうかの違いがあるので、メールを残したいのであれば別ですけどね。
いずれにしても、削除はあっという間に行われ、あれほど苦労して育て上げたドメインの中身は、きれいさっぱりなくなってしまいました。


初期化したあとはひたすらサイトを復旧させる
ドメインを初期化してまっさらにしたあとは、これまで用意した情報を元にして、ひたすらサイトを作り上げていく作業を行いました。
私のサイトは主に以下の2つのものからできています。
- ワードプレス
- シリウス
ワードプレスは今さら説明の必要もありませんが、「シリウス」というのはHTMLサイトを作成するツールのことです。
無料ブログのような感覚でサイトがサクッと作成できるので、非常に便利に使用しています。
私はこの2種類のサイトが合わせて100近くあったので、これの完全復旧には1ヶ月ほどかかりました。
途中、作業のやりすぎで軽い腱鞘炎になり、踏んだり蹴ったりで泣きそうになったりもしましたが、何とか元に戻すことができました。
ワードプレス復旧に関しては、来る日も来る日も同じ作業をひたすらやっていたので、おそらくもうプロの域に達したと自負しています(笑)
ワードプレスの復旧方法
403エラーになってしまったり、真っ白になってしまったワードプレスを、元通りのブログに復旧させる方法については、こちらの記事で詳しく解説しています。もしあなたのブログが同じ目にあった時にはぜひ参考にしてください。


ワードプレスが復旧したら、必ずパスワードは複雑なものにしてくださいね。
シリウスの復旧方法
HTMLサイトの場合は、たいてい、アップロードする前のデータはPCにあります。シリウスも同じです。
なので、そのデータを再度サーバーにアップロードするだけで復旧は完了します。
ワードプレスに比べると非常に楽で助かります^^;
FTPパスワードはすでに変更しているので、シリウスの場合はその書き換えが少し手間ですが。
ブログを乗っ取られた原因とは?
とにかく今回は徹底的にやられました。
10年近くサイトを運営してきて初めてです。
いったいどうしてこんなことになってしまったんでしょうか??
一般的に不正アクセスの原因とされているのは以下の2つです。
- ログインパスワードが安易なため破られてしまい、さらに使い回している他のサイトにも被害が広がった
- ワードプレスやプラグインのバージョンが古いことによる脆弱性を突かれた
ログインパスワードに関して
パスワードは確かに安易なパスワードを使い回していました。だってそうしないと忘れちゃうんですもん^^;
でもそれじゃ~ダメだったんです。
だから一気に破られちゃったんでしょうね。



でも複雑なパスワードなんて、いくつも覚えておくのは絶対無理;;
ですよね。
だから私が導入したのがこちらです。
複雑なパスワードを自動生成してくれて、それをURLごとに全部覚えててくれるスグレモノです。
もうこれからは、パスワードを自分で覚えることは諦めて、このソフトにすべて覚えてもらいましょう。



実は私は、ロボフォームは前から使っていました。でも、自分の設定した「安易なパスワード」を覚えていてもらうことにだけ使用していたんです。でもそれじゃ~ダメでした。あなたはこんな間違いはせずに、正しく使ってくださいね^^;
バージョンが古いことの脆弱性について
ワードプレスもプラグインも、どうしてもバグのようなものが存在していて、常にバージョンアップがされています。
バージョンアップされるということは、前のバージョンに問題があるからなのですが、このバージョンアップのタイミングでちゃんと自分のブログもバージョンアップしないと、問題のあるプログラムで運営している状態になってしまいます。このことを脆弱性(ぜいじゃくせい)と言います。
私はついつい、バージョンアップは後回しになっていました。
ワードプレスとプラグインとテーマは、常に最新版に保つようにしましょう。
今回は「ProfilePress」というプラグインの脆弱性が突かれてしまったのではないかという情報が流れています。
ProfilePressというのは、元は「WP User Avatar」という名前のプラグインです。
もしあなたも使用しているのであれば、すぐに最新にして、自動更新をONにしておいてください。
まとめ
とにかくパスワードは複雑に!
先ほどご紹介したソフトは、登録されているパスワードの中で、すでに漏洩しているものを知らせてくれる機能が追加されました。
私も何百と言うパスワードを登録していましたが、相当な数のパスワードが漏洩していると言われ冷や汗をかきました(もちろん全部直しました)。
自分で覚えるのは絶対に無理なので、諦めてツールの力を借りましょう。


ロボフォームは「エブリウェア」というライセンスを購入すれば、複数のPCでもスマホでも使用できるので非常に便利です。
コメント