ソフトウェア・インテグリティ

 

ロギングと監視のベストプラクティス・トップ7

ロギングと監視のためのソリューションを構築する際に、どこから始めればいいのかわからない場合は、ロギングと監視のベストプラクティス・ガイドを参考にして作業を開始してください。

作成者:シノプシスのシニア・セキュリティ・コンサルタント、Nivedita MurthyAshutosh Rana

ロギングと監視のベストプラクティス | シノプシス

ロギングと監視の概念は新しいものではありませんが、組織は依然としてセキュリティに重点を置いたロギングと監視のポリシーを策定して実装するために苦心しています。セキュリティチームは、従来の運用指標を収集するだけでなく、さまざまな攻撃を保存、分析、さらには軽減することもできるロギングおよび監視プログラムを構築する必要があります。情報を収集および分析するこのプロアクティブなアプローチは、「アプリケーション・レベルのログ」によるコードの問題の検出、「AWS/Azureなどのインフラストラクチャ・ログ」を用いた異常なネットワーク・トラフィックの特定など、さまざまな方法で開発チーム、システム管理者、セキュリティチームにとって役立つ情報が得られ、高度なセキュリティ情報およびイベント管理機能を使用して、セキュリティ・インシデントを検出および防止することが可能となります。以下でご紹介するロギングと監視のベストプラクティスを採用することで、これらの課題に対処できます。

シノプシスのコース・カタログをすべて見る

1. ログに記録して監視する必要性を定義

組織がログの記録を必要としている理由を明確にすることは、記録する必要がある対象を定義するのに役立ちます。たとえば、下記は組織がそのような対策を必要とする可能性のある理由の一部です。

  • コンプライアンスのため
  • 法規制のため
  • インシデント対応のため

これらの目的について、セキュリティ・ガバナンス・チーム、法務部門、およびその他のステークホルダーと話し合うことは、ログ記録と監視の目標を定義するのに役立ちます。

2. ログを記録する必要があるものと、それを監視する方法をリスト化  

目標に基づいて、取得すべきメタデータとログに記録すべきイベントを決定します。ログに記録されるメタデータとイベントの例と理由は次のとおりです。

  • PII/PHIトランザクションをHIPAAに準拠
  • 金融取引をPCI DSSに準拠
  • サーバーへの認証試行(ログインの成功/失敗、パスワードの変更)
  • サーバー上で実行されたコマンド
  • データベース上で実行されたクエリ(特にDMLクエリ)

インフラストラクチャ管理者とセキュリティチームは協力して従来の運用指標を収集して分析し、攻撃を軽減可能な、効果的なログの記録と監視のためのプログラムを構築する必要があります。ログイン試行の複数回の失敗やサーバーで実行されたコマンドの毎週の通知など、特定のイベントに関するアラートを設定して、これらのイベントを監視できます。また、アプリケーションチームと協力して、ログエントリのさまざまな属性が何を意味するのかを理解することも重要です。通常の運用のベースラインを取得したら、アプリケーションのセキュリティ・リスク・プロファイルに基づいて、異常に対してトリガーされる相関ルール、集計、しきい値、アラートを構成できます。たとえば、すべてのログエントリには少なくとも次のものが必要です。

  • アクター(誰が:ユーザー名、IPアドレス)
  • アクション(何を:対象リソースへの読み/書き)
  • 時刻(いつ:タイムスタンプ)
  • ロケーション(どこで:地図上の場所、ブラウザ、コードスクリプト名)

3. 監視する必要のある資産とイベントを特定  

ログデータはパフォーマンスとコストに影響を与える膨大な量のデータセットです。監視する必要のあるデータを決定するときは、まず、すべてのデータを対象にするところから始めます。どのシステム/アプリケーションを監視する必要があり、どのレベルの監視が必要かを特定する必要があります。また、法定上、規制上、または契約上の要件に従って、データとシステムを分類する必要があります。この分類は、セキュリティ・システムの分類やビジネスデータの分類とは異なる場合があることに注意してください。

4. ロギングと監視のための適切なソリューションを決定

スケーラブルで復元力のあるロギングおよび監視プログラムを構築する際に、商用製品とオープンソース・プロジェクトの両方から選べる多くのソリューションがあります。ロギングや監視のアーキテクチャに最適なテクノロジーを選択することは困難な作業になる可能性がありますが、いくつかの重要なポイントを以下に示します。

  • 監視プロセスを可能な限り自動化
  • 脅威の進化に応じてアラートとログのソースを随時調整
  • ログとアラートが標準化されたフォーマットであることを確認

5. セキュリティを念頭に置いてロギングおよび監視システムを設計

ロギングおよび監視プログラムは、組織全体の活動を調査し、機密情報が含まれている可能性があるため、それ自体が組織の資産です。その資産を保護するために考慮すべきいくつかのポイントがあります。

  • イベントログの機密情報を事前に編集/マスク/匿名化して、機密情報が平文で記録されないようにする(PHI/PII情報など)
  • RBAC(ロールベースのアクセス制御)の適用
  • ログの整合性チェックを実施して、ログが改ざんされていないことを確認
  • 保管時と転送時に暗号化を適用
  • ログのソースを構成するときは、最小権限の原則に従う
  • 保存および処理する前にログをサニタイズ
  • 高可用性と冗長性のための機能を含める

6. 組織全体のロギングおよび監視ポリシーを採用

セキュリティチームと協力して、すべてのシステムのログ要件を詳細に定義する全社的なポリシーと手順を実施します。これにより、一貫性が確保され、ロギングのプロトコルと手順が確実に遵守されます。強力な権限と企業の支援を受けたポリシーにより、ロギングと監視のプラクティスが確実に守られます。

7. アクティブな監視、アラート、およびインシデント対応計画を確立

強力なロギング方式が設定されていなければ、組織にはインシデントの発生する前、最中、および発生後の状況が全くわかりません。高度なシステムへの攻撃は、多くの場合、数か月または数年にわたって実行されます。このようなプローブを検出してブロックすることができなければ、モチベーションを持った攻撃者がその間にアプリケーションをゆっくりと分解し、気付かないうちに実際のエクスプロイトが発生する可能性が高くなります。このような事態を防ぐには、次の手順が不可欠です。

  • インシデント対応計画の作成と定期的なリハーサルの実施
  • 適切な時間内にアラートをトリガー
  • アラートに対してアクティブな自動アクションを実行

セキュアなロギングおよび監視プログラムを構築することは容易ではありませんが、あらゆるアプリケーション・アーキテクチャに不可欠な要素であり、意欲的で断固とした敵による高度な攻撃を検出し、ブロックする上で大きな違いをもたらします。シノプシスのeラーニング・コースを確認して、ロギングと監視のベストプラクティスの詳細をご覧ください。

アプリケーション・セキュリティのベストプラクティスに関するコース・カタログ | シノプシス