기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이러한 Security Hub 제어는 Amazon CloudFront 서비스 및 리소스를 평가합니다.
이러한 제어는 일부만 사용할 수 있습니다 AWS 리전. 자세한 내용은 리전별 제어 기능 사용 가능 여부 단원을 참조하십시오.
[CloudFront.1] CloudFront 배포에는 기본 루트 객체가 구성되어 있어야 합니다.
관련 요구 사항: NIST.800-53.r5 SC-7(11), NIST.800-53.r5 SC-7(16), PCI DSS v4.0.1/2.2.6
범주: 보호 > 보안 액세스 관리 > 공개적으로 액세스할 수 없는 리소스
심각도: 높음
리소스 유형: 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-8NIST.800-53.r5 SC-8NIST.800-53.r5 SC-8(1) SI-7
범주: 보호 > 데이터 보호 > 전송 중인 데이터 암호화
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-viewer-policy-https
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 Amazon CloudFront 배포에서 최종 사용자가 HTTPS를 직접 사용하도록 요구하는지 또는 리디렉션을 사용하는지 여부를 확인합니다. ViewerProtocolPolicy
가 defaultCacheBehavior
용 또는 cacheBehaviors
용으로 allow-all
로 설정된 경우, 제어가 실패합니다.
HTTPS(TLS)를 사용하면 잠재적인 공격자가 중간자 또는 유사한 공격을 사용하여 네트워크 트래픽을 도청하거나 조작하는 것을 방지할 수 있습니다. HTTPS(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 배포가 오리진이 두 개 이상 있는 오리진 그룹으로 구성되어 있는지 여부를 확인합니다.
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-75 SI-3 SI-4 SI-710.4.23
범주: 식별 > 로깅
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-accesslogs-enabled
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 CloudFront 배포에서 서버 액세스 로깅이 활성화되어 있는지 여부를 확인합니다. 배포에 대한 액세스 로깅이 활성화되지 않은 경우, 제어가 실패합니다. 이 제어는 배포에 표준 로깅(레거시)이 활성화되어 있는지 여부만 평가합니다.
CloudFront 액세스 로그는 CloudFront가 수신하는 모든 사용자 요청에 대한 세부 정보를 제공합니다. 각 로그에는 요청이 수신된 날짜 및 시간, 요청한 뷰어의 IP 주소, 요청 소스, 뷰어의 요청 포트 번호 등의 정보가 포함됩니다. 이러한 로그는 보안 및 액세스 감사, 포렌식 조사와 같은 목적에 유용합니다. 액세스 로그 분석에 대한 자세한 내용은 Amazon Athena 사용 설명서의 Amazon CloudFront 로그 쿼리를 참조하세요. Amazon Athena
문제 해결
CloudFront 배포에 대한 표준 로깅(레거시)을 구성하려면 Amazon CloudFront 개발자 안내서의 표준 로깅(레거시) 구성을 참조하세요.
[CloudFront.6] CloudFront 배포판에는 WAF가 활성화되어 있어야 합니다.
관련 요구 사항: NIST.800-53.r5 AC-4(21), PCI DSS v4.0.1/6.4.2
범주: 보호 > 보호 서비스
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-associated-with-waf
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 CloudFront 배포가 AWS WAF Classic 또는 AWS WAF 웹 ACLs과 연결되어 있는지 확인합니다. 배포가 웹 ACL과 연결되어 있지 않으면 제어가 실패합니다.
AWS WAF 는 웹 애플리케이션 및 APIs으로부터 보호하는 데 도움이 되는 웹 애플리케이션 방화벽입니다. 사용자가 정의한 맞춤형 웹 보안 규칙 및 조건에 따라 웹 요청을 허용, 차단 또는 계산하는 규칙 집합(웹 액세스 제어 목록 또는 웹 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)
범주: 보호 > 데이터 보호 > 전송 중인 데이터 암호화
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-custom-ssl-certificate
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 CloudFront 배포가 CloudFront에서 제공하는 기본 SSL/TLS 인증서를 사용하고 있는지 여부를 확인합니다. 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 주소인 경우, 이 제어는 실패합니다.
서버 이름 표시(SNI)는 2010년 이후 출시된 브라우저와 클라이언트에서 지원되는 TLS 프로토콜의 확장 기능입니다. SNI를 사용하여 HTTPS 요청을 제공하도록 CloudFront를 구성한 경우, CloudFront에서는 대체 도메인 이름을 각 엣지 로케이션의 IP 주소와 연결합니다. 최종 사용자가 HTTPS 콘텐츠 요청을 제출하면 DNS는 이 요청을 올바른 엣지 로케이션의 IP 주소로 라우팅합니다. 도메인 이름의 IP 주소는 SSL/TLS 핸드셰이크 협상 중에 결정됩니다(IP 주소는 배포 전용이 아님).
문제 해결
SNI를 사용하여 HTTPS 요청을 처리하도록 CloudFront 배포를 구성하려면 CloudFront 개발자 안내서의 SNI를 사용하여 HTTPS 요청 제공(대부분의 클라이언트에서 작동)을 참조하세요. 사용자 지정 SSL 인증서에 대한 자세한 내용은 CloudFront에서 SSL/TLS 인증서를 사용하기 위한 요구 사항을 참조하세요.
[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-8NIST.800-53.r5 SC-85 SI-7
범주: 보호 > 데이터 보호 > 전송 중인 데이터 암호화
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-traffic-to-origin-encrypted
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 Amazon CloudFront 배포가 사용자 지정 오리진에 대한 트래픽을 암호화하고 있는지 확인합니다. 오리진 프로토콜 정책이 'http-only'를 허용하는 CloudFront 배포에서는 이 제어가 실패합니다. 배포의 원본 프로토콜 정책이 'match-viewer'이고 뷰어 프로토콜 정책이 'all-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.8000-53.r5 SI-7-5.7
범주: 보호 > 데이터 보호 > 전송 중인 데이터 암호화
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-no-deprecated-ssl-protocols
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 Amazon CloudFront 배포가 CloudFront 엣지 로케이션과 사용자 지정 오리진 간의 HTTPS 통신에 더 이상 사용되지 않는 SSL 프로토콜을 사용하고 있는지 확인합니다. CloudFront 배포에 CustomOriginConfig
가 있고 OriginSslProtocols
가 SSLv3
를 포함하는 경우, 이 제어가 실패합니다.
2015년 IETF(Internet Engineering Task Force)는 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), PCI DSS v4.0.1/2.2.6
범주: 식별 > 리소스 구성
심각도: 높음
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-s3-origin-non-existent-bucket
스케줄 유형: 주기적
파라미터: 없음
이 제어는 Amazon CloudFront 배포가 존재하지 않는 Amazon S3 오리진을 가리키는지 여부를 확인합니다. 오리진이 존재하지 않는 버킷을 가리키도록 구성된 경우, CloudFront 배포에 대한 제어가 실패합니다. 이 제어는 정적 웹 사이트 호스팅이 없는 S3 버킷이 S3 오리진인 CloudFront 배포에만 적용됩니다.
계정의 CloudFront 배포가 존재하지 않는 버킷을 가리키도록 구성된 경우, 악의적인 제3자가 참조된 버킷을 생성하고 배포를 통해 자체 콘텐츠를 제공할 수 있습니다. 라우팅 동작에 관계없이 모든 오리진을 검사하여 배포가 적절한 오리진을 가리키고 있는지 확인하는 것이 좋습니다.
문제 해결
새로운 오리진을 가리키도록 CloudFront 배포를 수정하려면 Amazon CloudFront 개발자 안내서의 배포 업데이트를 참조하세요.
[CloudFront.13] CloudFront 배포는 오리진 액세스 제어를 사용해야 합니다.
범주: 보호 > 보안 액세스 관리 > 공개적으로 액세스할 수 없는 리소스
심각도: 중간
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙: cloudfront-s3-origin-access-control-enabled
스케줄 유형: 변경이 트리거됨
파라미터: 없음
이 제어는 Amazon S3 오리진과 함께 Amazon CloudFront 배포에 오리진 액세스 제어(OAC)가 구성되어 있는지 확인합니다. CloudFront 배포에 대해 OAC가 구성되지 않은 경우, 제어가 실패합니다.
S3 버킷을 CloudFront 배포의 오리진으로 사용하는 경우, OAC를 활성화할 수 있습니다. 이렇게 하면 지정된 CloudFront 배포를 통해서만 버킷의 콘텐츠에 액세스할 수 있고, 버킷이나 다른 배포에서 직접 액세스하는 것은 금지합니다. CloudFront는 오리진 액세스 ID(OAI)를 지원하지만 OAC는 추가 기능을 제공하며 OAI를 사용하는 배포는 OAC로 마이그레이션할 수 있습니다. OAI는 S3 오리진에 액세스할 수 AWS 리전 있는 안전한 방법을 제공하지만 세분화된 정책 구성과 AWS 서명 버전 4(SigV4)가 필요한에서 POST 메서드를 사용하는 HTTP/HTTPS 요청에 대한 지원 부족과 같은 제한 사항이 있습니다. 또한 OAI는를 사용한 암호화를 지원하지 않습니다 AWS Key Management Service. OAC는 IAM 서비스 보안 주체를 사용하여 S3 오리진으로 인증하는 AWS 모범 사례를 기반으로 합니다.
문제 해결
S3 오리진을 사용하여 CloudFront 배포에 대해 OAC를 구성하려면 Amazon CloudFront 개발자 안내서의 Amazon S3 오리진에 대한 액세스 제한을 참조하세요.
[CloudFront.14] CloudFront 배포에 태그를 지정해야 합니다.
범주: 식별 > 인벤토리 > 태그 지정
심각도: 낮음
리소스 유형: AWS::CloudFront::Distribution
AWS Config 규칙:tagged-cloudfront-distribution
(사용자 지정 Security Hub 규칙)
스케줄 유형: 변경이 트리거됨
파라미터:
파라미터 | 설명 | 형식 | 허용된 사용자 지정 값 | Security Hub 기본값 |
---|---|---|---|---|
requiredTagKeys
|
평가된 리소스에 포함되어야 하는 비시스템 태그 키 목록입니다. 태그 키는 대소문자를 구별합니다. | StringList | AWS 요구 사항을 충족하는 태그 목록 | 기본값 없음 |
이 제어는 Amazon CloudFront 배포에 파라미터 requiredTagKeys
에 정의된 특정 키가 있는 태그가 있는지 확인합니다. 배포에 태그 키가 없거나 파라미터 requiredTagKeys
에 지정된 모든 키가 없는 경우, 제어가 실패합니다. 파라미터 requiredTagKeys
이 제공되지 않은 경우, 제어는 태그 키의 존재만 확인하고 서비스에 배포에 키로 태그가 지정되지 않은 경우 제어가 실패합니다. 자동으로 적용되고 aws:
로 시작하는 시스템 태그는 무시됩니다.
태그는 AWS 리소스에 할당하는 레이블이며 키와 선택적 값으로 구성됩니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다. 태그를 사용하면 리소스를 식별, 정리, 검색 및 필터링하는 데 도움을 줍니다. 태깅은 또한 작업 및 알림에 대한 책임 리소스 소유자를 추적하는 데도 도움이 됩니다. 태깅을 사용하는 경우, 속성 기반 액세스 제어(ABAC)를 태그를 기반으로 권한을 정의하는 권한 부여 전략으로 구현할 수 있습니다. IAM 엔터티(사용자 또는 역할) 및 AWS 리소스에 태그를 연결할 수 있습니다. IAM 보안 주체에 대해 단일 ABAC 정책 또는 별도의 정책 세트를 생성할 수 있습니다. 이러한 ABAC 정책은 보안 주체의 태그가 리소스 태그와 일치할 때 작업을 허용하도록 설계할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 ABAC란 무엇입니까 AWS?를 참조하세요.
참고
개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 추가하지 않습니다. 를 AWS 서비스포함하여 많은 사용자가 태그를 액세스할 수 있습니다 AWS Billing. 자세한 태그 지정 모범 사례는의 AWS 리소스 태그 지정을 참조하세요AWS 일반 참조.
문제 해결
CloudFront 배포에 태그를 추가하려면 Amazon CloudFront 개발자 안내서의 Amazon CloudFront 배포 태그 지정을 참조하세요.