AWS Network Firewall と AWS Transit Gateway を使用してファイアウォールをデプロイする - AWS 規範ガイダンス

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

AWS Network Firewall と AWS Transit Gateway を使用してファイアウォールをデプロイする

作成者: Shrikant Patil (AWS)

コードリポジトリ: aws-network-firewall-deployment-with-transit-gateway

環境:PoC またはパイロット

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

AWS サービス: AWS Network Firewall、AWSTransit Gateway、AmazonVPC、Amazon CloudWatch

[概要]

このパターンは、AWSNetwork Firewall と AWS Transit Gateway を使用してファイアウォールをデプロイする方法を示しています。Network Firewall リソースは、 AWS CloudFormation テンプレートを使用してデプロイされます。ネットワークファイアウォールは、ネットワークトラフィックに合わせて自動的にスケーリングし、数十万の接続をサポートできるため、独自のネットワークセキュリティインフラストラクチャの構築と維持について心配する必要はありません。トランジットゲートウェイは、仮想プライベートクラウド (VPCs) とオンプレミスネットワークを相互接続するために使用できるネットワークトランジットハブです。

このパターンでは、ネットワークアーキテクチャVPCに検査を含める方法も学習します。最後に、このパターンでは、Amazon CloudWatch を使用してファイアウォールのリアルタイムのアクティビティモニタリングを提供する方法について説明します。

ヒント: Network Firewall サブネットを使用して他のAWSサービスをデプロイすることは避けるのがベストプラクティスです。これは、Network Firewall がファイアウォールサブネット内の送信元または発信先からのトラフィックを検査できないためです。

前提条件と制限

前提条件

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

  • AWS Identity and Access Management (IAM) ロールとポリシーのアクセス許可

  • CloudFormation テンプレートのアクセス許可

制約事項

ドメインのフィルタリングに問題があり、別の種類の設定が必要になる可能性があります。詳細については、AWSNetwork Firewall ドキュメントの「Network Firewall のステートフルドメインリストルールグループ」を参照してください。

アーキテクチャ

テクノロジースタック

  • Amazon CloudWatch ログ

  • Amazon VPC

  • AWS Network Firewall

  • AWS トランジットゲートウェイ

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

次のダイアグラムは、ネットワークファイアウォールと Transit Gateway を使用してトラフィックを検査する方法を示しています。

AWS Inspection VPC、Egress 、VPCおよび 2 つのスポーク を接続する Transit GatewayVPCs。

アーキテクチャには、以下のコンポーネントが含まれます。

  • アプリケーションは 2 つのスポーク でホストされますVPCs。VPCs は Network Firewall によってモニタリングされます。

  • 出力VPCはインターネットゲートウェイに直接アクセスできますが、Network Firewall では保護されません。

  • 検査VPCでは、Network Firewall がデプロイされます。

自動化とスケール

を使用して、Infrastructure CloudFormationをコード として使用することで、このパターンを作成できます。 https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html

ツール

AWS サービス

  • Amazon CloudWatch Logs は、すべてのシステム、アプリケーション、およびAWSサービスのログを一元化し、それらをモニタリングして安全にアーカイブするのに役立ちます。

  • Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークにAWSリソースを起動するのに役立ちます。この仮想ネットワークは、独自のデータセンターで運用する従来のネットワークに似ており、 のスケーラブルなインフラストラクチャを使用する利点がありますAWS。

  • AWS Network Firewall は、 AWS クラウドVPCs内の のステートフルでマネージド型のネットワークファイアウォールと侵入検出および防止サービスです。

  • AWS Transit Gateway は、 VPCsとオンプレミスネットワークを接続する中央ハブです。

コード

このパターンのコードは GitHub AWS、Transit Gateway リポジトリを使用した Network Firewall デプロイで使用できます。このリポジトリの CloudFormation テンプレートを使用して、Network Firewall を使用する 1 つの検査VPCをデプロイできます。

エピック

タスク説明必要なスキル

CloudFormation テンプレートを準備してデプロイします。

  1. GitHub リポジトリ から cloudformation/aws_nw_fw.yml テンプレートをダウンロードします。

  2. 指定した値を使用してテンプレートを更新します。

  3. テンプレートをデプロイします。

AWS DevOps
タスク説明必要なスキル

transit gateway を作成します。

  1. AWS マネジメントコンソールにサインインし、Amazon VPCコンソール を開きます。

  2. ナビゲーションペインでTransit Gatewaysを選択します。

  3. [Transit Gateway の作成] を選択します。

  4. 名前タグに対して、Transit Gateway の名前を入力します。

  5. 説明に対して、Transit Gateway の説明を入力します。

  6. Amazon 側の自律システム番号 (ASN) の場合、ASNデフォルト値のままにします。

  7. DNS サポートオプションを選択します。

  8. VPN ECMP サポートオプションを選択します。

  9. デフォルトルートテーブルの関連付けオプションを選択します。このオプションは、Transit Gateway アタッチメントを Transit Gateway のデフォルトルートテーブルに自動的に関連付けます。

  10. デフォルトルートテーブルの伝播オプションを選択します。このオプションは、Transit Gateway アタッチメントを Transit Gateway のデフォルトルートテーブルに自動的に伝播します。

  11. [Transit Gateway の作成] を選択します。

AWS DevOps

Transit Gateway アタッチメントを作成します。

以下については、「Transit Gateway アタッチメントを作成」します。

  • インスペクションVPCと Transit Gateway サブネット内のインスペクションアタッチメント

  • スポークVPCAサブネットVPCAとプライベートサブネットのスポークアタッチメント

  • スポークVPCBサブネットVPCBとプライベートサブネットのスポークアタッチメント

  • 出力VPCサブネットVPCとプライベートサブネットの出力アタッチメント

AWS DevOps

Transit Gateway ルートテーブルを作成します。

  1. スポーク のトランジットゲートウェイルートテーブルを作成しますVPC。このルートテーブルは、検査 VPCs 以外のすべての に関連付ける必要がありますVPC。

  2. ファイアウォールに対して、「トランジットゲートウェイのルートテーブルを作成」します。このルートテーブルは、検査VPCにのみ関連付ける必要があります。

  3. ファイアウォールに対して、Transit Gateway のルートテーブルにルートを追加します。

    • には0.0.0/0Egress VPCアタッチメントを使用します。

    • スポークVPCACIDRブロックには、スポークVPC1アタッチメントを使用します。

    • スポークVPCBCIDRブロックには、スポークVPC2アタッチメントを使用します。

  4. スポーク のトランジットゲートウェイルートテーブルにルートを追加しますVPC。の場合0.0.0/0検査VPCアタッチメントを使用します。

AWS DevOps
タスク説明必要なスキル

検査 でファイアウォールを作成しますVPC。

  1. AWS マネジメントコンソールにサインインし、Amazon VPCコンソール を開きます。

  2. ナビゲーションペインで、ネットワークファイアウォールの下にあるファイアウォールを選択します。

  3. [ファイアウォールを作成] を選択します。

  4. 名前に対して、このファイアウォールの識別に使用する名前を入力します。ファイアウォールの作成後は、ファイアウォールの名前を変更することはできません。

  5. の場合はVPC、検査 を選択しますVPC。

  6. アベイラビリティーゾーンサブネットでは、特定したゾーンとファイアウォールサブネットを選択します。

  7. [関連する関連付けられたファイアウォールポリシー] セクションで、[既存のファイアウォールポリシーを関連付ける] を選択し、先ほど作成したファイアウォールポリシーを選択します。

  8. [ファイアウォールを作成] を選択します。

AWS DevOps

ファイアウォールポリシーを作成します。

  1. AWS マネジメントコンソールにサインインし、Amazon VPCコンソール を開きます。

  2. ナビゲーションペインの [Network Firewall] (ネットワークファイアウォール) で [Firewall policies] (ファイアウォールポリシー) を選択します。

  3. ファイアウォールポリシーの説明」ページで、[ファイアウォールポリシーの作成] を選択します。

  4. [名前] に、ファイアウォールポリシーに使用する名前を入力します。このパターンの後半でポリシーをファイアウォールに関連付けるときに、この名前を使用してポリシーを識別します。一度作成したトラフィックポリシーの名前は変更できません。

  5. [Next (次へ)] を選択します。

  6. ルールグループを追加ページのステートレスルールグループセクションで、ステートレスルールグループを追加するを選択します。

  7. 既存のルールグループから追加ダイアログボックスで、先ほど作成したステートレスルールグループのチェックボックスを選択します。ルールグループを追加 を選択します。注:ページの下部にあるファイアウォールポリシーの容量カウンターには、ファイアウォールポリシーで許可されている最大キャパシティの横に、このルールグループを追加して消費された容量が表示されます。

  8. ステートレスのデフォルトアクションをステートフルルールに転送するに設定します。

  9. ステートフルルールグループセクションでステートフルルールグループを追加を選択し、先ほど作成したステートフルルールグループのチェックボックスを選択します。ルールグループを追加 を選択します。

  10. 次へを選択してセットアップウィザードの残りの手順を実行し、ファイアウォールポリシーを作成を選択します。

AWS DevOps

VPC ルートテーブルを更新します。

検査VPCルートテーブル

  1. ANF サブネットルートテーブル (Inspection-ANFRT) で、Transit Gateway ID 0.0.0/0 に追加します。

  2. Transit Gateway サブネットルートテーブル (Inspection-TGWRT) で、 0.0.0/0を Egress に追加します。 VPC

スポークVPCAルートテーブル

プライベートルートテーブルで、 0.0.0.0/0 をトランジットゲートウェイ ID に追加します。

スポークVPCBルートテーブル

プライベートルートテーブルで、 0.0.0.0/0 をトランジットゲートウェイ ID に追加します。

Egress VPCルートテーブル

出力パブリックルートテーブルで、スポークVPCAブロックとスポークVPCBCIDRブロックを Transit Gateway ID に追加します。プライベートサブネットについても同じ手順を繰り返します。

AWS DevOps
タスク説明必要なスキル

ファイアウォールのロギング設定を更新します。

  1. AWS マネジメントコンソールにサインインし、Amazon VPCコンソール を開きます。

  2. ナビゲーションペインで、ネットワークファイアウォールの下にあるファイアウォールを選択します。

  3. ファイアウォールページで、編集するファイアウォールの名前を選択します。

  4. ファイアウォールの詳細タブを選択します。ログ記録セクションで、編集を選択します。

  5. 必要に応じてログタイプの選択を調整します。アラートログとフローログのロギングを設定できます。

    • アラート — アクションが Alert または Drop に設定されているステートフルルールに一致するトラフィックのログを送信します。ステートフルルールとルールグループの詳細については、AWSNetwork Firewall の「ルールグループ」を参照してください。

    • Flow — ステートレスエンジンがステートフルルールエンジンに転送するすべてのネットワークトラフィックのログを送信します。

  6. 選択した各ログタイプについて、送信先タイプを選択し、ロギング先の情報を入力します。詳細については、AWS「Network Firewall ドキュメント」の「Network Firewall のログ記録先」を参照してください。

  7. [Save] を選択します。

AWS DevOps
タスク説明必要なスキル

EC2 インスタンスを起動してセットアップをテストします。

スポーク で 2 つの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動しますVPC。1 つは Jumpbox 用、もう 1 つはテスト接続用です。

AWS DevOps

メトリクスを確認します。

メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。Network Firewall CloudWatch の名前空間は ですAWS/NetworkFirewall

  1. AWS マネジメントコンソールにサインインし、CloudWatch コンソール を開きます。

  2. ナビゲーションペインで Metrics (メトリクス) を選択します。

  3. すべてのメトリクスタブで、リージョンを選択し、AWS/NetworkFirewall を選択します。

AWS DevOps

関連リソース