2015.08.05 2017.02.01

WordPressサイトがウィルス対策ソフトに反応した場合の対応

LINEで送る
Pocket

この記事を書いた人
しんまい君

しんまい君 元ネットワークエンジニア。WordPressのカスタマイズを主に担当。
難しそうな顔をするのが得意。福島県南相馬市出身。好きなものは柴犬。

自分で運用しているWordPressサイトにアクセスすると、パソコンにインストールしているセキュリティーソフト(ウィルス対策ソフト)が反応(警告)を出すようになった」という事象の相談を、とあるお客様より頂戴しました。確認の為、該当のサイトを閲覧するとサイトが表示され、一見障害には見えない様子。

確認できる障害の症状

「もしかしたらアレかも」といった思いこみは障害対応には禁物。まずは、直接確認できる事実を列挙。

  • Webサイトは表示される
  • WordPressダッシュボードへのログイン可能
  • Googleサーチコンソール(旧Webmasterツール)上に警告は無い
  • Googleより英語の通知があった

Googleからの通知があった内容は以下の通り。

Your AdWords account: Ads not running due to AdWords Advertising Policies
We wanted to alert you that one of your sites violates our advertising policies. Therefore, we won’t be able to run any of your ads that link to that site, and any new ads pointing to that site will also be disapproved. Here’s what you can do to fix your site and hopefully get your ad running again:
1. Make the necessary changes to your site that currently violates our policies:
https://support.google.com/adwordspolicy/answer/1308246?hl=en#fix
2. Resubmit your site to us, following the instructions in the link above.If your site complies with our policies, we can approve it to start running again. Repeated violations of our advertising policies could result in a suspension of your AdWords account, so it’s important to address any issues as soon as possible by reviewing our policies. To learn more about AdWords suspension policies, please visit

要約すると、「ポリシーに違反しているので改善してから、教えてね。」という事。
通知に記載されているメールから公式のポリシーを確認。

Not allowed

  • Sites infected with malware
  • Sites that install malware on a visitor’s computer
  • Sites that incorporate content (images, Flash, iframes, etc.) from infected sites
  • Sites that redirect to domains containing malware

どう違反しているかは、通知メール内に記載のあるリンクをクリックして内容を確認。

What can I do if my site gets suspended for malware?
Follow the steps below to check your computer for malware, remove all malicious code from your site, and submit your site and ads for review.

思い切り「Malware(不正なコード)」との記載がありますね。
対処として、WordPressサイトにあるマルウェアを特定し、削除するという流れになります。

 

不正なコードはHTMLコードを見れば特定できる

「不正コード」って何?とよく質問されます。
例えば、サイトを閲覧しているだけで、「勝手にPCにウィルスを送り込んできたり」、「ブラウザに保存しているパスワードが盗み取られたり」、その不正コードを作った悪いプログラマーの意図する挙動が起きてしまうプログラムです。

どうやって不正なコードを見つけるの?

まずはWebサイトを表示させHTMLソースコードを表示させコードをチェックします(マルウェアに感染しないよう、適切にセキュリティー対策をしたPCを使いましょう!重要なデータなど保存しているPCではなく、作業用のPCが理想です)。

殆どの場合、マルウェアは外部サイトのスクリプトを読み込ませるといった仕様です。経験上、フッターに埋め込まれている事が多いので、HTMLコードの最後のほうを入念にチェック。

不正なコードを探すポイント

  • 見知らぬサイトへのリンクはありませんか?
  • フッター周辺が怪しい

はい。発見。今回も、ページの最後に以下のコードが埋め込まれていました(画像ファイルなので触っても安心です)。

マルウェア(不正コード)

不正なコードの除去

どのファイルが、不正なコードを出力しているかを特定し、そのコードを削除します。

ページ下部なので、footer.phpテンプレート!」と思いませんか?
もちろんfooter.phpの可能性がありますが、必ずしもそうでない場合があります。過去のマルウェアコード駆除を行ったサイトで、「とあるファイルに不正コードがあり、そのファイルからフッターに出力する」といった手の込んだ不正コードがありました。

初心者でも出来る。「不正コードを出力するファイル」の簡単な見つけ方

ファイルのタイムスタンプを見る」というのが、初心者でも行える感染ファイルの見つけ方です。

例えばFTPでアクセスし、WordPressのテーマファイルを表示させます。
「日付」の部分が、最後に更新された日付(タイムスタンプ)です。下記画像を注視すると「footer.php」のタイムスタンプが、他のファイルと異なる事が分かる(footer.phpは8月4日、他のファイルは7月31日)。

FTPでタイムスタンプの確認

 

「8月4日にfooter.phpのみ更新されている」。

怪しいですよね?実際にこのファイルを開いてみたところ、やはり不正なコードが見つかりました。バックアップしてあったテーマファイルで上書きすれば作業は完了です(他のファイル、データベース、サーバーまで感染していない限り、これでWordPressサイト上のマルウェア駆除は終了です)。

 

マルウェアに狙われる?WordPressのファイル

当社がこれまで対応したWordPress障害対応履歴を確認する限り、以下のファイル上への不正コードを確認しました。マルウェア駆除の際に、確認することをお勧めします。

  • WordPressインストールディレクトリー上のindex.php
  • テーマファイルのindex.php
  • テーマファイルのfooter.php
  • テーマファイルのfunctions.php
  • wp-contentフォルダ上のindex.php
  • プラグインフォルダ上のindex.php

 

マルウェア対策。WordPressサイト上で何ができるか?

今回障害対応を依頼いただいたお客様は、Web・システム事業者ではない、一般の事業者様。WordPressの担当者もITの専門化ではなく、外注して制作したWordPressサイト上に記事を投稿出来る技術レベル。サイトの運用についての記録はなく、どこからファイルに不正なコードを加えられたか不明。対策費用も限られるといったケース。

予算をかけず、セキュリティーレベルを上げたいという事業者様へのお勧めは以下の通りです。

  • WordPressのアップグレード
  • 出所の不明なプラグイン・プログラムの停止
  • FTPアカウントのパスワードリセット
  • WordPressアカウントのリセット
  • ダッシュボードへのアクセス制限
  • Adminアカウントの削除
  • ディレクトリー・ファイルのパーミッション最適化

不正コード、マルウェアを検知してくれる便利なプラグイン

今回紹介した方法以外にもマルウェアを検知してくれる無料プラグインがあります。
使い方や、実際に検知できるか?をブログ記事にまとめました。FTPではなくプラグインを使ってサイトに埋め込まれてしまった不正コードを特定したい場合はぜひご覧ください。

→効果を検証!WordPress不正コード(マルウェア)検知するウィルス・スキャンプラグイン



LINEで送る
Pocket



この記事の関連記事