ブログ「公務員ってどうなの?」のこむぞうです。
令和4年12月3日の夜に突然WordPressの管理画面が白地背景の簡素な表示になりました。
その上、投稿、プラグイン、ユーザー等の画面に入って編集することができなくなりました。
Forbiddenとなってしまう画面一覧
- 投稿
- メディア
- リンク
- 固定ページ
- 外観
- プラグイン
- ユーザー
- ツール
- 設定
- ポチップ管理
- WordPressについて
対処しているうちに令和4年12月7日、とうとうWordPressの管理画面にログインすることができなくなりました(Error establishing a database connection(データベース接続確立エラー)という表示)。
この記事は、その当時の不具合から復旧させたときの話です。
公務員情報発信ブログとしてはテーマから外れてしまいますが、このブログではこのブログ収益の紹介の一環で副業としてのブログを紹介していますので、このブログから副業ブログを始める公務員もいるかもしれません。安心して副業ブログを始められるようトラブルへの対処についてここに示したいと思います。
私は、プログラミングもできないし、Webサイト作成すらいまだに初心者です。問題が起きたらネットで探すしかありません。しかし。見つけた対処方法の記事は、本当に何をいっているかわかりませんでした。「それどこを触ればいいの?」と何度画面に訴えたことか。
この記事では、そんな初心者である私による復旧方法をお伝えします。専門性がほぼ見られませんが、復旧させた一手法であることは間違いありません。
次の条件でブログを始めていて、自分がWordPressに詳しく場合は、是非一度御覧ください。
- レンタルサーバーは、「ConoHa Wing」を利用している。
- CMSは、「WordPress」を利用している。
CMSは、Webサイトのコンテンツをオンラインで保存し、管理することができるシステムのことだよ。
今回は、とても大きなピンチを乗り越えた内容なので、「ConoHa Wing」のWordPressブロガー全員に是非御覧いただきたい!
なお、この後に説明しますが、症状が出てから14日間以内に対処しないと取り返しがつかないかもしれません。症状が出てから14日以内に対処してください!
私のサイトは、「SiteGuard WP Plugin」という有名なセキュリティプラグインを導入していましたが、マルウェアに感染していました。
閲覧者に危害を加えるタイプではないようですが、WordPressログインとサイトの閲覧ができなくなるという危機に見舞われ、絶望感に打ちひしがれました。そうならないようこの記事迅速な対応をしてください。
ConoHa Wingで始めたWordPressの復旧方法
先に私が復旧させた方法をお伝えします。
簡単にいえば、次の作業を行いました。
- バックアップファイルと当時のWordPressのファイルをほぼ全て交換
- WordPressとConoHa Wingのログインパスワードの変更
- 怪しいファイルの削除
では、具体的に御説明します。
ConoHa Wingのバックアップファイルとの交換方法
ConoHa Wingでは、毎日自動で14日間分のバックアップを取ってくれています。これを利用しましょう。
バックアップファイルは、14日間しか保管しててくれないから、早く対処してね!
ConoHa Wingのバックアップファイルの入手
まずは、ConoHa Wingのコントロールパネルにログインします。
次に、左端の「サーバー管理」タブの「自動バックアップ」を開きます。
ここで、取得したいバックアップの「Web」の「リストア可」を押してください。後述しますが、WordPressを動かすためのファイルが集まっている「ファイルマネージャー」にこのバックアップフォルダ「backup_data_web」がダウンロードされています。
「backup_data_web」は、別のWebの「リストア可」を押すと上書きされて消えてしまうから、注意してね。
また、24時間を経過すると「backup_data_web」は自動で消えますので、「リストア可」を押したらすぐPCにダウンロードしてください。
現在のWordPressファイルのバックアップ
バックアップファイルに全てまるごと交換して事態が悪化したら大変ですので、まずは現在のファイルを確保します。
では、ConoHa Wingのコントロールパネルにあるファイルマネージャーを開きましょう。ログイン後のページ又は左端の「サイト管理」を押せば、「ファイルマネージャー」が表示されているはずです。そこをクリックしてください。
私のセキュリティの関係で見せられませんが、「〇〇〇@localhost」の下にあるフォルダ(表示されないようになっている場合は、「〇〇〇@localhost」の左隣の▽を押してください。)のうち「public_html」の中にあなたのWebサイトのURLが付いたフォルダ名があるはずです。その中にあるのがあなたのWebサイトを編集するためのWordPressを動かすものが入っていると思ってください。
あなたのWebサイトのURLが付いたフォルダを全てダウンロードしてください。そのあなたのWebサイトのURLが付いたフォルダを右クリックすれば、「ダウンロード」をするボタンがありますので、そこをクリックすればできます。
一気にやろうとするとエラーがでることもあるから、そのときは少しずつダウンロードしてね。
バックアップファイルに上書き
バックアップファイルは、ConoHa Wingのコントロールパネルにあるファイルマネージャーの「〇〇〇@localhost」の直下にフォルダ「backup_data_web」があります。それが全てバックアップファイルです。
このフォルダ「backup_data_web」は、24時間を経過すると自動的に消えてしまうため、このフォルダを先程と同じようにまるごとダウンロードしてください。
一気にやろうとするとエラーがでることもあるから、そのときは少しずつダウンロードしてね。
「backup_data_web」の中にあるものをまるごとあなたのWebサイトのURLが付いたフォルダに上書き保存してしまいましょう!
単純な作業で誰にでもできそう。
ここの場合は、上書きどころか、幾つかファイルがなくなっていました。
上書きファイルの微調整
もし単純にこれがうまくいかなかったら、次のファイルを中身に気を付けながら正常な頃のバックアップファイルと交換しましょう。
- wp-config.php(投稿記事等が入っているデータベースのログインパスワード等が書かれています。)
- index.php(全ての基本となるPHPファイルです。ここでいうindex.phpファイルは、あなたのWebサイトのURLが付いたフォルダの直下のものだけを考えてください。)
- functions.php(長い記述を不要にし、関数名の記述だけで同じ処理を使い回すためのファイルです。)
- wp-load.php(設定ファイル又は関数群のファイルが読み込まれて投稿又はWordPressの関数を使用できるようにします。)
危険なファイルは、おおむね英語でもないアルファベッ等の羅列がひたすら長く続いているよ!
正常な頃のバックアップファイルと比較すると、その長いアルファベット等の羅列が使われていないことに気づくことができます。
危険なコードの例
- background-image:url(date:image/png;base64,・・・(よく分からないアルファベット等の羅列)・・・
- eval(base64.decode(・・・(よく分からないアルファベット等の羅列)・・・
- $O00OO0=urldecode(・・・(よく分からないアルファベット等の羅列)・・・
「・・・(よく分からないアルファベット等の羅列)・・・」の部分は、全てよく分からないアルファベット等の羅列の部分として読み取ってね。
index.phpファイル内にあった「background-image:url(date:image/png;base64,・・・」は、正しいファイルかもしれませんが、私は怖かったのでindex.phpファイルを交換してしまいました。間違っていたらすみません。
なお、危険そうに見えるものの、実際は正常なコードもあります。
危険そうで正常なコードの例(どちらもwp-config.php内のコード)
- define(‘CW_DASHBOARD_PLUGIN_SID’,’・・・(よく分からないアルファベット等の羅列)・・・
- define(‘CW_DASHBOARD_PLUGIN_DID’,’・・・(よく分からないアルファベット等の羅列)・・・
よく分からないアルファべットの羅列は、全て悪いコードじゃないんだね。
特に「define( ‘・・・PLUGIN_SID・・・’」は、後述するプラグイン「SID GIFARI FROM TEAM_CC」を連想したから当初は削ってしまったよ。失敗した。
そのほか、私は、初心者向きの書籍として「WordPressユーザーのためのPHP入門 はじめから、ていねいに。」を読んで学びました。
最初の半分ほどしかわかりませんが、何となく「これはおかしい!」というコードを感じ取ることができるようになった気がします。最後に索引が付いているので、「index.phpやfunctions.phpってどこに書いてあったっけ?」というときに便利です。
また、「初心者からちゃんとしたプロになる PHP基礎入門」もよかったのでお好きな書籍をお試しください。
ログインできない場合は、セキュリティ解除、プラグイン又は「.htaccess」ファイルで対処
WordPressにログインできない場合は、ConoHa Wingの「ご利用ガイド」に対処法があります。次のどれかを試してください。
- ConoHa Wingのコントロールパネルにある「サイトセキュリティ」のうち、「WordPressセキュリティ」の「ログイン制限」、「コメント制限」及び「海外アクセス制限」を一時的に全て「OFF」にする。
- ConoHa Wingのコントロールパネルにあるファイルマネージャーの「public_html」にあるあなたのWebサイトのURLが付いたフォルダのうちフォルダ「wp-content」の中にあるフォルダ「plugins」の名前を一時的に変更する。
- ConoHa Wingのコントロールパネルにあるファイルマネージャーの「public_html」にある「.htaccess」ファイルの名前を一時的に変更する。
ConoHa Wingの「ご利用ガイド」にある対処法では、「403 Forbiddenと表示される場合」、「404 Not Foundと表示される場合」等と分けていますが、表示される症状に限らず、全て試してみましょう。
このブログだと、症状がForbiddenと表示されたけど、Not Foundの対処法の「.htaccessの名前
変更」でログインできたよ!
「.htaccess」については、その後、新たに生成されたものにリダイレクトを再登録して活用しています。今のところ不具合はありません。
なお、「.htaccess」については、ConoHa WingのConoHaお客様センターから次のように教えていただきました。
WordPressのログインパスワードの変更
ここまでくれば、もはやマルウェア(ウィルス)に感染したと考えるのが自然です。もう一度入られないようパスワードを変更しましょう。
WordPressのログインパスワードの変更については、上記の対処で管理画面に入ることができたので、それで対処します。次の画像のように進んでパスワードを変更しましょう。
ConoHa Wingのログインパスワードの変更
WordPressのログインパスワードの変更と同様、念のためConoHa Wingのログインパスワードも変更しましょう。
ConoHa Wingのログインパスワードの変更については、次の画像のように進んでパスワードを変更しましょう。
データベースのログインパスワードが分からなくなったらwp-config.phpファイルを確認
おまけの話で投稿記事等のデータがあるデータベースの入り方についても説明します。
後述しますが、実は、ConoHa Wingは、ブログの記事を編集するためのWordPressを動かすためのファイルをConoHa Wingのコントロールパネルにあるファイルマネージャーに、投稿記事等のデータをConoHa Wingのコントロールパネルから入ることができる「データベース」に分けて置いており、それぞれログインが必要となります。
もしデータベースも入れなくなっても、上述の「上書きファイルの微調整」で紹介した「wp-config.php」(あなたのWebサイトのURLが付いたフォルダにあります。)に次のとおり「データベース」のユーザー名とパスワードがありますので、必要な場合は確認してください。
- define(‘DB_USER’,’あなたのデータベースのユーザー名‘);
- define(‘DB_PASSWORD’,’あなたのデータベースのパスワード‘);
怪しいファイルの削除
本音をいえば、私も「怪しいファイル」は分かりません。したがって、私が行ったのは、正常な頃のバックアップファイルから何かファイルが追加されていないかを調べただけです。
ConoHa Wingのコントロールパネルにあるファイルマネージャーには、フォルダごとにファイル数とフォルダの容量が表示されますので、それで比べてみましょう。
このブログで見つけた怪しいファイル
- sid.php又はwp-sid.php(ネットで確認しているうちにどちらのファイル名か忘れ、ましたが、過去のファイルにはありませんでした。)
- qildo.php(この中に「eval(base64.decode(・・・(よく分からないアルファベット等の羅列)・・・」の記載がありました。)
- wp-good.php(中を見ると、形の異なる「0」だらけ。GoogleSearchConsoleでは「https://p-servant.com/wp-good.php?・・・」という見覚えのないURLについてエラーを訴えてきており、怪しかったので削除しました。)
- wp-blog.php(中を見ると、「Class_UC_key(“273B6576616C28677A756E6・・・”).eJzsvf・・・(よく分からないアルファベット等の羅列)・・・」の記載がありました。)
- dist.rest-loader.php(中を見ると、「Class_UC_key(“273B6576616C28677A756E6・・・”).eJzsvf・・・(よく分からないアルファベット等の羅列)・・・」の記載がありました。)
- block-locale.php(中を見ると、「if(!empty($_POST[“FPKI”]){$c=base64_decode(“PD9waHANCm・・・(よく分からないアルファベット等の羅列)・・・」)
- config.widgets-compat.php(中を見ると、「if(!empty($_POST[“KVIOK”]){$c=base64_decode(“PD9waHANCm・・・(よく分からないアルファベット等の羅列)・・・」)
- lang-core-nva.php(中を見ると、「・・・{$c=base64_decode(“PD9waHANCm・・・(よく分からないアルファベット等の羅列)・・・」)
- init-walker-conf.php(中を見ると、「if(!empty($_POST[“PZWVN”]){$c=base64_decode(“PD9waHANCm・・・(よく分からないアルファベット等の羅列)・・・」)
- lang.rest-conf.php(中を見ると、「if(!empty($_POST[“KWYWG”]){$c=base64_decode(“PD9waHANCm・・・(よく分からないアルファベット等の羅列)・・・」)
- dist-core-sitemaps.php(中を見ると、「・・・,base64_decode(“PEZpbGVz・・・(よく分からないアルファベット等の羅列)・・・」)
- init-block-conf.php(中を見ると、「・・・”,base64_decode(“PEZpbGVz・・・(よく分からないアルファベット等の羅列)・・・」)
- class-core-nva.php(中を見ると、「・・・”,base64_decode(“PEZpbGVz・・・(よく分からないアルファベット等の羅列)・・・」)
- config.vars-settings.php(中を見ると、「・・・,base64_decode(“PEZpbGVz・・・(よく分からないアルファベット等の羅列)・・・」)
- style.php(中を見ると、「・・・$c8=array(“7068705f756e616d65”,・・・(よく分からないアルファベット等の羅列)・・・」)
- init.vars-pattern.php(中を見ると、「・・・func=array(“7068705f756e616d65”,・・・(よく分からないアルファベット等の羅列)・・・」)
- init-vars-loader.php(中を見ると、「・・・$func=array(“7068705f756e616d65”,・・・(よく分からないアルファベット等の羅列)・・・」)
- config-widgets-sitemaps.php(中を見ると、「・・・}eval(AivT(“7P15s+zalSeG・・・(よく分からないアルファベット等の羅列)・・・」)
- admin.php(中を見ると、(中を見ると、「・・・}eval(AivT(“7P15s+zalSeG・・・(よく分からないアルファベット等の羅列)・・・」)
- .htaccess(中を見ると、「<FilesMatch”^(dofxlp.php)$”>」がある。この「dofxlp.php」は、怪しいファイル)
- config-core-plugin.php(Wordpressに当初から入っていない。)
- lang-widgets-meta.php(Wordpressに当初から入っていない。)
- style2.php(Wordpressに当初から入っていない。)
- wp-add.php(Wordpressに当初から入っていない。)
- init-load-rss.php(Wordpressに当初から入っていない。)
- class.vars-plugin.php(Wordpressに当初から入っていない。)
明らかにマルウェア(ウィルス)に感染してたってことだよね。
そういうことだ。勝手にファイルを消したり、ひどいことをする・・・。
見覚えのないプラグイン「SID GIFARI FROM TEAM_CC」を削除
私の場合は、いつの間にかプラグイン「SID GIFARI FROM TEAM_CC」が入っていました。
有効化はされていませんが、プラグインは最低限にしているのに見たことのないプラグインがあるので明らかに異常。調べたら私と同様の不幸な事例(リンク先は、Yahoo!知恵袋)が確認できました。
迷わず削除しました!
怖い・・・。
ConoHa Wingは、ブログの記事を編集するためのWordPressを構成するファイルと投稿記事等のファイルを分けている。
一通り復旧方法の説明が終わったところで、WordPressブログについての基本的な構成を説明しておきます。
ConoHa Wingは、ブログの記事を編集するためのWordPressを構成するファイルをConoHa Wingのコントロールパネルにあるファイルマネージャーに置き、投稿記事等のファイルをConoHa Wingのコントロールパネルから入る「データベース」にそれぞれ分けて保管しています。
PCのどこかに入っているわけじゃないんだね。
そのとおり。ネットで復旧方法を探していると「WordPressが入っているフォルダを~」と説明が始まるから、何をどうすればいいか分からなくてまいったよ。
ConoHa Wingのコントロールパネル(ファイルマネージャー)とデータベースは、それぞれログインが必要になります。これにより、マルウェア(ウィルス)によってWordPressにログインできなくなっても、投稿記事等の中身は保護されるというわけです。
賢い構成だね。
こういう構成になっていることをどこにも見つけられなかったので、初心者には辛かったです。
各種Webサイトで調べるときは、ConoHa Wingではこういう構成になっていることを把握した上で参考にしてください。
ConoHa Wingは、個別のエラーについてはサポート対象外
ConoHa Wingは、飽くまでサーバーを貸してもらう契約なので、個別のエラーについて問い合わせると次のように返答がされ、サポート外と告げられます。御注意ください。
WordPressの英語表記の修正方法
Wordpressには、日本語版と英語版があります。
導入当初こそ日本語版だったので気にならなかったと思いますが、私のような不具合対処法だと編集項目が英語表記になってしまうことがあります。
「投稿一覧」が「Post」ってなったり、「メディア」が「Media」になったりするってことね。
そうそう。
もしそうなってしまったら、アップデートがあるなど、時間が経てば直ります。安心してください。私の場合は、2週間程度で日本語表記に戻りました。
アップデートまで英語表記のままだけどね。
プラグイン関係なら再インストールすれば日本語表記に戻せます。
ConoHa WingでWordpressの再インストールは、要注意
Wordpressを再インストールしようとConoHa WingのコントロールパネルからWordpressだけを削除し、再びConoHa WingのコントロールパネルでWordpressをインストールすると、同時に新しいデータベースも作られてしまうため、今まで使ってきたデータベースにつなげることができなくなります。
これは、ConoHa Wingがとても親切な設計をされていて、WordpressをConoHa Wingのコントロールパネルでインストールをすれば、同時に記事ファイル等を保管するデータベースも一緒に作り、WordpressとデータベースをConoHa Wingのコントロールパネルでどちらも登録し、管理することができるようにしているからです。
便利ですが、データベースを残してWordpressだけを再インストールをすると、今後はConoHa WingのコントロールパネルでWordpressを管理することができなくなるため、注意する必要があります。
これが今回こむぞうさんがやらかしちゃったやつだね。
そんな構造になっているなんて知らなくて・・・。
もしもマルウェア(ウィルス)だったらすぐセキュリティ対策
私のようにマルウェア(ウィルス)だったら、すぐセキュリティ対策をしましょう。
WordPressのプラグイン「Site Guard WP Plugin」が入っていても、そして、このブログのような低収益サイトでもこのようなことになりました。セキュリティ対策は、軽くみてはいけません!
辛かったよね。もう二度とこんな目に遭わないようセキュリティを見直そう!
有料ですが、SiteLockというWebセキュリティサービスを導入することも御検討ください。
\初期費用無料で月額350円(税抜)から/
導入実績1,200万超えの安心サービス!
どうしても直せなかったらプロ(ココナラ)に依頼
「この記事のとおりにやってみたけど直せなかった。」、「この記事のとおりにやることすら失敗しそうで怖い。」等という場合は、プロに依頼しましょう。
バックアップの保存期間は、14日間しかないからね!
修復する手段は多いに越したことはありません。
特に「この記事のとおりにやることすら失敗しそうで怖い。」と思う気持ちは、とてもよく分かります。私自身もそうでした。自分自身で勝手に触って悪化させたてしまったらどうしようと臆病風に吹かれつつ対処しました。
実際、悪化したこともあったしね。
バックアップファイルをダウンロードしておいてよかったよ。
このままブログを削除してしまうという選択肢ももちろんいいと思いますが、私は、サーバー代は3年分まとめて払ってしまっていました。上記の方法で直せなかったらやはりプロにお願いをしていたと思います。
では、どこに頼むかというところですが、ネットで探すと10万円近くなったりと、結構高額です。
このブログの収益じゃ、ちょっとねぇ・・・。
余り収益の見込めないブログにそこまで出すことは難しいと思いますが、TVCMで話題のココナラで見つかりました!
「WordPress 復旧」というキーワードでわんさかと。3,000円で受けてくれるところもあるようです。
ブログは、あなたの大事な資産です。しかも、バックアップの保存期間は、14日間だけ!この記事のとおりにやっても「もう自力で復旧するのは無理!」と思ったら、早く依頼しましょう!
初心者で復旧するのは、ハードルが高いよね。
バックアップのおかげとはいえ、我ながらよく復旧できたよ。無理だったらココナラさんにお願いしていたな。
ココナラは、生活、プライベート、仕事等でのあらゆるお困りごとを解決できます。今回のようなトラブルに限らず、是非御活用ください!
コメント