【参考】
- Web サイト改ざんに関する注意喚起(JPCERT/CC)
- 2013年6月の呼びかけ 「 ウェブサイトが改ざんされないように対策を! 」(IPA)
- @Police ウェブサイト改ざん事案の多発に係る注意喚起について(pdf)
- 5月から多発しているHP改ざんインシデントをまとめてみた。 - piyolog
当方のセキュリティ施策の例
- FTPをやめ、sshのみで管理運用
- sshのパスワード認証を禁止し、鍵認証のみとする
- sshサーバーのIPアドレス制限
- 脆弱性管理
- …
- サイトの管理用PCがゼロデイ脆弱性でマルウェアに感染し、管理用PCを踏み台として、管理用PCに保存された秘密鍵によりsshからログインされる
- サーバーソフトのゼロデイ脆弱性により侵入される
- VPSのコントロールパネルに脆弱性がある場合、コントロールパネルに侵入され、シングルユーザーモードからrootパスワードを変更された後、コントロールパネルのリモートコンソールからログインされる
- …
検討したツールは以下の通りです。
- Tripwire(オープンソース版)
- inotifywait
inotifywaitによる改変検知
Linux 2.6.13から、ファイルシステムのイベント監視APIとして、inotifyが組み込まれています。これを利用して、ファイルの改変検知を行うことにしました。inotifyを簡単に利用するためのコマンドとしてinotifywaitがあり、Ubuntuの場合下記によりインストールできます。$ sudo apt-get install inotify-toolsinotifywaitを用いて、/etc以下を監視する場合の起動例を下記に示します。
$ sudo inotifywait -m -e create,delete,modify,move,attrib --format '%T %w %f %e' -r --timefmt '%F %T' /etcオプションパラメータは以下の通りです。
-m | イベント後も継続する |
-r | ディレクトリを再帰的に監視する |
-e | 監視するイベントを指定 |
-format | 出力形式を指定 |
-timefmt | 時刻の表示形式を指定 |
この状態で、以下のように、/etc以下にファイルを作成してみましょう。
$ sudo touch /etc/xxxxx以下の出力が得られます。
2013-06-16 22:36:57 /etc/ xxxxx CREATEinotify(inotifywait)はリアルタイムに上記の表示が得られます。一方、オープンソース版のTripwireは定期的なバッチ処理による監視なので、リアルタイム性はありません。
2013-06-16 22:36:57 /etc/ xxxxx ATTRIB
ファイル改変の監視対象は以下としました。
- /etc/ 以下の設定ファイル
- バイナリ
- Webコンテンツ(.htaccess等含む)
- その他
攻撃側の対抗策として、侵入に成功後 inotifywait プロセスを止めてしまうというシナリオも考えられます。そこで、inotifywait の死活監視も実施することにしました。inotifywaitを呼び出すPerlスクリプトから、定期的にハートビートのメールを別サーバーに送信し、一定時間メールが来ない場合、別サーバーからメール通知するようにしています。
効果・まとめ
inotifywaitによるリアルタイム改ざん検知の導入について報告しました。導入の効果ですが、改ざんのことは忘れて他の業務に専念できる点が大きいと思いました。また、tripwire(オープンソース版)によるバッチの改ざん検知と比べてCPU負荷が軽いのもメリットです。
IPAの注意喚起では、Webコンテンツの改ざん有無をチェックするように呼びかけており、具体的な手段としては、(1)原本との比較、(2)セキュリティソフトによるスキャン、(3)FTPアクセスログの確認、という3種類の方法を紹介しています。これら手法は、一般的なツールだけで実現可能という理由から採用されたものだと思いますが、確実性や即時性という点で課題があります。リアルタイムにファイルの改変を直接監視することで、コンテンツが改ざんされていないという安心を得ることができます。
導入前は、誤検知(フォルス・ポジティブ)を心配していましたが、運用上問題ないレベルだと思います。ただし、これは私が一人で運用しているからであって、コンテンツを更新する人と監視をする人が別の場合は、運用ルールを定めないと、「コンテンツが変更されたが、正規の更新か、攻撃か分からない」という事態も起きそうです。
トータルで見て、小規模な企業ホームページなどで、多大な費用を掛けずに実施できるセキュリティ施策として、ファイル改ざん検知は有望な方法だと感じました。
※18:55修正 CPU負荷について追記、タイトルを微修正
0 件のコメント:
コメントを投稿