前回は、WordPressへのウィルス感染を防ぐ方法について考えてみましたが、今回は、侵入を許し、ファイルなどの改竄(改ざん)を受けた場合にそれをいち早く発見する方法を考えてみます。Woddpressが乗っ取られた場合、ウィルスなどを仕込まれることが有ります。仕込まれ方は大きく3つ有ります。

  1. WordPressサイト上のファイルを改竄(改ざん)あるいは追加して、悪意あるプログラムを設置する。
  2. 投稿などの中にスクリプト(主にJavascript)を設置してサイト上で動作させる。
  3. サーバー上の他のサイトや他のファイルを改竄(改ざん)あるいは追加して、悪意あるプログラムを設置する。

それぞれについて、定期的にチェックする方法を考えてみます。

WordPressサイト上のファイルを改竄(改ざん)あるいは追加して、悪意あるプログラムを設置する。

この書き換えは、実際にファイルが書き換わるため、サイト上のWordPressやプラグイン、テンプレートのファイルが書き変わっていないかを定期的にチェックすることで発見できます。

サイトを公開する際や修正する際に、ローカルのPC上や開発環境上にも各ファイルを保持しておき、定期的にサーバー上のファイルと比較チェックする方法が有効です。

この方法の注意点は

  • 管理画面からアップロードされたファイルはサーバー上だけで増えていくためチェックの対象外と考える。
  • キャッシュなどのファイルを生成するプラグインではキャッシュされたファイルは対象外とする。
  • 本番環境上でWordPressやプラグインのアップデートが合った場合はそのファイルを対象外とする。

必要があります。

もちろん、キャッシュファイルの中やアップデートのタイミングで悪意あるプログラムが設置される可能性もありますが、上記をチェックするだけでもかなりのファイルの改竄(改ざん)がチェックできます。

弊社サービスでは、上記を1日1回チェックし、差分がある場合はメールにて自動的にご報告しております。(WordPressの自動アップデートも改ざんとして検出されることが有ります)

投稿などの中にスクリプト(主にJavascript)を設置してサイト上で動作させる。

投稿などの中にjavascriptを仕込まれてしまった場合、発見が非常に困難です。なぜなら、たくさんあるJavascriptの中から悪意あるスクリプトを発見すること自体が困難だからです。しかし、多くのWordPressサイトでは、投稿の中にJavascriptを仕込むことはほとんどありません。そこで、現在弊社では、Javascriptを仕込むことがないサイトを予め確認し、scriptタグが投稿内に設置されたことをアラートできる仕組みを検討しています。

また、投稿の中のチェックは難しくとも、チェック出来る箇所はあります。「ウィジェット」や「メニュー」です。ウィジェットやメニューは、投稿と異なり、複数のページで表示されるため、悪意あるスクリプトの設置場所に選ばれやすい傾向があります。(投稿に設置しても、その投稿が表示されなければ悪意あるスクリプトは実行されない)また、「ウィジェット」や「メニュー」はサイトを公開した後は、普段あまり中を見ることがありません。

サーバー上の他のサイトや他のファイルを改竄(改ざん)あるいは追加して、悪意あるプログラムを設置する。

これもサーバー管理会社を信用していただくしかありません。ただ、上の「WordPressサイト上のファイルを改竄(改ざん)あるいは追加して、悪意あるプログラムを設置する。」で記載したファイルの改竄(改ざん)チェックを行っていれば、サイト自体に関する改竄(改ざん)はチェックできると思います。

これらの問題に対し、弊社サービスではファイルの変更を1日1回自動で履歴管理と比較チェックする仕組みを導入しております。また、DB上のスクリプトチェックの方法も現在検討中です。毎度宣伝になってしまいますが、ご興味のある方は無料お試しからお試し下さい。