はじめに
こんにちは、マネージドサービス部の福田です。
セキュリティは、技術的な環境が日々進化する中で、常に最前線で対応しなければならない重要な分野です。
このブログでは、AWS Security HubとAmazon EventBridgeを使用して、セキュリティイベント情報をNew Relicに連携する方法について
紹介しようと思います。
後編はこちら
本ブログで得られること
- AWS Security Hubの概要
- Amazon EventBridgeの概要
- Amazon EventBridgeを利用したAWS Security Hubイベント情報のNew Relicへの連携方法
AWS Security Hubとは
AWS Security Hubは、AWSクラウド環境におけるセキュリティとコンプライアンスの管理を一元化するサービス
複数のAWSアカウントやサービスにわたるセキュリティの状態を簡単に把握し、管理することができます
AWS Security Hubのイベント情報について
Security HubはEventBridgeへ3つのイベントタイプとしてイベント情報を連携することが出来ます。
すべての結果 (Security Hub Findings - Imported):
Security Hubは、新しい検出結果と既存の検出結果の更新をEventBridgeに自動的に送信します。カスタムアクションの結果 (Security Hub Findings - Custom Action)
ユーザーがSecurity Hubで定義したカスタムアクションに関連付けられた検出結果を、EventBridgeに送信します。カスタムアクションのインサイト結果 (Security Hub Insight Results):
カスタムアクションを使用して、インサイト結果のセットをEventBridgeに送信します。
AWS Security Hubのイベント情報をNew Relicに送る方法
方法としては以下2種類があるかと思います。
どちらも共通してEventBridgeを使用し、送り先がNewRelic VulnerabilityAPIかNewRelic LogAPIと変わるだけです。
今回はEventbrige→New Relic Logの送り方を紹介します
- Amazon EventBridge→New Relic Vulnerability
- Amazon EventBridge→New Relic Log
Amazon EventBridgeとは
Amazon EventBridgeは、AWSサービスやサードパーティのアプリケーションからのイベントを受け取り、
それに基づいて自動的にアクションをトリガーするサービスです。
イベントソースからイベントバスにイベントが渡され、ルールに基づいて適切なターゲットにルーティングされます
イベントソース (Event Source)
- イベントソースは、イベントが発生する起点となるサービスやアプリケーションです。
- イベントソースの例:AWSのEC2やS3、Zendeskなど
- イベントソースの例:AWSのEC2やS3、Zendeskなど
- イベントソースは、EventBridgeにイベントをイベントバスに渡され、イベントパスは受け取ったイベントをルールに基づいて適切なターゲットにルーティングする役割を持ちます
イベントルール (Event Rules)
- イベントルールは、イベントバスに到達したイベントをどのように処理するかを定義するものです。
- ルールに以下が内容が含まれてます
- イベントパターン:このパターンに基づいて特定のイベントがルールに一致するかどうかが判断されます
- ターゲット:一致したイベントをどのターゲット(New RelicAPI、AWS Lambda関数、Amazon SNSトピックなど)に送信するか指定
- イベントパターン:このパターンに基づいて特定のイベントがルールに一致するかどうかが判断されます
- ルールは、イベントが発生した際に自動的にターゲットにアクションを実行させるためのトリガーとして機能します
Eventbrigeの設定内容(API の送信先)
Amazon EventBridge>API の送信先>接続先を作成より以下のように設定をします
API の送信先
- 接続
- 接続名:任意の名前
- 認証:APIキー
- キー:X-License-Key
- 値:New Relicライセンスキー
- 接続
- API接続先
- 名前:任意の名前
- API 送信先エンドポイント:New Relic LogAPI
- 米国(US)のエンドポイントの場合:
https://log-api.newrelic.com/log/v1
- エンドポイントの詳細: Log API を使用してログ データを送信します | New Relic Documentation
- 米国(US)のエンドポイントの場合:
- HTTPメソッド:POST
- 1秒当たりの呼び出しレート:300(デフォルト)
- 接続先:上記で作成したAPI接続を選択
Eventbrigeの設定内容(ルール)
{ "source": ["aws.securityhub"], "detail-type": ["Security Hub Findings - Imported"], "detail": { "findings": { "WorkflowState": ["NEW"], "RecordState": ["ACTIVE"], "ProductFields": { "aws/securityhub/ProductName": ["Security Hub"] } } } }
ルールの内容
- Security Hub Findings - Importedのみ
- 新規に発生したイベントのみ(解決したイベントは含まない)
- 以下イベントのみ
参考:NewRelic Vulnerabilityとは
AWS Security HubやSnyk、GitHub Depentabodで検知される情報と連携でき、NewRelic上で一元管理することができるようになります。
収集された情報は可視化、アラート通知することが可能になります。
また、コンソール画面からイベント情報の詳細を簡単にドリルダウンして確認することが出来ます。
New Relic Vulnerabilityの実際の画面
New Relic Vulnerabilityの懸念点
- New Relic アカウントがないとユーザはNewRelicにログインできないので利用することができない
- AWSから送られる情報がNew Relic側でカスタマイズされており、データ型の定義が見えづらい
- Eventbrige→New Relic Logの場合はAWSから送られる情報をそのままNRQLで使用できるためカスタマイズ性が高い&データ定義わかりやすい
New Relic Vulnerabilityのデータを使用したカスタムダッシュボード
(リソースタイプがHOST)
New Relic Logのデータを使用したカスタムダッシュボード
(リソースタイプがAwsIamPolicy)
さいごに
Amazon EventBridgeによりNew RelicへAWS Security Hubのイベント情報を送ることが可能になります
New Relicに送られた情報をどのように使用してダッシュボードとして表示できるのかについては次回ご紹介できればと思います。