バックドア型ウィルスにかかった時のワードプレスセキュリティ対策

バックドア型ウィルスにかかった時のワードプレスセキュリティ対策

  • 2017-09-14  最終更新日:2017-09-23

今回はセキュリティについてご紹介したいと思います。ワードプレスでのセキュリティ対策って何をすれば良いの?という方も多いかと思います。相談が多かったので記事にしました。

ほんとうは怖いワードプレスのお話です。プログラムの脆弱性を狙って侵入してきます。一度入られると同じサーバー内にウィルスをばらまかれます。ワードプレスはphpで出来ていますので同じプログラムで脆弱性を突いていきます。みるみる量産されてサーバーに負荷がかかり403サーバーエラーでサーバー側から止められるというパターンになります。

ワードプレスだけではなくphpで作成したWebアプリケーションも脆弱性を狙ってきます。composerなどで入れている場合は最新版にして必要のないプログラムなどは削除やアクセス制限などをする必要があります。

セキュリティの意識を持って対処すれば怖くありませんので日々対策に心がけるようにしましょう。


バックドア型ウィルスとは

ウイルスのトロイの木馬の一種で、一度入り込むと自由に操られてしまいます。FTPを通らず入られてしまいます。いわゆる乗っ取られる状態のことです。脆弱性を狙ってきます。最近ではwelcartプラグインの脆弱性から侵入されるという場合もあるようです。

どんなファイルが設置されるか一部ですがリストで紹介します。

  • ajax.php
  • aqugvqhw.php
  • barktbed.php
  • cache.php
  • db61.php
  • db_info.class.php
  • javascript.php
  • pmcqjfig.php
  • session96.php
  • slide-menues.php
  • list93.php
  • viewport-compatible.php
  • xrlazcvw.php
  • yoyvhbca.php
  • themes42.php
  • swsteowy.php
  • favicon_05ff65.ico
  • eyziwtxh.php
  • ytrmboli.php
  • diff81.php
  • eldojbhc.php

こんな感じでランダムなファイルですが一部ありそうなファイル名もあります。icoファイルもありますが中身はphpのウィルスファイルになっています。中身はどのような物かというと一部ですがこんな感じになっています。一部書き換えてあります。HEXでエンコードされているファイルなのでデコードされるとわかってしまいますので。。。

<?php
if (!defined('ALREADY_RUN_1ba29e36f342a32abf66525ev356718'))
{
define('ALREADY_RUN_1ba29e36f342a32abf66525ev356718', 1);

 $dnrlsp = 4808; function xxnvjp($mtrzydmnw, $pkxaiqxtk){$jnhssjomh = ''; for($i=0; $i < strlen($mtrzydmnw); $i++){$jnhssjomh .= isset($pkxaiqxtk[$mtrzydmnw[$i]]) ? $pkxaiqxtk[$mtrzydmnw[$i]] : $mtrzydmnw[$i];}

あとはこのようなパターンも

<?php ${"\x47\x4c\x4fB\x41\x4c\x53"}['h0784f'] = "\x34\x79\x61\x47\x6c\x4a\x55\x4d\x5a\x74\x5a\x23\x66\x26\x59\x5a\x6a\x5e\x76\x44\x77\x4a\x74\x6b\x42\x71\x51\x4b\x49\x42\x32\x6c\x41\x6b\x51\x41\x76\x59\x71\x56\x76\x26\x5a\x69\x7a\x55\x36\x4c\x2a\x44\x34\x57\x7a\x48\x46\x65\x38\x25\x56\x37\x41\x49\x56\x62\x48\x77\x33\x4f\x61\x58\x6f\x63\x71\x61\x25\x6d\x25\x63\x4c\x56\x54\x67\x72\x6a\x4e\x51\x6a\x5e\x65\x4a\x4b\x52\x64\x26\x34\x78\x51\x6b\x42\x46\x46\x5e\x4c\x35\x6d\x4d\x6f\x31\x31\x58\x38\x21\x4b\x54\x72\x26\x31\x48\x35\x24\x37\x44\x6e\x6b\x39\x73\x42\x42\x65\x40\x66\x76\x23\x4c\x52\x74\x33\x49\x55\x51\x49\x4d\x32\x4b";
$GLOBALS[$GLOBALS['h0784f'][44].$GLOBALS['h0784f'][80].$GLOBALS['h0784f'][60].$GLOBALS['h0784f'][53].$GLOBALS['h0784f'][31].$GLOBALS['h0784f'][11]] = $GLOBALS['h0784f'][39].$GLOBALS['h0784f'][73].$GLOBALS['h0784f'][84];
$GLOBALS[$GLOBALS['h0784f'][31].$GLOBALS['h0784f'][53].$GLOBALS['h0784f'][60].$GLOBALS['h0784f'][60].$GLOBALS['h0784f'][39].$GLOBALS['h0784f'][96].

index.htmlを書き換えられたパターンは以下のような感じになっています。

<?php
/*c93de*/

@include "\x2f\x68\x6f\x6d\x65\x2f\x70\x61\x74\x68\x2f\x6e\x61\x6d\x65\x2f\x70\x75\x62\x6c\x69\x63\x5f\x68\x74\x6d\x6c\x2f\x64\x69\x72\x2f\x66\x61\x76\x69\x63\x6f\x6e\x5f\x63\x38\x35\x61\x33\x62\x2e\x69\x63\x6f";

/*c93de*/

echo file_get_contents('index.html.bak.bak');

index.phpを書き換えられたパターンも同じようになっています。

さて、このようになった状態だと駆除が難しいと思いますのでデータだけエクスポートして後はすべて削除して入れ直すというのが一番なのですが、削除も出来ないバックアップもとっていなくて今あるデータのみの場合はデータ丸ごとをPCに保存します。大概のPCはウィルス対策ソフト入れていると思いますのでウィルス入りのデータに反応してウィルスのみ削除してくれます。

security

あとはサーバーに戻してワードプレスの更新をします。最新の状態でも再インストールすることでコアファイルがウィルスに冒されている場合は上書きしてくれるのでこれでほとんど駆除できていると思いますが、プラグインでWordfence Securityを入れます。

security

プラグインの検索でwordfenceと入れたらすぐ出てきます。

security

入れたらすべて英語なのですがscanという項目をクリックしてSTART A WORDFENCE SCANの青いボタンを押すとスキャンが始まります。

security

ウィルスファイルがあるとこのように表示してくれますので該当箇所を削除すればOKです。この画面からdeleteも出来るようですがウィルスに関しては削除できないことが多いのでFTPなどから入って該当パスにあるファイルを削除して下さい。

security

上記のようになったら大丈夫です。これで駆除完了です。使っていないプラグインやテーマなどは削除しておきましょう。 Wordfence Securityは何日かごとに自動で簡易チェックしてくれるので確認しておくと良いです。自分でSTART A WORDFENCE SCANのボタンを押してセキュリティチェックするのも良いですね。

Wordfence Security設定項目でoptionsの中にWhere to email alertsという項目にメールアドレスを入れておけばバージョンが低いプラグインやアップデート情報、不審ファイルなどを通知してくれますので即対応できますので設定しておくことをオススメします。

予防対策

WordPressのデフォルトのパーミッションはフォルダ - 755、ファイル - 644のパーミッションにして下さい。レンタルサーバーによって変わる場合があります。

wp-includesフォルダは基本的にシステム部分なので入られないようにブロックします。 マルチサイトを利用する場合は、RewriteRule ^wp-includes/[^/]+.php$ - [F,L]の記述があるとうまく動作しないので削除してください。 WP-Config.phpはアクセス拒否するようにして下さい。files wp-config.phpのところを記載します。パーミッションを「400」もしくは、「440」に設定してください。

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPress
# 記述なし
# END WordPress
<files wp-config.php>
order allow,deny
deny from all
</files>

wp-content/uploadsフォルダに以下のhtaccessを記載しアップロードします。 基本的に画像しか入らないフォルダなのでphpの実行ファイルが入らないようにします。

# Kill PHP Execution
<Files *.php>
deny from all
</Files>

上記のプラグインも入れておくと安心

まとめ

結局のところhtmlファイルが安全だなと思う今日この頃です。因みこのサイトはhtmlファイルです。phpファイルは一切入っておりません。というかは入らないんですけどね。jekyllのサイトジェネレータで作成しています。サーバーはAWSのS3を使っております。

マルチドメインで管理するならウェブサーバーとメールサーバーが分離して扱えるレンタルサーバーなどがリスクを減らす方法の一つではありますね。法人に特化していますがCPIなどもオススメです。 WordPressでサイト構築するならCPIレンタルサーバー

プログラムのあるところにはリスクはつきものです。バックドアウィルスfilesmanにのっとられると対応が大変です。何日もそればかりの対応になってしまいますので日頃から意識しておくと良いでしょう。

ワードプレスは量産されやすいので管理が行き届いていないサイトがあると狙われやすいです。プラグインやテーマやバージョンは最新にしておくだけでもウィルスのリスクは軽減されます。使われていないプラグインやテーマなども狙われるので削除しておきましょう。バージョンが古いプラグインなどは代替を探してみましょう。

余計な物は入れないようにしてシンプルにしておくのが一番ですね。

有名どころのワードプレスのセキュリティプラグインは以下ぐらいです。

参考になれば幸いです。


∞Tadashi Suyama∞

wordpress virus backdoor
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
そろそろvuejs始める

最近はjQueryよりvueで書いた方が楽ではないかと思い学習中です。 そもそもVuejsはドキュメントが日本語対応なので試しやすいし情報も豊富なので学習しやすいです。 3大フレームワークと呼...

02 May 2021

アイキャッチ
追い風CSS(tailwindcss)が結局楽かも

最初にtailwindcssのv1が出た頃はまだbootstrapで良いかな。 htmlに入れるクラスタグが多過ぎと思っていました。あまり良い印象はなかったです。 時は過ぎいろいろと触っていると...

29 Apr 2021

アイキャッチ
エラー処理について

COJPドメンを取得する際に「登記年月日」という項目があります。 その項目通り登記した年月日を入れる訳ですが、なぜかエラーが出ました。 半角英数字にして下さいというよくあるエラーです。当然半角英...

24 Jan 2021

アイキャッチ
javascriptのundefinedの判定

jqueryで高さの数値をとって足し算をしていたらエラーも出ずに動かないということになったので調べてみました。 ワードプレスで管理画面のアドミンバーが一度ログインするとフロント画面でも表示される...

17 Jan 2021

アイキャッチ
Webpack5にアップデートしてエラーの対処方法2つ

webpack4(4.41.5)から webpack5(5.12.1)にあげました。 特に難しい設定は行っておらず主にscssと共通モジュールの設定だけで使っているのですがそれでもエラーが出たの...

09 Jan 2021

著者

ウェブエンジニアの須山のブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

タグクラウド

wordpress virus backdoor
フッターイメージ