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

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

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

シュリカント・パティル (AWS) によって作成されました

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

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

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

AWS サービス: AWS Network Firewall、AWS Transit Gateway、Amazon VPC、Amazon CloudWatch

[概要]

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

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

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

前提条件と制限

前提条件 

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

  • AWS Identity and Access Management (IAM) ロールとポリシーの権限

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

制約事項

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

アーキテクチャ

テクノロジースタック

  • Amazon CloudWatch Logs

  • Amazon VPC

  • AWS Network Firewall

  • AWS Transit Gateway

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

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

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

  • アプリケーションは 2 つのスポーク VPC でホストされます。VPC はネットワークファイアウォールによって監視されます。

  • Egress VPC はインターネットゲートウェイに直接アクセスできますが、ネットワークファイアウォールによって保護されていません。

  • Inspection VPC は、ネットワークファイアウォールがデプロイされる場所です。

自動化とスケール

インフラストラクチャCloudFormationコード として使用することで、 を使用してこのパターンを作成できます。

ツール

AWS サービス

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

  • Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。

  • AWS Network Firewall」 は、 AWS クラウドの VPC に対して、ステートフルでマネージド型のネットワークファイアウォールならびに侵入検知および防止サービスです。

  • AWS Transit Gateway は VPC とオンプレミスネットワークを接続する一元的ハブです。

Code

このパターンのコードは、 GitHub Transit Gateway リポジトリを使用した AWS Network Firewall デプロイで使用できます。このリポジトリの CloudFormation テンプレートを使用して、Network Firewall を使用する単一のインスペクション 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 Support オプションを選択します。

  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 サブネット内のインスペクションアタッチメント

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

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

  • エグレスVPCとプライベートサブネットの EgressVPC アタッチメント

AWS DevOps

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

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

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

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

    • 0.0.0/0 には EgresSVPC アタッチメントを使用してください。

    • SpokeVPCA CIDR ブロックには、SpokeVPC1 アタッチメントを使用してください。

    • SpokeVPCA CIDR ブロックに対して、SpokeVPC2 アタッチメントを使用します。

  4. スポーク VPC に対して、Transit Gateway のルートテーブルにルートを追加します。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. Nameに、ファイアウォールポリシーに使用する名前を入力します。このパターンの後半でポリシーをファイアウォールに関連付けるときに、この名前を使用してポリシーを識別します。一度作成したトラフィックポリシーの名前は変更できません。

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

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

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

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

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

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

AWS DevOps

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

インスペクション VPC ルートテーブル

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

  2. トランジットゲートウェイのサブネットルートテーブル( Inspection-TGWRT )で、 EgressVPC に 0.0.0/0 を追加します。

SpokeVPCA ルートテーブル

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

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

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

egress VPC ルートテーブル

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

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

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

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

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

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

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

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

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

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

  6. 選択した各ログタイプについて、送信先タイプを選択し、ロギング先の情報を入力します。詳細については、ネットワークファイアウォールのドキュメントの「AWS Network Firewallネットワークファイアウォールロギング先」 を参照してください。

  7. [保存] を選択します。

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

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

スポーク VPC 内に 2 つの 「Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動します」。1 つはジャンプボックス用、もう 1 つはテスト接続用です。

AWS DevOps

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

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

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

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

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

AWS DevOps

関連リソース