ログと監視の不備
ログ記録と監視は、問題が発生した後に初めて検討されることがよくありますが、これらを適切に実施しないことは、非常に大きな損失につながる可能性があります。
極端な例として、セキュリティ関連か否かを問わずインシデントが発生した際、ログがほとんど、あるいは全く残っていないと、実際に何が起きたのかを解明することが不可能になります。一方で、過剰なデータを記録しすぎるとプライバシーの問題が生じ、規制当局とのトラブルに発展する恐れもあります。
以下では、より良いログ記録と監視を実現するためのベストプラクティスをご紹介します。
ベストプラクティス
効果的なログ記録と監視のためのベストプラクティスを見ていきましょう。
機密性の高い機能に対する監査ログ
ログイン試行(成否を問わず)、ユーザーアカウントの変更、機密データへのアクセスや変更など、機密性の高いイベントについては監査ログを作成することが重要です。これは一般ユーザーだけでなく、内部ユーザーや管理者によるアクセスについても同様です。
こうした操作を記録しておくことは、内部・外部を問わず不正アクセスが疑われる事態において極めて重要となります。
インシデント発生時には、誰がどのデータにアクセスしたかを把握し、被害の規模と範囲を特定することが不可欠です。
エラーログ
エラーログや警告ログの保持は、アプリケーションの健全性を監視するための一般的なエンジニアリングのベストプラクティスであるだけでなく、危険を知らせる警告フラグとしても機能します。
攻撃者が脆弱性を探索している際、大量のエラーや警告が発生することがよくあります。これらを監視することで、攻撃者がアプリケーションの脆弱性を発見した可能性を早期に察知できます。
ログの一元管理
ログは常にリアルタイムで送信し、一元管理された場所に保存すべきです。これは、SIEMによる分析のためにログを即座に利用可能にするためだけでなく、サーバーに侵入した攻撃者によるログの改ざんや削除を防ぐためでもあります。
ログの一定期間の保持
残念な現実として、ほとんどの侵害は検知までに数日を要し、実際に20%の侵害は検知までに数ヶ月を要しています。侵害から検知までの期間がこれほど長い場合、何が起きたのかを判断するための唯一のデータ源がログになることが少なくありません。
そのため、ログを適切に定義された期間保存することは非常に重要です。PCIなどの基準では、過去3ヶ月分のログを遅延なくアクセス可能な状態にし、過去12ヶ月分のログについては要求に応じて復元できる状態にしておくことが義務付けられています。
このアプローチは、潜在的なインシデントの調査を迅速に開始できる利便性と、コールドストレージを活用したコスト管理との間で、優れたバランスを保つことができます。
ログのPII(個人識別情報)を定期的に監査する
ログは潜在的なインシデントを調査する上で非常に有用ですが、実際にはログそのものがインシデントの原因となることもあります。
インシデント調査に必要な情報を含めることと、ログを取りすぎることの間には微妙なバランスがあります。誤ってPIIをログに含めてしまうことは珍しくなく、それがプライバシー規制上の問題を引き起こす可能性があります。
ログにPIIが含まれていないか定期的に監査し、確実に削除することが重要です。
実践的なセキュアコーディング
OWASP Top 10のようなソフトウェアの脆弱性を理解し軽減するためのセキュアコーディングガイドラインを確認しましょう。また、実践的なアプリシミュレーションを通じて学べるトレーニングミッションにもぜひ挑戦してください。