パソコントラブルから情報資産を守ります!サポートで社会に貢献!オレンジセキュアサービス株式会社
トップページ法人のお客様個人のお客様宅配サービス資料・コラム会社案内
security

WEB サイト改ざん検知を手軽に行う応用編

トップページ > 資料・コラム > ウイルス対策
公開日 : 2013年8月5日

WEB サイト改ざん検知を手軽に行う応用編

PHP プログラミングで手軽に改ざん検知!

PHPプログラミング

Gumblar による日本国内の WEB サイト改ざん被害が急増する中、当社で復旧のお手伝いをさせて頂いたほとんどのお客様は「改ざん予防の不備」が根本の問題です。そして過去に復旧・予防をお手伝いしたサイトで再発するケースはありません。つまり侵入経路をきちんと把握し、対策を立てていれば、WEB サイト改ざん被害に遭うことはまずありませんが…

しかし、ヒューマンエラーと言いましょうか、WEB サイトを管理そして運用するのは人間であり、ミスから牙城が崩れてしまう恐れも。ガチガチの対策を行っていると思える大手企業のサイトでも改ざん事故のニュースがあるくらいですから、予防だけの対策だけではなく、改ざん検知も含めた PDCA の対策が求められています。

なお、ニュースサイトだけではなく、改ざんサイト情報を収集して公開しているサイトもあるなど、専門家ではない一般人でも WEB サイト改ざん事故の認知度は常識となりつつあります。また事故を経験したサイトであれば、そのサイトを閲覧しているお客様側は一度失敗したのだからこれからは大丈夫と期待されているでしょう。

そして万が一、改ざん事故が再発したときに、お客様の指摘で改ざんを把握したのでは無責任な会社と思われてしまう風潮もあります。当たり前のように管理体制が問われており、企業としての信用を落としてしまいます。すなわち運営側で改ざん検知 → 速やかな復旧と予防といった管理体制が問われています。

そこで前回の「 PHPプログラミングでサイト改ざんを手軽にチェックする方法 」に続き(まずはこちらを読んでください)、改ざん検知のための応用のプログラミングを紹介します。PHP を使えばほとんどの改ざん検知が可能ですので、ぜひぜひ研究して役立ててください。

お問い合わせフォームスマホ版のページ

改ざん検知の定義について

PHP プログラムでは、例として既存に設置してある「.htaccess」ファイルの改ざん検知を行います。それではどのような状態だと改ざんとなるのでしょうか。

「.htaccess」ファイルは日常的に書き換えることはなく、デザイナーさんに作ってもらったサイトであれば、リニューアルする時くらいしか書き換えることはありません。そこでファイルに変更があった場合は異常ですので検知します。なお「.js」ファイルといったその他の改ざん対象となるファイルも同じく、リニューアル時くらいしか書き換えません。こちらも変更を把握することで改ざんを検知します。

変更を検知する方法としては MD5 を比較します。 MD5 はファイルの改ざんをチェックするための仕組みです。そして PHP で簡単に把握できます。事前に該当ファイルの MD5 を調べておき、比較することで変更を検知します。

なお、厳密には変更を検知することになりますが、変更を検知さえできればソースを確認し改ざんをチェックできますし、仮にソースが読めなくてもスタッフ間で変更したかどうか確認すれば改ざんと判断できます。

ちなみにですが、前回「改ざん検知のチェックとして、トップページのソース確認はとても有効です」と紹介しました。 WEB サイト改ざん事故の多くはトップページに改ざんが入るという統計的な根拠があります。ソース確認であればサッとできますのでプログラミングについては省略しますが、念のため、改ざん検知の定義についてふれておきます。

トップページや常に更新するページでは変更が多く、上記のような MD5 の比較は手間が多くなり現実的ではありません(変更しない過去記事での MD5 比較は有効です)。

ただし Gumblar による改ざんは「 iframe 」や「 JavaScript 」の記述が挿入されるので、これらの文字数をカウントする PHP プログラムを作り、増えることがないかチェックするのでも良いでしょう。これらの記述も日常的に書き換えることはなく、デザイン変更時しか記述しません。改ざん検知サービスの中には「 iframe 」と「 JavaScript 」の記述のみをチェックしている商品もありますし、実際に改ざん内容も「 iframe 」や「 JavaScript 」に限定されています。

なお、今後の改ざん動向がどうなるか不明ですので、一度設置したら終わりではなく、改ざん事故の変化とともに検知する条件を見直し、最適にプログラミングしてください。

PHP プログラミング

「.htaccess」ファイルや「.js」ファイルは、WEB サイトのリニューアルくらいでしか変更することがありません。そのため、MD5 を使い変更を検知すれば、手軽に改ざんを検知できます。関数は md5_file()です。

この関数で該当ファイルの MD5 を取得しておき、if 文でこの値が変化していないか比較します。もし変わった場合はソースを確認したり、スタッフ間で変更したかどうか確認し改ざんを確認してください。

まずは下記 PHP ファイルを作成し、該当ファイルの MD5 を取得しておきます。



<?php
echo md5_file('/home/orangess/www/.htaccess');
?>



例としてさくらインターネットさんは'/home/hoge/www/.htaccess'となり、お使いのレンタルサーバーに合わせてください。またさくらインターネットさんではドメイン直下の「.htaccess」という意味のパスになり、hoge は契約のアカウント名に変更してください。

このファイルを実行すると MD5 が取得できします。仮に上記ファイルをドメインの直下に「md5.php」で保存したなら、www.ドメイン名/md5.php と url を入力します。

md5

MD5 が表示されたらコピペしてください。ここでは「d41d8cd98f00b204e9800998ecf8427e」です。この値はそのファイルを変更しない限り変わりませんので比較の原本として使います。

次に改ざん検知用の下記 PHP ファイルを作成し、定期的に実行します。



<?php
if (md5_file('/home/orangess/www/.htaccess') == 'd41d8cd98f00b204e9800998ecf8427e') {
echo "OK";
} else {
echo "NG";
}
?>



このファイルを実行すると、ドメインの直下の「.htaccess」ファイルに変更がないか MD5 を比較します。変更がない場合は「 OK 」が表示され、変更があると「 NG 」を表示ます。仮に上記ファイルをドメインの直下に「md5if.php」で保存したなら、www.ドメイン名/md5if.php と url を入力します。

md5

なお、検証方法としては「.htaccess」ファイルを書き換えて、FTP でアップします。ファイルを変更したので「 NG 」と表示されます。ちなみに「.htaccess」ファイルは設定ファイルです。うかつなを変更するとサーバが正常に動作しなくなりますので、お使いのレンタルサーバで解説している事例などをコピペして FTP でアップしてください。検証後は元のファイルをアップし直します。

それでも改ざんチェックができない場合は…

たとえば「少数精鋭のスタッフでホームページを運用しているので忙しい時期はチェックすらもできない」など、諸事情で改ざんチェックができない場合もあるかと思います。しかし、その反面で被害に遭うとホームページを閲覧しているお客様にウイルス損害を与えてしまったり、改ざんサイト情報を収集して公開しているサイトに載ったり、企業としての信用を落としてしまう恐れも。

当社では改ざん復旧と予防の他にも、改ざん検知(復旧も含む)サービスも行っています。小額でセキュリティを確保したい場合はぜひご検討ください。なお、100 万ページ規模のビック Webサイトでも 36 時間以内での復旧実績があります。さらに実績も豊富です。お困りの際はぜひご依頼ください。

【関連記事、リンク】

WordPress 改ざん時の復旧方法

WordPress の改ざん原因と対策

WordPress 改ざん事故でパスワードクラックされたかを調べる方法

PHPプログラミングでサイト改ざんを手軽にチェックする方法

「このサイトはコンピュータに損害を与える可能性があります。」の対処法

WEB サイト改ざん時の「覚えのないファイルのチェック」とは?

WEB サイトの改ざんを修正したら文字化けで…の注意点

GUMBLAR ウイルスの駆除方法

GUMBLAR(ガンブラー)ウイルスは Movable Type でも改ざん被害に遭います

GUMBLAR(ガンブラー)ウイルスの本当の予防法

GUMBLAR(ガンブラー)? と思った時のホームページ確認方法

Daonol ウイルス(パソコンが起動しない)の予防法と対処法

マルウェアとハッキングされたサイトについて

Fetch as Google

クローキング

【ご案内】

大規模、高度、ウイルス駆除サービス

ウイルス駆除サービス(出張、宅急便、お持込み)

東日本震災復興支援特別割引サービス(中長期実施)のご案内

当社サービスをピックアップ

大規模、高度、保守

法人のお客様

200台規模ネットワークの Downadup ウイルスの駆除、RAID サーバのデータ復旧など、大規模でも高度な障害でも復旧実績が数多くあります。またトラブルの現場をよく知る当社には、事故を未然防止するセキュアなノウハウや IT 活用事例がぎっしりと詰まっています。障害復旧も保守もぜひお任せください。

PC 1台や周辺機器

法人/個人のお客様

これまで培ってきた技術と経験でパソコン 1 台やビデオカメラ、周辺機器のトラブルを、情熱を持ってしっかりと解決します。ひとつでも多くの困ったを解決し、これからもお客様との信頼関係を築いていきます。法人のお客様も個人のお客様も、高度な障害でも復旧する当社にお任せください。

お持ち込みは秋葉原

法人/個人のお客様

オンサイト(出張)でのサポートを基本としている当社ですが、宅配・持込みも受付けています。ひとりのエンジニアが複数台を作業できるため効率が良く、料金を格安に抑えています。もちろん品質はオンサイトと変わりません。ぜひお持ち込みもご検討ください。宅配で全国の困ったも解決します!


オレンジセキュアサービスとは?

2006年に創業し、サーバ保守メンテナンスやセキュリティ対策の提案と施工、またウイルス駆除やデータ復旧といったトラブルレスキューを一貫して行ってきました。本社は埼玉県の杉戸町にあり、埼玉県の熊谷市、行田市、東京都の秋葉原(千代田区)に支社があります。

敷地の大きな本社でサーバやネットワークの技術研究、導入前テストを行い、また小さな事務所ですが世界に誇る IT の街 東京・秋葉原でサポート業務や営業活動を展開しています。サーバや IT 業界の最新の情報を得るために(社)コンピュータソフトウェア協会に加盟しています。

トラブルレスキューやセキュリティ構築、保守の実績としては、市町村、国公立大学、高校、上場企業、中小企業、特殊法人、一般のお客様と幅広くご利用いただいています。また大手 SIer、事務機器販売店、地域電器店の皆様の保守やサポートを代行しています。

トップページ | 法人のお客様 | 個人(法人)のお客様 | 宅配・持込み | 資料とコラム | 会社案内 | 


オレンジセキュアサービスとぜひ交流を! Twitter | Facebook | データ復旧実績ブログ | 社長のブログ

  

このコラムで紹介している予防法や駆除方法など、すべての情報はユーザーの自己責任で利用して頂きます。もし情報を利用することで損害等が発生しても一切責任を負いません。また記事・画像など、すべてのコンテンツの無断複写・転載等を禁じます。もちろん引用は可能ですが、引用元となる当サイトへのリンクは必ず行ってください(リンクはページリンク可)。ご不明な点はお問い合わせください。

Copyright© オレンジセキュアサービス株式会社 All rights reserved.
東京都千代田区神田佐久間河岸70 第二田中ビル 5 F
ウイルス駆除、データ復旧、データ消去、サーバ・ネットワーク・セキュリティ構築、保守・代行サポート
出張エリア : 東京・埼玉・茨城・栃木・群馬・千葉