IPv4 および のセキュリティグループ進入ルールで単一ホストネットワークエントリをチェックします。 IPv6 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

IPv4 および のセキュリティグループ進入ルールで単一ホストネットワークエントリをチェックします。 IPv6

作成者: SaiJeevan Devireddy (AWS)、Ganesh Kumar (AWS)、John Reynolds (AWS)

環境:本稼働

テクノロジー: ネットワーク、セキュリティ、アイデンティティ、コンプライアンス

AWS サービス: Amazon SNS、AWS CloudFormation、Amazon CloudWatch、AWSLambda、Amazon VPC

[概要]

このパターンは、Amazon Web Services (AWS) リソースが仕様を満たしていない場合に通知するセキュリティコントロールを提供します。インターネットプロトコルバージョン 4 (IPv4) とIPv6セキュリティグループのソースアドレスフィールドの両方で単一ホストネットワークエントリを検索する AWS Lambda 関数を提供します。Lambda 関数は、Amazon CloudWatch Events が Amazon Elastic Compute Cloud (Amazon EC2) AuthorizeSecurityGroupIngressAPI呼び出しを検出すると開始されます。Lambda 関数のカスタムロジックは、セキュリティグループの進入ルールの CIDRブロックのサブネットマスクを評価します。サブネットマスクが /32 (IPv4) または /128 () 以外のものであると判断された場合、Lambda 関数は Amazon Simple Notification Service (Amazon IPv6) を使用して違反通知を送信しますSNS。

前提条件と制限

前提条件

  • アクティブなAWSアカウント

  • 違反の通知を受信する E メールアドレス

機能制限

  • このセキュリティモニタリングソリューションはリージョン別であり、モニタリングする各AWSリージョンにデプロイする必要があります。

アーキテクチャ

ターゲットテクノロジースタック

  • Lambda 関数

  • SNS トピック

  • Amazon EventBridge ルール

ターゲット アーキテクチャ

CloudWatch イベントは、Amazon を使用してセキュリティ通知を送信する Lambda SNS 関数を開始します。

自動化とスケール

  • AWS Organizations を使用している場合は、AWSCloudformation StackSets を使用して、モニタリングする複数のアカウントにこのテンプレートをデプロイできます。

ツール

AWS サービス

  • AWS CloudFormation は、Infrastructure as Code を使用してAWSリソースをモデル化およびセットアップするのに役立つサービスです。

  • Amazon EventBridge は、独自のアプリケーション、Software as a Service (SaaS) アプリケーション、および AWSのサービスからリアルタイムデータのストリームを配信し、そのデータを Lambda 関数などのターゲットにルーティングします。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードの実行をサポートします。

  • Amazon Simple Storage Service (Amazon S3) は、拡張性の高いオブジェクトストレージサービスで、ウェブサイト、モバイルアプリケーション、バックアップ、データレイクなど、幅広いストレージソリューションに使用できます。

  • Amazon SNS は、ウェブサーバーや E メールアドレスなど、パブリッシャーとクライアント間のメッセージの配信または送信を調整して管理します。サブスクライバーは、サブスクライブしているトピックに対して発行されたすべてのメッセージを受信します。また、同じトピックのサブスクライバーはすべて同じメッセージを受信します。

コード

添付のコードには以下が含まれます。

  • Lambda セキュリティコントロールコード (index.py) を含む .zip ファイル

  • Lambda コードをデプロイするために実行する CloudFormation テンプレート (security-control.yml ファイル)

エピック

タスク説明必要なスキル

Lambda コード用の S3 バケットを作成します。

Amazon S3 コンソールで、先頭にスラッシュを含まない一意の名前で S3 バケットを作成します。S3 バケット名はグローバルに一意であり、名前空間はすべてのAWSアカウントで共有されます。S3 バケットは、セキュリティグループの進入チェックをデプロイするAWSリージョンにある必要があります。

クラウドアーキテクト

S3 バケットに Lambda コードをアップロードします。

添付ファイル」セクションで提供されている Lambda コード (security-control-lambda.zip ファイル) を、先の手順で作成した S3 バケットにアップロードします。

クラウドアーキテクト
タスク説明必要なスキル

Python バージョンを変更する。

Attachments セクションで提供されている CloudFormation テンプレート (security-control.yml) をダウンロードします。ファイルを開き、Lambda がサポートする最新バージョン (現在は Python 3.9) を反映するように Python バージョンを変更します。

たとえば、コード内で python を検索し、Runtime の値を python3.6 から python3.9 に変更できます。

Python ランタイムバージョンのサポートに関する最新情報については、AWSLambda ドキュメント を参照してください。

クラウドアーキテクト

AWS CloudFormation テンプレートをデプロイします。

AWS CloudFormation コンソールで、S3 バケットと同じAWSリージョンに CloudFormation テンプレート () をデプロイしますsecurity-control.yml

クラウドアーキテクト

S3 バケット名を指定します。

S3 バケット パラメータには、最初のエピックで作成した S3 バケットの名前を指定します。

クラウドアーキテクト

Lambda ファイルの Amazon S3 キー名を指定します。

S3 キーパラメータには、S3 バケット内の Lambda コード .zip ファイルの Amazon S3 ロケーションを指定します。先頭にスラッシュを含めないでください (たとえば、lambda.zip または controls/lambda.zip と入力します)。

クラウドアーキテクト

通知用 E メールアドレスを提供します。

通知メールパラメータには、違反通知を受け取るメールアドレスを指定します。 

クラウドアーキテクト

ロギングのレベルを定義します。

Lambda ロギングレベルのパラメータでは、Lambda 関数のロギングレベルを定義します。次のいずれかの値を選択します。

  • INFOアプリケーションの進行状況に関する詳細な情報メッセージを取得するには。

  • ERRORアプリケーションの実行を継続できる可能性のあるエラーイベントに関する情報を取得します。

  • WARNING潜在的に有害な状況に関する情報を取得します。

クラウドアーキテクト
タスク説明必要なスキル

サブスクリプションを確認します。

CloudFormation テンプレートが正常にデプロイされると、新しいSNSトピックが作成され、指定した E メールアドレスにサブスクリプションメッセージが表示されます。違反通知を受信するには、このメールサブスクリプションを確認する必要があります。

クラウドアーキテクト

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip