Amazon CloudFront コントロール - AWS Security Hub
[CloudFront.1] CloudFront ディストリビューションにはデフォルトのルートオブジェクトが設定されている必要があります[CloudFront.3] CloudFront ディストリビューションは転送時に暗号化を必要とする必要があります。[CloudFront.4] CloudFront ディストリビューションにはオリジンフェイルオーバーが設定されている必要があります[CloudFront.5] CloudFront ディストリビューションではロギングが有効になっている必要があります[CloudFront.6] CloudFront ディストリビューションでは WAF が有効になっている必要があります[CloudFront.7] CloudFront ディストリビューションはカスタム SSL/TLS 証明書を使用する必要があります[CloudFront.8] CloudFront ディストリビューションは SNI を使用して HTTPS リクエストを処理する必要があります。[CloudFront.9] CloudFront ディストリビューションはカスタムオリジンへのトラフィックを暗号化する必要があります[CloudFront.10] CloudFront ディストリビューションでは、エッジロケーションとカスタムオリジンの間で廃止予定の SSL プロトコルを使用しないでください。[CloudFront.12] CloudFront ディストリビューションは存在しない S3 オリジンを指してはいけません[CloudFront.13] CloudFront ディストリビューションはオリジンアクセスコントロールを使用する必要があります

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

Amazon CloudFront コントロール

CloudFront これらのコントロールはリソースに関連しています。

これらのコントロールは、一部のユーザーには使用できない場合があります AWS リージョン。詳細については、「リージョン別のコントロールの可用性」を参照してください。

[CloudFront.1] CloudFront ディストリビューションにはデフォルトのルートオブジェクトが設定されている必要があります

関連する要件: NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)

カテゴリ: 保護 > セキュアなアクセス管理 > パブリックアクセスが不可能なリソース

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-default-root-object-configured

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションがデフォルトのルートオブジェクトである特定のオブジェクトを返すように設定されているかどうかを確認します。 CloudFront ディストリビューションにデフォルトのルートオブジェクトが設定されていない場合、コントロールは失敗します。

ユーザーは、ディストリビューション内のオブジェクトではなく、ディストリビューションのルート URL を要求することがあります。この場合、デフォルトのルートオブジェクトを指定することで、ウェブディストリビューションのコンテンツの漏洩を防止できます。

修正

CloudFront ディストリビューションのデフォルトルートオブジェクトを設定するには、Amazon CloudFront 開発者ガイドのデフォルトルートオブジェクトを指定する方法」を参照してください。

[CloudFront.3] CloudFront ディストリビューションは転送時に暗号化を必要とする必要があります。

関連する要件: NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

カテゴリ: 保護 > データ保護 > 転送中のデータの暗号化

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-viewer-policy-https

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションが視聴者に HTTPS を直接使用するように要求しているのか、それともリダイレクトを使用しているのかを確認します。ViewerProtocolPolicydefaultCacheBehavior または cacheBehaviorsallow-all に設定されている場合、コントロールは失敗します。

HTTPS (TLS) を使用すると、潜在的な攻撃者がネットワークトラフィックを盗聴したり操作したりするために、 person-in-the-middleまたは類似の攻撃を利用することを防ぐことができます。HTTPS (TLS) 経由の暗号化された接続のみを許可する必要があります。転送中のデータの暗号化は、パフォーマンスに影響する可能性があります。TLS のパフォーマンスプロファイルと TLS の影響を把握するには、この機能を使用してアプリケーションをテストする必要があります。

修正

CloudFront 転送中のディストリビューションを暗号化するには、Amazon CloudFront 開発者ガイドの 「 CloudFront視聴者間の通信に HTTPS を要求する」を参照してください。

[CloudFront.4] CloudFront ディストリビューションにはオリジンフェイルオーバーが設定されている必要があります

関連する要件: NIST.800-53.r5 CP-10、NIST.800-53.r5 SC-36、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

カテゴリ: リカバリ > 耐障害性 > 高可用性

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-origin-failover-enabled

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションが 2 つ以上のオリジンを持つオリジングループで設定されているかどうかを確認します。

CloudFront オリジンフェイルオーバーは可用性を高めることができます。オリジンフェイルオーバーは、プライマリオリジンが使用できない場合、または特定の HTTP レスポンスステータスコードを返した場合に、自動的にセカンダリーオリジンにトラフィックをリダイレクトします。

修正

CloudFront ディストリビューションのオリジンフェイルオーバーを設定するには、Amazon CloudFront 開発者ガイドの 「オリジングループの作成」を参照してください。

[CloudFront.5] CloudFront ディストリビューションではロギングが有効になっている必要があります

関連する要件: NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-accesslogs-enabled

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、 CloudFront ディストリビューションでサーバーアクセスロギングが有効になっているかどうかをチェックします。ディストリビューションでアクセスのログ記録が有効でない場合、コントロールは失敗します。

CloudFront アクセスログには、 CloudFront 受け取ったすべてのユーザーリクエストに関する詳細情報が含まれます。各ログには、リクエストが受信された日時、リクエストを行ったビューワーの IP アドレス、リクエストソース、ビューワーからのリクエストポート番号などの情報が含まれます。

これらのログは、セキュリティ監査やアクセス監査、証拠調査などのアプリケーションに役立ちます。アクセスログの分析方法に関するその他のガイダンスについては、Amazon Athena ユーザーガイドのAmazon CloudFront ログのクエリ」を参照してください。

修正

CloudFront ディストリビューションのアクセスログを設定するには、Amazon CloudFront 開発者ガイドの標準ログ (アクセスログ) の設定と使用」を参照してください。

[CloudFront.6] CloudFront ディストリビューションでは WAF が有効になっている必要があります

関連する要件: NIST.800-53.r5 AC-4(21)

カテゴリ: 保護 > 保護サービス

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-associated-with-waf

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、 CloudFront AWS WAF ディストリビューションがクラシック ACL とウェブ ACL のどちらに関連付けられているかを確認します。 AWS WAF ディストリビューションがウェブ ACL に関連付けられていない場合、コントロールは失敗します。

AWS WAF は、Web アプリケーションと API を攻撃から保護するのに役立つ Web アプリケーションファイアウォールです。これで、ウェブアクセスコントロールリスト (ウェブ ACL) と呼ばれる一連のルールを設定することができます。このルールは、ユーザーが定義するカスタマイズ可能なウェブセキュリティルールと条件に基づいて、ウェブリクエストを許可、ブロック、またはカウントします。 CloudFront AWS WAF ディストリビューションがウェブ ACL に関連付けられていることを確認して、悪意のある攻撃からディストリビューションを保護してください。

修正

AWS WAF ウェブ ACL CloudFront をディストリビューションに関連付けるには、Amazon CloudFront 開発者ガイドのAWS WAF コンテンツへのアクセスを制御するための使用」を参照してください。

[CloudFront.7] CloudFront ディストリビューションはカスタム SSL/TLS 証明書を使用する必要があります

関連する要件: NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

カテゴリ:保護 > データ保護 > 暗号化 data-in-transit

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-custom-ssl-certificate

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、 CloudFront ディストリビューションがデフォルトの SSL/TLS 証明書を提供しているかどうかをチェックします。 CloudFront CloudFront ディストリビューションがカスタム SSL/TLS 証明書を使用している場合、このコントロールは通過します。 CloudFront ディストリビューションがデフォルトの SSL/TLS 証明書を使用している場合、このコントロールは失敗します。

カスタム SSL/TLS を使用すると、ユーザーは代替ドメイン名を使用してコンテンツにアクセスできます。カスタム証明書は AWS Certificate Manager (推奨)、または IAM で保存できます。

修正

カスタム SSL/TLS CloudFront 証明書を使用してディストリビューションに代替ドメイン名を追加するには、Amazon CloudFront 開発者ガイドの「代替ドメイン名の追加」を参照してください。

[CloudFront.8] CloudFront ディストリビューションは SNI を使用して HTTPS リクエストを処理する必要があります。

関連する要件: NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2

カテゴリ: 保護 > セキュアなネットワーク設定

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-sni-enabled

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションがカスタム SSL/TLS 証明書を使用しており、SNI を使用して HTTPS リクエストを処理するように設定されているかどうかを確認します。カスタム SSL/TLS 証明書が関連付けられているものの、SSL/TLS サポートメソッドが専用 IP アドレスである場合、このコントロールは失敗します。

Server Name Indication (SNI) は、2010 年以降にリリースされたブラウザとクライアントでサポートされている TLS プロトコルを拡張したものです。SNI を使用して HTTPS CloudFront リクエストを処理するように設定した場合、代替ドメイン名を各エッジロケーションの IP CloudFront アドレスに関連付けます。ビューワーがコンテンツに対して HTTPS リクエストを送信すると、DNS は、正しいエッジロケーションの IP アドレスにリクエストをルーティングします。ドメイン名の IP アドレスが SSL/TLS ハンドシェイクネゴシエーション中に決定されます。IP アドレスはディストリビューション専用にはなりません。

修正

SNI を使用して HTTPS CloudFront リクエストを処理するようにディストリビューションを設定するには、『開発者ガイド』の「SNI を使用して HTTPS リクエストを処理する (ほとんどのクライアントで使える)」を参照してください。 CloudFront

[CloudFront.9] CloudFront ディストリビューションはカスタムオリジンへのトラフィックを暗号化する必要があります

関連する要件: NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

カテゴリ:保護 > データ保護 > 暗号化 data-in-transit

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-traffic-to-origin-encrypted

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションがカスタムオリジンへのトラフィックを暗号化しているかどうかを確認します。オリジンプロトコルポリシーで「http-only」 CloudFront が許可されているディストリビューションでは、このコントロールは失敗します。ディストリビューションのオリジンプロトコルポリシーが「match-viewer」で、ビューワープロトコルポリシーが「allow-all」である場合にも、このコントロールは失敗します。

HTTPS (TLS) は、ネットワークトラフィックの傍受や操作を防止するために使用できます。HTTPS (TLS) 経由の暗号化された接続のみを許可する必要があります。

修正

CloudFront 接続に暗号化を要求するようにオリジンプロトコルポリシーを更新するには、Amazon CloudFront 開発者ガイドの 「 CloudFront カスタムオリジンとの通信に HTTPS を要求する」を参照してください。

[CloudFront.10] CloudFront ディストリビューションでは、エッジロケーションとカスタムオリジンの間で廃止予定の SSL プロトコルを使用しないでください。

関連する要件: NIST.800-53.r5 AC-17(2)、NIST.800-53.r5 AC-4、NIST.800-53.r5 IA-5(1)、NIST.800-53.r5 SC-12(3)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、NIST.800-53.r5 SI-7(6)

カテゴリ:保護 > データ保護 > 暗号化 data-in-transit

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-no-deprecated-ssl-protocols

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon CloudFront CloudFront ディストリビューションがエッジロケーションとカスタムオリジン間の HTTPS 通信に非推奨の SSL プロトコルを使用しているかどうかを確認します。 CloudFront ディストリビューションに where インクルードが含まれている場合、このコントロールは失敗します。CustomOriginConfig OriginSslProtocols SSLv3

2015 年、Internet Engineering Task Force (IETF) は、SSL 3.0 はプロトコルの安全性が不十分であることから廃止すべきであると、正式に発表しました。カスタムオリジンへの HTTPS 通信には、TLSv1.2 以降を使用することが推奨されます。

修正

CloudFront ディストリビューションのオリジン SSL プロトコルを更新するには、Amazon CloudFront 開発者ガイドの 「 CloudFront とカスタムオリジン間の通信に HTTPS を要求する」を参照してください。

[CloudFront.12] CloudFront ディストリビューションは存在しない S3 オリジンを指してはいけません

関連する要件: NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)

カテゴリ: 識別 > リソース設定

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール: cloudfront-s3-origin-non-existent-bucket

スケジュールタイプ: 定期的

パラメータ: なし

このコントロールは、Amazon CloudFront ディストリビューションが存在しない Amazon S3 オリジンを指しているかどうかをチェックします。オリジンが存在しないバケットを指すように設定されている場合、 CloudFront ディストリビューションのコントロールは失敗します。このコントロールは、静的ウェブサイトホスティングのない S3 バケットが S3 CloudFront オリジンであるディストリビューションにのみ適用されます。

CloudFront アカウント内のディストリビューションが、存在しないバケットを指すように設定されている場合、悪意のある第三者が参照先バケットを作成し、ディストリビューションを通じて独自のコンテンツを配信する可能性があります。ルーティング動作に関係なくすべてのオリジンをチェックして、ディストリビューションが適切なオリジンをポイントしていることを確認することをお勧めします。

修正

CloudFront 新しいオリジンを指すようにディストリビューションを変更するには、Amazon CloudFront 開発者ガイドのディストリビューションの更新」を参照してください。

[CloudFront.13] CloudFront ディストリビューションはオリジンアクセスコントロールを使用する必要があります

カテゴリ: 保護 > セキュアなアクセス管理 > リソースポリシーの設定

重要度:

リソースタイプ: AWS::CloudFront::Distribution

AWS Config ルール : cloudfront-s3-origin-access-control-enabled

スケジュールタイプ: 変更がトリガーされた場合

パラメータ: なし

このコントロールは、Amazon S3 オリジンの Amazon CloudFront ディストリビューションにオリジンアクセスコントロール (OAC) が設定されているかどうかを確認します。ディストリビューションに OAC が設定されていない場合、コントロールは失敗します。 CloudFront

S3 CloudFront バケットをディストリビューションのオリジンとして使用する場合、OAC を有効にできます。これにより、 CloudFront 指定されたディストリビューションを通じてのみバケット内のコンテンツにアクセスでき、バケットまたは別のディストリビューションからの直接アクセスは禁止されます。OAC はオリジンアクセスアイデンティティ (OAI) CloudFront をサポートしていますが、追加機能を提供しており、OAI を使用するディストリビューションは OAC に移行できます。OAI は S3 オリジンに安全にアクセスする方法を提供しますが、詳細なポリシー設定や、署名バージョン 4 (Sigv4) を必要とする POST メソッドを使用する HTTP/HTTPS リクエストがサポートされていないなどの制限があります。 AWS リージョン AWS OAI はによる暗号化もサポートしていません。 AWS Key Management Service OAC は、IAM サービスプリンシパルを使用して S3 AWS オリジンで認証するというベストプラクティスに基づいています。

修正

S3 CloudFront オリジンを使用するディストリビューションに OAC を設定するには、Amazon 開発者ガイドの「Amazon S3 オリジンへのアクセスの制限」を参照してください。 CloudFront