MEGAZONE

MEGAZONEブログ

Build a security posture leaderboard using AWS Security Hub
re:Invent 2023 Security/Compliance & Identity

Build a security posture leaderboard using AWS Security Hub

Pulisher : Cloud Technology Center イ・イェウン
Description : AWS Security Hubの結果を活用したセキュリティおよびコンプライアンスダッシュボードを構築するワークショップセッション

今回のセッションに参加した理由は、AWS Security Hubの結果を活用したセキュリティとコンプライアンスのダッシュボードを構築する経験を得るためです。

QuickSightとAWS Glueを実習し、実際にリーダーボードを作成し、中央集中型ダッシュボードを通じて分散された組織構造をサポートする方法について理解を深めたいと思い、セッションを申し込みました。

Security leaderboardが必要な理由と構成されたアーキテクチャの一部を実習し、ダッシュボードのカスタム方法などを実習するセッションでした。

Security leaderboardは、アプリケーション、製品、Lobs(Lob)ラインなどにわたってAWSのセキュリティとコンプライアンスの問題を報告・分類し、措置を取ることができる統合された可視化画面であり、情報保護チームメンバー間の統合された結果を認識し、コミュニケーションが円滑に進むことができます。 また、結果に対するデータ(セキュリティスコアなど)を通じて優先順位の識別と定型化されたデータ指標になるため、使用が必要だと述べました。

次に、Security leaderboardの簡単な構成は次のようになります。
1.検知:AWS Security Hubの設定及び構成
2.ビジネスコンテキスト:AWS Security Hub findingsを強化する。
3.長期ストレージ:AWS Security Hub findingsをエクスポートする。
4.可視化:検索結果照会とsecurity leaderboard構築

ワークショップの前に、Amazon Athena、Amazon QuickSight、AWS Glueを使用して、組織のセキュリティ状況のさまざまな側面について、Security Hubのデータから可視化を作成するために使用できるAWS分析サービスの流れについて簡単に説明しました。

ワークショップ

上の図は、ワークショップでSecurity Hubの結果を使ってセキュリティ可視化のためのアーキテクチャです。

ワークショップでは、Security Hubは基本的に構成されており、Glue/Athena/QuickSightを通じて可視化する方法について実習しましたが、Security Hubの結果をエクスポートする方法の概要は次のとおりです。

1.新しいSecurity Hubの結果または既存の結果に対する更新は、Security Hubの結果に対するEventBridgeルールをトリガーします。フィルタ条件を含むインポートされたイベントは、まだ強化されていない結果だけを処理します。sh-enrichment-function このルールは、ルールと一致するイベントに対してAWS Lambda関数をトリガーします。


2.リソースタグなどの詳細情報を収集し、Security HubのAPI sh-enrichment-functionを使用して、その詳細情報でSecurity Hubの結果を更新するための結果(この場合はAmazon EC2およびVPCリソース)に関連付けられたリソースを照会します(BatchUpdateFindings)。


3.新しいSecurity Hub結果または既存の結果に対する更新は、Security Hub結果に対するEventBridgeルールをトリガーします。これは、すでに強化された結果を処理するために取得されたイベントです。EventBridgeルールは、Amazon Kinesis Data Firehouse(KDF)転送ストリームをトリガーするように設定されています。


4.Amazon Kinesis Data Firehoseは、データストア、データレイク、分析ツールにデータを提供するための完全管理型サービスです。Kinesis Data Firehoseを使用すると、Kinesis Data Firehoseにデータを送信するようにデータプロデューサーを設定することができ、指定した宛先にデータが自動的に送信されます。この場合、Security Hubの結果をJSONドキュメントとしてAmazon S3バケットに転送するようにKDF転送ストリームを設定します。


5.結果がAmazon S3バケットに渡されると、sh-transform-function S3バケットに追加された各オブジェクトに対してS3-Event-Notificationsを通じてAWS Lambda関数がトリガーされます。


6.sh-transform-function 複雑なネスト構造を平坦化してSecurity Hubの結果JSON文書を変換し、変換された結果を同じAmazon S3バケット下の別のフォルダに保存します。

    まず、Athena用データカタログを生成するため、Glueクローラーを生成して確認する必要があります.

    AWS Glueは、S3またはその他のデータソースに保存されているデータを自動的に検索、分類、整理することができる完全に管理されたETL(抽出、変換、ロード)サービスです(AWS GlueはAWS Athenaのデータカタログを作成するために必須ではありませんが、プロセスを簡素化し、データをより効果的に管理・検索するのに役立つ追加機能を提供します)

    AWS Glueコンソールを使用して、S3で新しく収集したデータのスキーマを検索するGlueクローラーを作成します。

    データのソースがあるS3 Bucketを選択し、新しいデータベースを生成します(IAM roleは設定済み)

    Crawlerを生成した後、実行し、カタログで生成されたデータベースとテーブルを確認することができます。

    次は、Amazon Athenaを使ってSecurity Hubの結果データをクエリできることを検証しました。

    Amazon Athena > Query Editorで設定を編集してクエリ結果を保存するためのS3位置を設定します。

    クエリエディタで以前生成したデータベースを呼び出して、awslogsテーブルで特定の列を検索し、エイリアスを使って列名を変更して出力できるクエリを構成して実行しました。

    Athenaを使ってAWS Glueで生成したスキーマメタデータを使ってawslogsフォルダのデータをクエリすることができ、実際の使用時にはクエリエディタを使って効果的に結果が出るように構成することができます。

    次はAmazon QuickSightを使ってセキュリティーダッシュボードを生成しました。

    Amazon QuickSightは、S3、RDS、RedshiftなどのAWSサービスはもちろん、サードパーティのデータベースやAPIを含む様々なデータソースと統合されるクラウドベースのビジネスインテリジェンス(BI)サービスです。

    QuickSightアカウントを作成し、AWSサービスへのQuickSightアクセスでAmazon S3をクリックしてアカウント作成を完了します。

    部署のセキュリティ状態を比較するためのカスタムセキュリティスコアを作成して可視化することを実習し、セキュリティスコアに関するクエリを追加します。

    最初はテーブル形式で作成し、Datasetの追加やValueの値などを調整して希望する値が出るように修正しました。

    さらに、値に応じた色の変更などを通じて、企業で必要な情報などをカスタムして視覚化することができました。

    同様の方法で右のようなVisualも作成し、部署別のセキュリティスコアと環境別の深刻度数を確認できる可視化ダッシュボードを実習を完了しました。

    クラウドに移行して運営を拡張すると、運営/インフラが必要なセキュリティ目標を満たしているかどうかを処理、分析、識別するために大量のデータを持つことになり、組織のセキュリティ状態を確認し、異常値を識別し、迅速な意思決定を行うためには、様々な方法で情報を提供できるダッシュボードまたは視覚化が必要と判断され、当該ワークショップセッションを通じて様々な方法で視覚化できる方法の基礎(結果フィルタリング方法、生成方法など)を実習し、学習することができました。

    ただし、Security Hubの結果に対する構成を実習できなかったため、今後個人的に実習を行い、追加的な学習を行う予定であり、機会があれば他のコンテンツで紹介できればと思います。

    ブログ一覧

    この記事の読者はこんな記事も読んでいます