owned mediaウェブ制作に役立つコンテンツを発信中!

WordPressサイトがマルウェアに感染した話とその対処法について

全世界で圧倒的なシェアを誇るCMSであるWordPressですが、常々いろんな驚異の対象となっています。当サイトでも過去記事「WordPressの改ざんにあった話と防止策について」で悪意のあるユーザーにアカウントを作成され、サイト内のコンテンツが改ざんされた状況についてまとめています。今回は全く別の方法として、PHPのマルウェアに感染した事例があったので、その時の状況と対処法についてまとめてみたいと思います。  
とあるお客様からWordPressの管理画面にログインできないとの相談が…
以前にサイトのメインビジュアルやバナーを作成させていただいたクライアントさんから連絡があり、WordPressの管理画面にログインできなくなったとのご相談をいただきました。連絡を受けて、問題のサイトにアクセスするとサイト自体は問題なく表示されているようで、コンテンツも改ざんされた様子は見られませんでした。   そして実際に管理画面へログインしてみると、なぜか403エラーが表示されてしまうという状況になっていました。このお客さんはWordPressの無料テーマを使って運用されていたようで、実際にサイト制作を担当したわけでないので、とりあえずテーマファイルを確認してみると特にコードが改ざんされているという形跡もみられませんでした。(なのでサイト自体は問題なく表示されるわけですが、、)   その後、データベースに入っている投稿データもチェックしてみるも、特にこちらも被害無しという感じで、怪しいアカウントも確認されませんでした。ということはWordPressのコアファイルに原因があるのではと確認してみたところ、ドキュメントルートに何やら怪しいファイルが生成されていたのが確認できました。。  
.htaccessとindex.phpへの改ざんとマルウェアファイル
明らかにWordPressとは関係のないファイルがいくつかサーバーの中に存在し、お客さんも心当たりが無いとのことで、実際にソースコードを確認するとこのような文字が羅列されたコードが記されていました。   このファイルはWordPressのインデックスファイルで、このコードの後にいつものヘッダーファイルを読み込む処理が書かれていました。つまり、WordPressサイトにアクセスがあるたびにこの謎の処理が実行されるという状況になっているようでした。   これ以外にも謎のHTMLが書かれたファイルであったり、.htaccessにも明らかに不要な指定が追記されているのが確認できました。   またそれだけでなく、WordPressのコアファイル内に存在する全てのディレクトリ配下に、上記と同じ.htaccessが存在しており、全て合わせると膨大な数のファイルが生成されていることになります。またファイルのパーミッションも書き換えられており、直接ファイルの削除や編集ができないようになっていました。おそらくこれが原因で403エラーが発生しているようでした。  
マルウェアファイルの削除と環境のリセットをするも…
そこで問題となるファイルのパーミッションも変更し、とりあえずドキュメントルートにある不要なファイルとindex.phpに書かれた怪しいコードの削除と、テーマファイル一式をバックアップした後、WordPress本体も削除して改めて新規でプラグインも含めてインストールし直しました。データベースの投稿データに関しては特に問題が見られませんでしたので、現状復帰のため残している状態でした。   これで大丈夫かなと思っていたところ、なぜか403エラーは解消されず、、さらにindex.phpに書かれていた削除したはずのコードが復元されており、.htaccessも同じ表記で元に戻っているようでした。   再び先ほどの工程でファイルを削除してみるも、すぐにファイルは元どおりの状態になってしまうという状況でファイルが削除できないという事態になっていました。。そこでレンタルサーバーの担当者さんに問い合わせをしたところ、どうやらバックグラウンドでとあるプロセスが動いた状態のままになっているとの返答をいただきました。  
バックグラウンドで動いているプロセスを削除して解決
今回はさくらインターネットさんのレンタルサーバーだったのですが、サーバーのコントロールパネルから、動作中のプロセスが確認できるということで、実際に調べてみることになりました。   そうすると下記のように全く心当たりがないプロセスが動いたままになっていることが確認されました。ここから直接プロセスを停止できるので、全て削除してから改めてindex.phpの不要コードと、問題になっている.htaccessと削除すると無事に消えました。そしてその後、新たにWordPress環境を整えて、なんとか無事に復旧することができたのでした、、  
今回の原因と今後の対策
この一連の問題について、結局のところはっきりとした原因はわからなかったのですが、どうやら問題となっているWordPressサイトの運用では、プラグインだけでなくWordPressのアップデートも全く行われていなかったようで、恐らくそれが原因なのではと結論づけました。まずは全てのプラグインとWordPress本体のアップデートから始めました。   基本的にWordPress本体に関してはデフォルトで自動アップデートが有効化されているはずなのですが、もしかしたらテーマ内でそれが無効化されていたのかもしれません。やはりWordPress本体を古いままの状態で使い続けるのは危険と思い知らされました。   プラグインに関しては、基本的に自動アップデートはされない状態とデフォルトではなっているようですので「functions.php」に下記のように自動アップデートを有効化させる処理を追記しておきました。 【functions.php】
// プラグイン・テーマの自動更新設定
add_filter('auto_update_plugin', '__return_true');
add_filter('auto_update_theme', '__return_true');
  あとはセキュリティプラグインを導入し、とりあえずできる部分での対策を一通り実施しました。どうやらその後は問題なく経過しているようです。  
  これまでサイトが改ざんされるというケースはいくつか見てきましたが、マルウェアに感染したサイトを見ることがなかったため、色々と大変でしたが勉強になりました。特に最近はWordPressのトラブルをよく耳にすることあったので、WordPressサイトを運用している方は、改めて問題が起こっていないかチェックしておいたほうが良さそうですね。   (参考にさせていただいたサイト) WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram