SEC05-BP01 ネットワークレイヤーを作成する - AWS Well-Architected Framework

SEC05-BP01 ネットワークレイヤーを作成する

機密度要件を共有するコンポーネントを階層化し、不正アクセスによる潜在的な影響範囲を最小化します。たとえば、インターネットアクセスを必要としない仮想プライベートクラウド (VPC) 内のデータベースクラスターは、インターネットへのルート、またはインターネットからのルートがないサブネットに配置する必要があります。トラフィックは、隣接する次に最も機密度が低いリソースからのみ流れる必要があります。ロードバランサーの背後にある Web アプリケーションを考慮します。ロードバランサーからデータベースに直接アクセスできてはいけません。データベースに直接アクセスすべきなのは、ビジネスロジックまたは Web サーバーのみです。

期待される成果: 階層型ネットワークを作成する。階層型ネットワークを使用すると、類似のネットワーキングコンポーネントを論理的にグループ化できます。また、不正ネットワークアクセスの影響の潜在的範囲が縮小されます。適切に階層化されたネットワークでは、不正なユーザーが AWS 環境内で追加リソースをピボットするのが困難になります。内部ネットワークパスをセキュリティ保護するだけでなく、ウェブアプリケーションや API エンドポイントなどのネットワークエッジも保護する必要があります。

一般的なアンチパターン:

  • 単一 VPC またはサブネットですべてのリソースを作成する。

  • 過度に寛容なセキュリティグループを使用する。

  • サブネットを使用しない。

  • データベースなどのデータストアに直接アクセスを許可する。

このベストプラクティスが確立されていない場合のリスクレベル:

実装のガイダンス

共通の達成可能要件を持つ Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Relational Database Service (Amazon RDS) データベースクラスター、AWS Lambda 関数などのコンポーネントは、サブネットで形成されるレイヤーにセグメント化できます。Lambda 関数などのサーバーレスワークロードを、VPC 内または Amazon API Gateway の背後にデプロイすることを検討してください。インターネットアクセスが不要な AWS Fargate (Fargate) タスクは、ルートがインターネットとの経路がないサブネットに配置する必要があります。この階層的なアプローチは、意図しないアクセスを許可する可能性がある単一レイヤーの誤設定の影響を軽減します。AWS Lambda の場合は、VPC 内で関数を実行して、VPC ベースのコントロールを利用できます。

数千の VPC、AWS アカウント、オンプレミスネットワークを含むネットワーク接続の場合は、AWS Transit Gateway を使用する必要があります。Transit Gateway は、スポークのように機能するすべての接続されたネットワーク間でトラフィックがどのようにルーティングされるかを制御するハブとして機能します。Amazon Virtual Private Cloud (Amazon VPC) と Transit Gateway 間のトラフィックは AWS プライベートネットワークに留まりますが、これにより不正ユーザーへの外的露出やセキュリティ上の問題を軽減することができます。Transit Gateway のリージョン間ピアリングはまた、リージョン間トラフィックを単一障害点や帯域幅のボトルネックなしで暗号化します。

実装手順

  • Reachability Analyzer を使用して、設定に基づく送信元と送信先間のパスを分析する: Reachability Analyzer では、VPC に接続されたリソースに対する接続の検証を自動化できます。この分析は設定を確認することで行われます (分析を行う際にネットワークパケットは送信されません)。

  • Amazon VPC Network Access Analyzer を使用して、リソースへの意図しないネットワークアクセスを特定する: Amazon VPC Network Access Analyzer を使用すると、ネットワークアクセス要件を指定して、潜在的なネットワークパスを特定できます。

  • リソースがパブリックサブネットにあるべきかどうか考慮する: VPC のパブリックサブネットには、パブリックソースからのインバウンドネットワークトラフィックを絶対に受信しなければならない場合を除き、リソースを配置しないでください。

  • VPC に サブネットを作成する: (複数のアベイラビリティーゾーンを含むグループで) 各ネットワークレイヤーのサブネットを作成し、マイクロセグメンテーションを強化します。正しい ルートテーブルをサブネットと関連付けて、ルーティングとインターネット接続を制御できていることも確認します。

  • AWS Firewall Manager を使用して、VPC セキュリティグループを管理する: AWS Firewall Manager は、複数のセキュリティグループを使用する管理上の負担を軽減します。

  • AWS WAF を使って一般的な Web 脆弱性を保護する: AWS WAF は、SQL インジェクションなど一般的な Web 脆弱性がトラフィックにないか点検することにより、エッジセキュリティを強化するのに役立ちます。また、特定の国や地域から発信される IP アドレスからのトラフィックを制限することもできます。

  • Amazon CloudFront をコンテンツ配信ネットワーク (CDN) として使用する: Amazon CloudFront は、データをユーザーの近くに保管することにより、Web アプリケーションのスピードを向上させるのに役立ちます。また、HTTPS の適用、地域へのアクセス制限、ネットワークトラフィックが CloudFront を経由した場合にのみリソースへのアクセスを許可することで、エッジセキュリティを改善することもできます。

  • アプリケーションプログラミングインターフェイス作成時に Amazon API Gateway を使用する (API): Amazon API Gateway は、セキュアな REST、HTTPS、および WebSocket APIs を公開、モニタリング、およびセキュリティ保護するのに役立ちます。

リソース

関連するドキュメント:

関連動画:

関連する例: