

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

# インフラストラクチャを保護するためのセキュリティコントロールの推奨事項
<a name="infrastructure-controls"></a>

インフラストラクチャ保護は、セキュリティプログラムの重要な部分です。これには、ネットワークとコンピューティングリソースの保護に役立つコントロール方法論が含まれています。インフラストラクチャ保護の例としては、信頼境界、多層防御アプローチ、セキュリティ強化、パッチ管理、オペレーティングシステムの認証と認可などがあります。詳細については、 AWS 「 Well-Architected フレームワーク」の[「インフラストラクチャの保護](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)」を参照してください。このセクションで説明するセキュリティコントロールは、インフラストラクチャ保護のベストプラクティスを実装するのに役立ちます。

**Topics**
+ [CloudFront ディストリビューションのデフォルトのルートオブジェクトを指定](#default-root-objects)
+ [アプリケーションコードをスキャンして一般的なセキュリティ問題を特定](#scan-app-code)
+ [専用 VPC とサブネットを使用してネットワークレイヤーを作成](#network-layers)
+ [受信トラフィックを認可されたポートのみに制限](#authorized-ports)
+ [Systems Manager ドキュメントへのパブリックアクセスをブロック](#block-ssm-doc-access)
+ [Lambda 関数へのパブリックアクセスをブロック](#block-lambda-access)
+ [デフォルトセキュリティグループのインバウンドトラフィックとアウトバウンドトラフィックを制限](#default-security-group)
+ [ソフトウェアの脆弱性と意図しないネットワークへの露出がないかスキャン](#scan-software-vulnerabilities)
+ [セットアップ AWS WAF](#setup-aws-waf)
+ [DDoS 攻撃に対する高度な保護を設定](#ddos-attacks)
+ [多層防御アプローチを使用してネットワークトラフィックを制御](#defense-in-depth)

## CloudFront ディストリビューションのデフォルトのルートオブジェクトを指定
<a name="default-root-objects"></a>

[Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) は、世界中のデータセンターネットワークを通じて配信することで、ウェブコンテンツの配信を高速化します。これにより、レイテンシーが減少し、パフォーマンスが向上します。デフォルトルートオブジェクトを定義しない場合、ディストリビューションのルートの要求はオリジンサーバーに渡されます。Amazon Simple Storage Service (Amazon S3) オリジンを使用している場合、S3 バケット内のコンテンツリストまたはオリジンのプライベートコンテンツのリストが返される場合があります。デフォルトのルートオブジェクトを指定すると、ディストリビューションのコンテンツが公開されなくなります。

詳細については、以下のリソースを参照してください。
+ [デフォルトのルートオブジェクトを指定する](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) (CloudFront ドキュメント)

## アプリケーションコードをスキャンして一般的なセキュリティ問題を特定
<a name="scan-app-code"></a>

 AWS Well-Architected フレームワークでは、ライブラリと依存関係に問題や欠陥がないかスキャンすることをお勧めします。ソースコードのスキャンに使用できるソースコード分析ツールは多数あります。例えば、Amazon CodeGuru は、Java アプリケーションや Python アプリケーションの一般的なセキュリティ問題をスキャンし、修正するためのレコメンデーションを提示します。

詳細については、以下のリソースを参照してください。
+ [CodeGuru ドキュメント](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
+ [Source code analysis tools](https://owasp.org/www-community/Source_Code_Analysis_Tools) (OWASP Foundation ウェブサイト)
+  AWS Well-Architected フレームワークで[脆弱性管理を実行する](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_vulnerability_management.html) 

## 専用 VPC とサブネットを使用してネットワークレイヤーを作成
<a name="network-layers"></a>

 AWS Well-Architected フレームワークでは、機密性要件を共有するコンポーネントをレイヤーにグループ化することをお勧めします。これにより、不正アクセスが発生した場合の潜在的な影響範囲が最小限に抑えられます。例えば、インターネットアクセスを必要としないデータベースクラスターは、インターネットとのルートが存在しないように、VPC のプライベートサブネットに配置する必要があります。

AWS は、パブリック到達可能性のテストと特定に役立つ多くのサービスを提供します。例えば、Reachability Analyzer は、VPC 内のソースリソースと送信先リソースとの間の接続性をテストできる設定分析ツールです。また、Network Access Analyzer を使用すると、リソースへの意図しないネットワークアクセスを識別できます。

詳細については、以下のリソースを参照してください。
+  AWS Well-Architected フレームワークで[ネットワークレイヤーを作成する](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_create_layers.html) 
+ [Reachability Analyzer のドキュメント](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)
+ [Network Access Analyzer のドキュメント](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html)
+ [サブネットの作成](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) (Amazon Virtual Private Cloud (Amazon VPC) ドキュメント)

## 受信トラフィックを認可されたポートのみに制限
<a name="authorized-ports"></a>

無制限アクセス (`0.0.0.0/0` をソースとする IP アドレスからのトラフィックなど) は、ハッキング、サービス拒否 (DoS) 攻撃、データ損失など、悪意のあるアクティビティのリスクを高めます。セキュリティグループは、 AWS リソースへの入出力ネットワークトラフィックをステートフルにフィルタリングします。セキュリティグループでは、SSH やWindows リモートデスクトッププロトコル (RDP) など、よく知られたポートへの外部からの無制限アクセスを許可しないでください。インバウンドトラフィックについては、セキュリティグループで、認可されたポートに対する TCP または UDP 接続のみを許可します。Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続するには、直接 SSH または RDP アクセスではなく、[Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) または [Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) を使用します。

詳細については、以下のリソースを参照してください。
+ [セキュリティグループを操作](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html) (Amazon EC2 ドキュメント)
+ Amazon VPC [ドキュメントのセキュリティグループを使用して AWS リソースへのトラフィックを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#DefaultSecurityGroup) 

## Systems Manager ドキュメントへのパブリックアクセスをブロック
<a name="block-ssm-doc-access"></a>

ユースケースでパブリック共有を有効にする必要がある場合を除き、 AWS Systems Manager ベストプラクティスでは、Systems Manager ドキュメントのパブリック共有をブロックすることをお勧めします。パブリック共有を行うと、ドキュメントへの意図しないアクセスが発生する場合があります。パブリックな Systems Manager ドキュメントは、アカウント、リソース、および内部プロセスに関する貴重な機密情報を公開する可能性があります。

 詳細については、以下のリソースを参照してください。
+ [共有 SSM ドキュメントのベストプラクティス](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html#best-practices-shared) (Systems Manager ドキュメント)
+ [共有 Systems Manager ドキュメントのアクセス許可を変更する](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html#modify-permissions-shared) (Systems Manager ドキュメント)

## Lambda 関数へのパブリックアクセスをブロック
<a name="block-lambda-access"></a>

[AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。Lambda 関数は、関数コードへの意図しないアクセスを許可する可能性があるため、パブリックからアクセスできない必要があります。

Lambda 関数に対して、アカウントの外部からのアクセスを拒否するよう、[リソースベースのポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)を設定することをお勧めします。これを実現するには、アクセス許可を削除するか、アクセスを許可するステートメントに `AWS:SourceAccount` 条件を追加します。Lambda 関数のリソースベースのポリシーは、Lambda API または AWS Command Line Interface (AWS CLI) を使用して更新できます。

また、 AWS Security Hub CSPMで、「**[Lambda.1] Lambda 関数ポリシーでは、パブリックアクセスを禁止する必要があります**」というコントロールを有効にすることをお勧めします。このコントロールは、Lambda 関数のリソースベースのポリシーがパブリックアクセスを禁止していることを検証します。

詳細については、以下のリソースを参照してください。
+ Security Hub CSPM ドキュメントの [AWS Lambda コントロール](https://docs.aws.amazon.com/securityhub/latest/userguide/lambda-controls.html) 
+ [Lambda でのリソースベースのポリシーの使用](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) (Lambda ドキュメント)
+ [Lambda アクションのリソースと条件](https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html) (Lambda ドキュメント)

## デフォルトセキュリティグループのインバウンドトラフィックとアウトバウンドトラフィックを制限
<a name="default-security-group"></a>

 AWS リソースをプロビジョニングするときにカスタムセキュリティグループを関連付けない場合、リソースは VPC のデフォルトのセキュリティグループに関連付けられます。このセキュリティグループのデフォルトルールでは、このセキュリティグループに割り当てられたすべてのリソースからのすべてのインバウンドトラフィックが許可され、すべての IPv4 および IPv6 のアウトバウンドトラフィックが許可されます。これにより、リソースへの意図しないトラフィックが許可されてしまう可能性があります。

AWS では、デフォルトのセキュリティグループを使用しないことをお勧めします。代わりに、特定のリソースまたはリソースのグループごとにカスタムセキュリティグループを作成します。

デフォルトのセキュリティグループは削除できないため、デフォルトのセキュリティグループルールを変更して、インバウンドトラフィックとアウトバウンドトラフィックを制限することを推奨します。セキュリティグループルールを設定する際は、[最小特権](apg-gloss.md#glossary-least-privilege)の原則に従います。

また、**[EC2.2] VPC のデフォルトセキュリティグループを有効にして、Security Hub CSPM でインバウンドまたはアウトバウンドのトラフィック制御を許可しないように**することをお勧めします。このコントロールは、VPC のデフォルトのセキュリティグループがインバウンドとアウトバウンドのトラフィックを拒否していることを検証します。

詳細については、以下のリソースを参照してください。
+ [Amazon VPC ドキュメントのセキュリティグループを使用して AWS リソースへのトラフィックを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#DefaultSecurityGroup) 
+ [VPC のデフォルトセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/default-security-group.html) (Amazon VPC ドキュメント)
+ Security Hub CSPM ドキュメントの[Amazon EC2 コントロール](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-2)」

## ソフトウェアの脆弱性と意図しないネットワークへの露出がないかスキャン
<a name="scan-software-vulnerabilities"></a>

すべてのアカウントで Amazon Inspector を有効にすることをお勧めします。[Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html) は、Amazon EC2 インスタンス、Amazon Elastic Container Registry (Amazon ECR) コンテナイメージ、Lambda 関数を継続的にスキャンし、ソフトウェアの脆弱性や意図しないネットワークの露出を検出する脆弱性管理サービスです。また、Amazon EC2 インスタンスの詳細な検査もサポートしています。Amazon Inspector により、脆弱性またはオープンネットワークパスが特定されると、調査可能な検出結果が生成されます。Amazon Inspector と Security Hub CSPM の両方がアカウントで設定されている場合、Amazon Inspector はセキュリティ検出結果を Security Hub CSPM に自動的に送信して一元管理します。

詳細については、以下のリソースを参照してください。
+ [Amazon Inspector を使用したリソースのスキャン](https://docs.aws.amazon.com/inspector/latest/user/scanning-resources.html) (Amazon Inspector ドキュメント)
+ [Amazon EC2 向け Amazon Inspector Deep inspection](https://docs.aws.amazon.com/inspector/latest/user/scanning-ec2.html#deep-inspection) (Amazon Inspector ドキュメント)
+  AWS セキュリティブログの[ Amazon Inspector を使用して EC2 AMIs をスキャンする](https://aws.amazon.com/blogs/security/how-to-scan-ec2-amis-using-amazon-inspector/) 
+ [AWSでのスケーラブルな脆弱性管理プログラムの構築](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/introduction.html) ( AWS 規範ガイダンス)
+  AWS Well-Architected フレームワークで[ネットワーク保護を自動化](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_auto_protect.html)する
+  AWS Well-Architected フレームワークで[コンピューティング保護を自動化](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_auto_protection.html)する

## セットアップ AWS WAF
<a name="setup-aws-waf"></a>

[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) は、Amazon API Gateway API、Amazon CloudFront ディストリビューション、Application Load Balancer など、保護されたウェブアプリケーションリソースに転送される HTTP または HTTPS リクエストをモニタリングおよびブロックするのに役立つウェブアプリケーションファイアウォールです。指定した基準に基づいて、サービスはリクエストされたコンテンツ、HTTP 403 ステータスコード (禁止）、またはカスタムレスポンスでリクエストに応答します。 AWS WAF は、可用性に影響を与えたり、セキュリティを侵害したり、過剰なリソースを消費したりする可能性のある一般的なウェブエクスプロイトからウェブアプリケーションまたは APIs を保護するのに役立ちます。 AWS WAF で を設定し、 AWS マネージドルール、カスタムルール、パートナー統合を組み合わせて AWS アカウント 使用して、アプリケーションレイヤー (レイヤー 7) 攻撃からアプリケーションを保護することを検討してください。

詳細については、以下のリソースを参照してください。
+  AWS WAF ドキュメントの[「 の開始方法 AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html)」
+  AWS ウェブサイトの [AWS WAF 配信パートナー](https://aws.amazon.com/waf/partners/) 
+  AWS ソリューションライブラリの [のセキュリティオートメーション AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/) 
+  AWS Well-Architected フレームワークで[検査と保護を実装](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_inspection.html)する

## DDoS 攻撃に対する高度な保護を設定
<a name="ddos-attacks"></a>

[AWS Shield](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html) は、ネットワークレイヤーとトランスポートレイヤー (レイヤー 3 と 4) およびアプリケーションレイヤー (レイヤー 7) の AWS リソースに対する分散サービス拒否 (DDoS) 攻撃に対する保護を提供します。このサービスは、 AWS Shield Standard と の 2 つのオプションで利用できます AWS Shield Advanced。Shield Standard は、サポートされている AWS リソースを追加料金なしで自動的に保護します。

Shield Advanced をサブスクライブすることをお勧めします。Shield Advanced は、保護されたリソースに対する DDoS 攻撃の保護を拡張します。Shield Advanced から受ける保護は、アーキテクチャと設定の選択内容によって異なります。次のいずれかが必要なアプリケーションには、Shield Advanced 保護を実装することを検討してください。
+ アプリケーションのユーザーに保証された可用性。
+ DDoS 攻撃によってアプリケーションが影響を受ける場合における、DDoS 緩和のエキスパートへの迅速なアクセス。
+ アプリケーションが DDoS 攻撃の影響を受けている可能性があることの AWS による認識、および攻撃に関する AWS からの通知とセキュリティチームまたはオペレーションチームへのエスカレーション。
+ DDoS 攻撃が の使用に影響する場合など、クラウドコストの予測可能性 AWS のサービス。

詳細については、以下のリソースを参照してください。
+ [AWS Shield Advanced 概要](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary.html) (Shield ドキュメント)
+ Shield ドキュメントの[AWS Shield Advanced 保護されたリソース](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary-protected-resources.html) 
+ Shield ドキュメントの [AWS Shield Advanced 機能とオプション](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary-capabilities.html) 
+ [DDoS イベントへの対応](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-responding.html) (Shield ドキュメント)
+  AWS Well-Architected フレームワークで[検査と保護を実装](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_inspection.html)する

## 多層防御アプローチを使用してネットワークトラフィックを制御
<a name="defense-in-depth"></a>

AWS Network Firewall は、 の仮想プライベートクラウド (VPCs) 用のステートフルでマネージド型のネットワークファイアウォールおよび侵入検知および防止サービスです AWS クラウド。これは、VPC の境界に重要なネットワーク保護をデプロイするのに役立ちます。これには、インターネットゲートウェイ、NAT ゲートウェイ、VPN、 AWS Direct Connectを介して送受信されるトラフィックのフィルタリングが含まれます。Network Firewall には、一般的なネットワークの脅威からの保護に役立つ機能が含まれています。Network Firewall のステートフルファイアウォールは、接続やプロトコルなどのトラフィックフローのコンテキストを組み込み、ポリシーを適用できます。

詳細については、以下のリソースを参照してください。
+ [AWS Network Firewall ドキュメント](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html)
+  AWS Well-Architected フレームワーク[のすべてのレイヤーでトラフィックを制御する](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_layered.html) 