多発するWeb改ざんに備えてinotifywaitによる改ざん検知を導入したWebサイトの改ざん事件が多発しています。Webサイトに対する基本的なセキュリティ施策を実施していればまず被害にあうことはないとは思うものの、全ての手口が公開されているわけではないので、何となく「嫌な感じ」もします。ウェブサイト改ざん事案の多発に係る注意喚起について(pdf)5月から多発しているHP改ざんインシデントをまとめてみた。piyolog当方のサイト(会社、個人)は、一通りのセキュリティ施策は実施しているつもりですが、絶対に改ざんされないかというと、改ざんされることは想定しておかなければならないと考えています。脆弱性管理...上記のセキュリティ施策を講じていても、例えば以下のような侵入シナリオが考えられます。サイトの管理用PCがゼロデイ脆弱性でマルウェアに感染し、管理用PCを踏み台として、管理用PCに保存された秘密鍵によりsshからログインされるサーバーソフトのゼロデイ脆弱性により侵入されるVPSのコントロールパネルに脆弱性がある場合、コントロールパネルに侵入され、シングルユーザーモードからrootパスワードを変更された後、コントロールパネルのリモートコンソールからログインされる...私自身としても、サイトに侵入されてしまうかもしれないという想定は心情的には受け入れにくいものではありますが、冷静に考えれば侵入されるという事態はあり得るわけで、仮に侵入された場合に素早く対処できる施策を施しておきたいと考えるようになりました。言っても、何分にも個人経営のサイトですので、掛けられる予算も限られています。そこで、無償で利用できる改ざん検知ツールについて検討しました。検討したツールは以下の通りです。Tripwire(オープンソース版)inotifywait実際には両方を導入して運用していますが、本稿ではinotifywaitについて報告します。2.6.13から、ファイルシステムのイベント監視APIとして、inotifyが組み込まれています。これを利用して、ファイルの改変検知を行うことにしました。inotifyを簡単に利用するためのコマンドとしてinotifywaitがあり、Ubuntuの場合下記によりインストールできます。inotify-toolsinotifywaitを用いて、/etc以下を監視する場合の起動例を下記に示します。/etcオプションパラメータは以下の通りです。時刻の表示形式を指定この状態で、以下のように、/etc以下にファイルを作成してみましょう。/etc/xxxxx以下の出力が得られます。ATTRIBinotify(inotifywait)はリアルタイムに上記の表示が得られます。オープンソース版のTripwireは定期的なバッチ処理による監視なので、リアルタイム性はありません。ファイル改変の監視対象は以下としました。起こる度にメール通知するスクリプトを書きました。inotifywaitはリアルタイムにファイルに対するイベントを監視できますが、イベントの度にメールを送信すると、1度に何通ものメールが送信されるのでうれしくありません。そこで、こちらを参考にして、イベント発生後5秒の間に発生したイベントをまとめてメール通知しました。参照したエントリはシェルスクリプトによる方法を紹介していますが、私はPerlにより記述して、デーモンとして常駐させています。プロセスを止めてしまうというシナリオも考えられます。死活監視も実施することにしました。inotifywaitを呼び出すPerlスクリプトから、定期的にハートビートのメールを別サーバーに送信し、一定時間メールが来ない場合、別サーバーからメール通知するようにしています。効果・まとめinotifywaitによるリアルタイム改ざん検知の導入について報告しました。導入の効果ですが、改ざんのことは忘れて他の業務に専念できる点が大きいと思いました。tripwire(オープンソース版)によるバッチの改ざん検知と比べてCPU負荷が軽いのもメリットです。IPAの注意喚起では、Webコンテンツの改ざん有無をチェックするように呼びかけており、具体的な手段としては、(1)原本との比較、(2)セキュリティソフトによるスキャン、(3)FTPアクセスログの確認、という3種類の方法を紹介しています。これら手法は、一般的なツールだけで実現可能という理由から採用されたものだと思いますが、確実性や即時性という点で課題があります。リアルタイムにファイルの改変を直接監視することで、コンテンツが改ざんされていないという安心を得ることができます。導入前は、誤検知(フォルス・ポジティブ)を心配していましたが、運用上問題ないレベルだと思います。これは私が一人で運用しているからであって、コンテンツを更新する人と監視をする人が別の場合は、運用ルールを定めないと、「コンテンツが変更されたが、正規の更新か、攻撃か分からない」という事態も起きそうです。トータルで見て、小規模な企業ホームページなどで、多大な費用を掛けずに実施できるセキュリティ施策として、ファイル改ざん検知は有望な方法だと感じました。