Kanji
・클라우드 엔지니어 / 프리랜서 ・1993년생 ・에히메현 출신 / 도쿄도 시부야구 거주 ・AWS 경력 5년 프로필 상세
목차
URLS
FIND_ELEMENT_NAME
FIND_NEXT_SIBLINGS
SEARCH_STRINGS
.output
날짜/시간에서 날짜/시간 가져오기JSON 가져오기수입요청수입 OS수입 시스템수입 로깅bs4에서 가져오기 BeautifulSoup LOG_LEVEL = 로깅.INFOURL = [“https://docs.aws.amazon.com/securityhub/latest/userguide/account-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/acm-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/apigateway-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/appsync-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/athena-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/backup-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudformation-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudfront-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudtrail-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/codebuild-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/config-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/dms-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/documentdb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/dynamodb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ecr-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ecs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/autoscaling-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ssm-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/efs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/eks-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elasticache-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elasticbeanstalk-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/emr-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/es-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/eventbridge-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/fsx-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/guardduty-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/kinesis-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/kms-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/lambda-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/macie-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/msk-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/mq-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/neptune-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/networkfirewall-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/opensearch-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/pca-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/redshift-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/route53-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sagemaker-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/secretsmanager-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sns-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sqs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/stepfunctions-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/waf-controls.html”]검색_STRINGS = {“AWS 구성 규칙”: “코드”,“리소스 유형”: “코드”,“일정 유형”: “텍스트”,“심각도”: “텍스트”}FIND_ELEMENT_NAME = “h2”FIND_NEXT_SIBLINGS = “p” 클래스 TimeFormatter(logging.Formatter):변환기 = datetime.fromtimestamp def formatTime(self, Record, datefmt=None):dt = self.converter(record.created)datefmt인 경우:s = dt.strftime(datefmt)또 다른:t = dt.strftime(self.default_time_format)s = self.default_msec_format % (t, 레코드.msecs)반환하다 정의 init_logger():로거 = 로깅.getLogger(name) log_format_string = json.dumps({‘log레벨’: ‘%(레벨 이름)s’,‘시간’: ‘%(asctime)s’,‘라인’: “%(파일 이름)s: %(lineno)d”,‘메시지’: ‘%(메시지)s’,}, 들여쓰기=없음)핸들러 = 로깅.StreamHandler(sys.stdout)handler.setFormatter((TimeFormatter(log_format_string)))logger.addHandler(핸들러)logger.propagate = 거짓logger.setLevel(LOG_LEVEL) 로거 반환 데프 메인():로거 = init_logger() 결과 = [] URL의 URL:응답 = 요청.get(url)response.encoding = response.apparent_encoding 수프 = BeautifulSoup(response.text, ‘html.parser’)find_elements = 수프.find_all(FIND_ELEMENT_NAME) find_elements의 find_element에 대해:next_siblings = find_element.find_next_siblings(FIND_NEXT_SIBLINGS)항목 = {“find_element.text”: find_element.text} logger.debug(f”find_element: {find_element}“) search_string의 경우 SEARCH_STRINGS.items()의 메소드:next_siblings의 형제의 경우:sibling.text에 search_string이 있는 경우:if 메소드 == “텍스트”:값 = 형제.b.next_sibling.strip()항목[검색_문자열] = 값logger.debug(f”검색_문자열: {검색_문자열}, 값: {값}“)부서지다또 다른:value_element = sibling.find(method, {‘class’: ‘code’})value_element인 경우:항목[검색_문자열] = value_element.textlogger.debug(f”검색_문자열: {검색_문자열}, 값: {value_element.text}“)부서지다search_string이 항목에 없는 경우:항목[search_string] =”찾을 수 없음”logger.debug(f”검색_문자열: {검색_문자열}, 값: 없음”) 결과.추가(항목) 그렇지 않은 경우 os.path.exists(‘.output’):os.makedirs(‘.output’) 지금 = datetime.now().strftime(‘%Y%m%d%H%M%S’) open(f’.output/result_{now}.json’, ‘w’, 인코딩=‘utf-8’)을 f로 사용:json.dump(결과, f, verify_ascii=False) logger.info(f”결과를 .output/result_{now}.json에 성공적으로 저장했습니다.”) name == “main”인 경우:기본() ## JSON File of Retrieved AWS Security Hub Control References - The actual contents of the retrieved JSON file are as follows. - Some items are marked as `Not Found`, which means that the keywords specified in the `SEARCH_STRINGS` variable were not found. <details> <summary>JSON of AWS Security Hub Control References</summary> JSON[{“find_element.text”: “[Account.1] AWS 계정에 대한 보안 연락처 정보를 제공해야 합니다.”,“AWS 구성 규칙”: “보안 계정 정보 제공”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Account.2] AWS 계정은 AWS Organizations 조직의 일부여야 합니다.”,“AWS Config 규칙”: “조직 부분 계정”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ACM.1] 가져온 인증서와 ACM 발급 인증서는 지정된 기간 후에 갱신되어야 합니다.”,“AWS 구성 규칙”: “acm-certificate-expiration-check”,“리소스 유형”: “AWS::ACM::인증서”,“일정 유형”: “변경이 트리거되고 주기적으로 발생함”,“심각도”: “중간”},{“find_element.text”: “[ACM.2] ACM에서 관리하는 RSA 인증서는 최소 2,048비트의 키 길이를 사용해야 합니다.”,“AWS 구성 규칙”: “acm-certificate-rsa-check”,“리소스 유형”: “AWS::ACM::인증서”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[APIGateway.1] API 게이트웨이 REST 및 WebSocket API 실행 로깅활성화되어야 합니다”,“AWS 구성 규칙”: “api-gw-execution-logging-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.2] API 게이트웨이 REST API 단계는 백엔드 인증에 SSL 인증서를 사용하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “api-gw-ssl-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.3] API Gateway REST API 단계에는 AWS X-Ray추적이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “api-gw-xray-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[APIGateway.4] API 게이트웨이는 WAF 웹ACL과 연결되어야 합니다”,“AWS 구성 규칙”: “api-gw-cache-encrypted”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.5] API Gateway REST API 캐시 데이터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “api-gw-cache-encrypted”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.8] API 게이트웨이 경로는 인증 유형을 지정해야 합니다.”,“AWS 구성 규칙”: “api-gwv2-authorization-type-configured”,“리소스 유형”: “AWS::ApiGatewayV2::Route”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.9] API Gateway V2단계에 대한 액세스 로깅을 구성해야 합니다.”,“AWS 구성 규칙”: “api-gwv2-access-logs-enabled”,“리소스 유형”: “AWS::ApiGatewayV2::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AppSync.2] AWS AppSync에는 필드 수준 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “appsync-logging-enabled”,“리소스 유형”: “AWS::AppSync::GraphQLApi”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AppSync.5] AWS AppSync GraphQL API는 API 키로 인증되어서는 안 됩니다.”,“AWS 구성 규칙”: “appsync-authorization-check”,“리소스 유형”: “AWS::AppSync::GraphQLApi”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Athena.1] Athena 작업 그룹은 저장 시암호화되어야 합니다.”,“AWS 구성 규칙”: “athena-workgroup-encrypted-at-rest”,“리소스 유형”: “AWS::Athena::WorkGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Backup.1] AWS 백업 복구 지점은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “백업-복구-점-암호화”,“리소스 유형”: “AWS::Backup::RecoveryPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFormation.1] CloudFormation 스택은 단순 알림 서비스(SNS)와 통합되어야 합니다.”,“AWS 구성 규칙”: “cloudformation-stack-notification-check”,“리소스 유형”: “AWS::CloudFormation::Stack”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.1] CloudFront 배포판에는 기본 루트 객체가 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-default-root-object-configured”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CloudFront.3] CloudFront 배포에는 전송 중 암호화가 필요합니다.”,“AWS 구성 규칙”: “cloudfront-viewer-policy-https”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.4] CloudFront 배포판에는 원본 장애 조치가 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-origin-failover-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.5] CloudFront 배포판에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-accesslogs-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.6] CloudFront 배포판에는 WAF가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-associated-with-waf”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.7] CloudFront 배포판은 사용자 지정 SSL/TLS 인증서를 사용해야 합니다.”,“AWS 구성 규칙”: “cloudfront-custom-ssl-certificate”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.8] CloudFront 배포판은 SNI를 사용하여 HTTPS 요청을 처리해야 합니다.”,“AWS 구성 규칙”: “cloudfront-sni-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.9] CloudFront 배포판은 사용자 지정 오리진에 대한 트래픽을 암호화해야 합니다.”,“AWS 구성 규칙”: “cloudfront-traffic-to-origin-encrypted”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.10] CloudFront 배포판은 엣지 로케이션과 사용자 지정 오리진 간에 더 이상 사용되지 않는 SSL 프로토콜을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “cloudfront-no-deprecated-ssl-protocols”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.12] CloudFront 배포판은 존재하지 않는 S3 원본을 가리켜서는 안 됩니다.”,“AWS 구성 규칙”: “cloudfront-s3-origin-non-existent-bucket”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudFront.13] CloudFront 배포판은 원본 액세스 제어를 사용해야 합니다.”,“AWS 구성 규칙”: “cloudfront-s3-origin-access-control-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudTrail.1] CloudTrail은 읽기 및 쓰기 관리 이벤트를 포함하는 하나 이상의 다중 리전 추적으로 활성화되고 구성되어야 합니다.”,“AWS 구성 규칙”: “multi-region-cloudtrail-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudTrail.2] CloudTrail에는 저장 중 암호화가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloud-trail-encryption-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[CloudTrail.3] CloudTrail을 활성화해야 합니다”,“AWS 구성 규칙”: “cloudtrail 활성화”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudTrail.4] CloudTrail 로그 파일 검증이 활성화되어야 합니다”,“AWS 구성 규칙”: “cloud-trail-log-file-validation-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudTrail.5] CloudTrail 추적은 Amazon CloudWatch Logs와 통합되어야 합니다.”,“AWS 구성 규칙”: “cloud-trail-cloud-watch-logs-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudTrail.6] CloudTrail 로그를 저장하는 데 사용되는 S3 버킷에 공개적으로 액세스할 수 없는지 확인하세요.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적 및 변경트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CloudTrail.7] CloudTrail S3 버킷에서 S3 버킷 액세스 로깅이 활성화되어 있는지 확인하세요.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.1] "루트" 사용자 사용에 대한 로그 지표 필터 및 경보가 존재해야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.2] 무단 API 호출에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.3] MFA 없이 관리 콘솔 로그인을 위한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.4] IAM 정책 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.5] CloudTrail AWS 구성 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.6] AWS Management Console 인증 실패에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.7] 고객 관리 키의 비활성화 또는 예약 삭제를 위한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.8] S3 버킷 정책 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.9] AWS Config 구성 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.10] 보안 그룹 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.11] NACL(네트워크 액세스 제어 목록) 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.12] 네트워크 게이트웨이 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.13] 경로 테이블 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.14] VPC 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.15] CloudWatch 경보에는 지정된 작업이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::CloudWatch::알람”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CloudWatch.16] CloudWatch 로그 그룹은 지정된 기간 동안 보존되어야 합니다.”,“AWS 구성 규칙”: “cw-loggroup-retention-기간-check”,“리소스 유형”: “AWS::Logs::LogGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[CloudWatch.17] CloudWatch 경보 작업이 활성화되어야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-enabled-check”,“리소스 유형”: “AWS::CloudWatch::알람”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CodeBuild.1] CodeBuild Bitbucket 소스 저장소 URL에는 민감한 자격 증명이 포함되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-source-repo-url-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CodeBuild.2] CodeBuild 프로젝트 환경 변수에는 일반 텍스트 자격 증명이 포함되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-envvar-awscred-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CodeBuild.3] CodeBuild S3 로그는 암호화되어야 합니다”,“AWS 구성 규칙”: “codebuild-project-s3-logs-encrypted”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CodeBuild.4] CodeBuild 프로젝트 환경에는 로깅 AWS 구성이 있어야 합니다.”,“AWS 구성 규칙”: “codebuild-project-logging-enabled”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CodeBuild.5] CodeBuild 프로젝트 환경에는 권한 모드가 활성화되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-environment-privileged-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Config.1] AWS Config가 활성화되어야 합니다”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DMS.1] 데이터베이스 마이그레이션 서비스 복제 인스턴스는 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “dms-replication-not-public”,“리소스 유형”: “AWS::DMS::ReplicationInstance”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[DMS.6] DMS 복제 인스턴스에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-auto-minor-version-upgrade-enabled”,“리소스 유형”: “AWS::DMS::ReplicationInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.7] 대상 데이터베이스에 대한 DMS 복제 작업에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-replication-task-targetdb-logging”,“리소스 유형”: “AWS::DMS::ReplicationTask”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.8] 원본 데이터베이스에 대한 DMS 복제 작업에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-replication-task-sourcedb-logging”,“리소스 유형”: “AWS::DMS::ReplicationTask”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.9] DMS 끝점은 SSL을 사용해야 합니다.”,“AWS 구성 규칙”: “dms-endpoint-ssl-configured”,“리소스 유형”: “AWS::DMS::엔드포인트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.1] Amazon DocumentDB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-encrypted”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.2] Amazon DocumentDB 클러스터에는 적절한 백업 보존 기간이 있어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-backup-retention-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.3] Amazon DocumentDB 수동 클러스터 스냅샷은 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “docdb-cluster-snapshot-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[DocumentDB.4] Amazon DocumentDB 클러스터는 CloudWatch Logs에 감사 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-audit-logging-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.5] Amazon DocumentDB 클러스터에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.1] DynamoDB 테이블은 수요에 따라 용량을 자동으로 확장해야 합니다.”,“AWS 구성 규칙”: “dynamodb-autoscaling-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.2] DynamoDB 테이블에는 특정 시점 복구가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-pitr-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.3] DynamoDB Accelerator(DAX) 클러스터는 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “dax-encryption-enabled”,“리소스 유형”: “AWS::DynamoDB::Cluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.4] DynamoDB 테이블은 백업 계획에 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.6] DynamoDB 테이블에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-table-deletion-protection-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECR.1] ECR 개인 저장소에는 이미지 스캔이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-image-scanning-enabled”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ECR.2] ECR 개인 저장소에는 태그 불변성이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-tag-immutability-enabled”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECR.3] ECR 저장소에는 수명 주기 정책이 하나 이상 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-lifecycle-policy-configured”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECS.1] Amazon ECS 작업 정의에는 보안 네트워킹 모드와 사용자 정의가 있어야 합니다.”,“AWS 구성 규칙”: “ecs-task-definition-user-for-host-mode-check”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.2] ECS 서비스에는 공용 IP 주소가 자동으로 할당되어서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::서비스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.3] ECS 작업 정의는 호스트의 프로세스 네임스페이스를 공유해서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.4] ECS 컨테이너는 비권한으로 실행되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.5] ECS 컨테이너는 루트 파일 시스템에 대한 읽기 전용 액세스로 제한되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.8] 비밀은 컨테이너 환경 변수로 전달되어서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.9] ECS 작업 정의에는 로깅 구성이 있어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.10] ECS Fargate 서비스는 최신 Fargate 플랫폼 버전에서 실행되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::서비스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECS.12] ECS 클러스터는 Container Insights를 사용해야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.1] Amazon EBS 스냅샷은 공개적으로 복원할 수 없어야 합니다.”,“AWS 구성 규칙”: “ebs-snapshot-public-restorable-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[EC2.2] VPC 기본 보안 그룹은 인바운드 또는 아웃바운드 트래픽을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “vpc-default-security-group-closed”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.3] 연결된 Amazon EBS 볼륨은 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “암호화된 볼륨”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.4] 중지된 EC2 인스턴스는 지정된 기간 후에 제거되어야 합니다.”,“AWS 구성 규칙”: “ec2-stopped-instance”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.6] 모든 VPC에서 VPC 흐름 로깅을 활성화해야 합니다.”,“AWS 구성 규칙”: “vpc-flow-logs-enabled”,“리소스 유형”: “AWS::EC2::VPC”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.7] EBS 기본 암호화가 활성화되어야 합니다”,“AWS 구성 규칙”: “ec2-ebs-encryption-by-default”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.8] EC2 인스턴스는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용해야 합니다.”,“AWS 구성 규칙”: “ec2-imdsv2-check”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.9] Amazon EC2 인스턴스에는 퍼블릭 IPv4 주소가 없어야 합니다.”,“AWS 구성 규칙”: “ec2-instance-no-public-ip”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.10] Amazon EC2는 Amazon EC2 서비스용으로 생성된 VPC 엔드포인트를 사용하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “service-vpc-endpoint-enabled”,“리소스 유형”: “AWS::EC2::VPC”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.12] 사용하지 않는 Amazon EC2 EIP를 제거해야 합니다”,“AWS 구성 규칙”: “eip-attached”,“리소스 유형”: “AWS::EC2::EIP”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.13] 보안 그룹은.0.0/0 또는 ::/0에서 포트 22로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “restricted-ssh”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.14] 보안 그룹은 0.0.0.0/0 또는 ::/0에서 포트 3389로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “제한된 공통 포트”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.15] Amazon EC2 서브넷은 공용 IP 주소를자동으로 할당해서는 안 됩니다.”,“AWS 구성 규칙”: “subnet-auto-sign-public-ip-disabled”,“리소스 유형”: “AWS::EC2::Subnet”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.16] 사용하지 않는 네트워크 액세스 제어 목록은제거되어야 합니다”,“AWS 구성 규칙”: “vpc-network-acl-unused-check”,“리소스 유형”: “AWS::EC2::NetworkAcl”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.17] Amazon EC2 인스턴스는 여러 ENI를사용해서는 안 됩니다.”,“AWS 구성 규칙”: “ec2-instance-multiple-eni-check”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.18] 보안 그룹은 인증된 포트에 대해 무제한들어오는 트래픽만 허용해야 합니다.”,“AWS 구성 규칙”: “vpc-sg-open-only-to-authorized-ports”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.19] 보안 그룹은 위험도가 높은 포트에 대한무제한 액세스를 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “vpc-sg-restricted-common-ports”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[EC2.20] AWS Site-to-Site VPN연결을 위한 두 VPN 터널이 모두 작동되어야 합니다.”,“AWS 구성 규칙”: “vpc-vpn-2-tunnels-up”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.21] 네트워크 ACL은.0.0/0에서 포트 22 또는 포트 3389로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “nacl-no-unrestricted-ssh-rdp”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.22] 사용하지 않는 Amazon EC2 보안 그룹은제거되어야 합니다”,“AWS 구성 규칙”: “ec2-security-group-attached-to-eni-주기적”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.23] Amazon EC2 Transit Gateway는 자동으로VPC 연결 요청을 수락하면 안 됩니다.”,“AWS 구성 규칙”: “ec2-transit-gateway-auto-vpc-attach-disabled”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.24] Amazon EC2 반가상화 인스턴스 유형은사용하면 안 됩니다.”,“AWS 구성 규칙”: “ec2-paravirtual-instance-check”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.25] Amazon EC2 시작 템플릿은 공용 IP를네트워크 인터페이스에 할당해서는 안 됩니다.”,“AWS 구성 규칙”: “ec2-launch-template-public-ip-disabled”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.28] EBS 볼륨은 백업 계획에 포함되어야”,“AWS 구성 규칙”: “ebs-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[EC2.51] EC2 클라이언트 VPN 엔드포인트에는 클라이언트 연결 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “ec2-client-vpn-connection-log-enabled”,“리소스 유형”: “AWS::EC2::ClientVpnEndpoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[AutoScaling.1] Classic Load Balancer와 연결된 Auto Scaling 그룹은 로드 밸런서 상태 확인을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-group-elb-healthcheck-required”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[AutoScaling.2] Amazon EC2 Auto Scaling 그룹은 여러 가용 영역을 포괄해야 합니다.”,“AWS 구성 규칙”: “autoscaling-multiple-az”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AutoScaling.3] Auto Scaling 그룹 시작 구성은 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 요구하도록 EC2 인스턴스를 구성해야 합니다.”,“AWS 구성 규칙”: “autoscaling-launchconfig-requires-imdsv2”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[AutoScaling.4] Auto Scaling 그룹 시작 구성에는 1보다 큰 메타데이터 응답 홉 제한이 있어서는 안 됩니다.”,“AWS 구성 규칙”: “autoscaling-launch-config-hop-limit”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Autoscaling.5] Auto Scaling 그룹 시작 구성을 사용하여 시작된 Amazon EC2 인스턴스에는 퍼블릭 IP 주소가 없어야 합니다.”,“AWS 구성 규칙”: “autoscaling-launch-config-public-ip-disabled”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[AutoScaling.6] Auto Scaling 그룹은 여러 가용 영역에서 여러 인스턴스 유형을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-multiple-instance-types”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AutoScaling.9] Amazon EC2 Auto Scaling 그룹은 Amazon EC2 시작 템플릿을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-launch-template”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SSM.1] Amazon EC2 인스턴스는 AWS 시스템 관리자에서 관리해야 합니다.”,“AWS 구성 규칙”: “ec2-instance-managed-by-systems-manager”,“리소스 유형”: “AWS::SSM::PatchCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SSM.2] Systems Manager가 관리하는 Amazon EC2 인스턴스는 패치 설치 후 패치 규정 준수 상태가 COMPLIANT여야 합니다.”,“AWS 구성 규칙”: “ec2-managedinstance-patch-compliance-status-check”,“리소스 유형”: “AWS::SSM::PatchCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SSM.3] Systems Manager가 관리하는 Amazon EC2 인스턴스의 연결 규정 준수 상태는 COMPLIANT여야 합니다.”,“AWS 구성 규칙”: “ec2-managedinstance-association-compliance-status-check”,“리소스 유형”: “AWS::SSM::AssociationCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[SSM.4] SSM 문서는 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “ssm-document-not-public”,“리소스 유형”: “AWS::SSM::문서”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[EFS.1] AWS KMS를 사용하여 저장 중인 파일 데이터를 암호화하도록 Elastic File System을 구성해야 합니다.”,“AWS 구성 규칙”: “efs-encrypted-check”,“리소스 유형”: “AWS::EFS::FileSystem”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EFS.2] Amazon EFS 볼륨은 백업 계획에 있어야 합니다.”,“AWS 구성 규칙”: “efs-in-backup-plan”,“리소스 유형”: “AWS::EFS::FileSystem”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EFS.3] EFS 액세스 포인트는 루트 디렉터리를 적용해야 합니다.”,“AWS 구성 규칙”: “efs-access-point-enforce-root-directory”,“리소스 유형”: “AWS::EFS::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EFS.4] EFS 액세스 포인트는 사용자 ID를 적용해야 합니다.”,“AWS 구성 규칙”: “efs-access-point-enforce-user-identity”,“리소스 유형”: “AWS::EFS::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EKS.1] EKS 클러스터 엔드포인트는 공개적으로 액세스할 수 없어야 합니다.”,“AWS 구성 규칙”: “eks-endpoint-no-public-access”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[EKS.2] EKS 클러스터는 지원되는 Kubernetes 버전에서 실행되어야 합니다.”,“AWS 구성 규칙”: “eks-cluster-supported-version”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EKS.8] EKS 클러스터에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “eks-cluster-logging-enabled”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.1] ElastiCache Redis 클러스터에는 자동 백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-redis-cluster-automatic-backup-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElastiCache.2] Redis용 ElastiCache 캐시 클러스터에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-auto-minor-version-upgrade-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElastiCache.3] Redis용 ElastiCache 복제 그룹에는 자동 장애 조치가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-auto-failover-enabled”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.4] Redis용 ElastiCache 복제 그룹은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-encrypted-at-rest”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.5] Redis용 ElastiCache 복제 그룹은 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-encrypted-in-transit”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.6] 버전 6.0 이전의 Redis용 ElastiCache 복제 그룹은 Redis AUTH를 사용해야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-redis-auth-enabled”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.7] ElastiCache 클러스터는 기본 서브넷 그룹을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “elasticache-subnet-group-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElasticBeanstalk.1] Elastic Beanstalk 환경에는 향상된 상태 보고가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “beanstalk-enhanced-health-reporting-enabled”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[ElasticBeanstalk.2] Elastic Beanstalk 관리형 플랫폼 업데이트가 활성화되어야 합니다.”,“AWS 구성 규칙”: “elastic-beanstalk-managed-updates-enabled”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ElasticBeanstalk.3] Elastic Beanstalk는 로그를 CloudWatch로 스트리밍해야 합니다.”,“AWS 구성 규칙”: “elastic-beanstalk-logs-to-cloudwatch”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ELB.1] Application Load Balancer는 모든 HTTP 요청을 HTTPS로 리디렉션하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-http-to-https-redirection-check”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ELB.2] SSL/HTTPS 리스너가 있는 Classic Load Balancer는 AWS Certificate Manager에서 제공한 인증서를 사용해야 합니다.”,“AWS 구성 규칙”: “elb-acm-certificate-required”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.3] Classic Load Balancer 리스너는 HTTPS 또는 TLS 종료로 구성되어야 합니다.”,“AWS 구성 규칙”: “elb-tls-https-listeners-only”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.4] Application Load Balancer는 http 헤더를 삭제하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-http-drop-invalid-header-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.5] 애플리케이션 및 Classic Load Balancer 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “elb-logging-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.6] Application Load Balancer 삭제 보호가 활성화되어야 합니다”,“AWS 구성 규칙”: “elb-deletion-protection-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.7] Classic Load Balancer에는 연결 드레이닝이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elb-predefine-security-policy-ssl-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.8] SSL 리스너가 있는 Classic Load Balancer는 강력한 AWS 구성이 있는 사전 정의된 보안 정책을 사용해야 합니다.”,“AWS 구성 규칙”: “elb-predefine-security-policy-ssl-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.9] Classic Load Balancer에는 교차 영역 로드 밸런싱이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elb-cross-zone-load-balancing-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.10] Classic Load Balancer는 여러 가용 영역에 걸쳐 있어야 합니다.”,“AWS 구성 규칙”: “clb-multiple-az”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.12] Application Load Balancer는 방어 모드 또는 가장 엄격한 비동기화 완화 모드로 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-desync-mode-check”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.13] 애플리케이션, 네트워크 및 게이트웨이 로드 밸런서는 여러 가용 영역에 걸쳐 있어야 합니다.”,“AWS 구성 규칙”: “elbv2-multiple-az”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.14] Classic Load Balancer는 방어 모드 또는 가장 엄격한 비동기화 완화 모드로 구성되어야 합니다.”,“AWS 구성 규칙”: “clb-desync-mode-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.16] Application Load Balancer는 AWS WAF 웹 ACL과 연결되어야 합니다.”,“AWS 구성 규칙”: “alb-waf-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EMR.1] Amazon EMR 클러스터 기본 노드에는 퍼블릭 IP 주소가 없어야 합니다.”,“AWS 구성 규칙”: “emr-master-no-public-ip”,“리소스 유형”: “AWS::EMR::클러스터”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[EMR.2] Amazon EMR 공개 액세스 차단 설정이 활성화되어야 합니다”,“AWS 구성 규칙”: “emr-block-public-access”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[ES.1] Elasticsearch 도메인은 저장 시 암호화를 활성화해야 합니다.”,“AWS 구성 규칙”: “elasticsearch-encrypted-at-rest”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ES.2] Elasticsearch 도메인은 공개적으로 접근할 수 없어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-in-vpc-only”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[ES.3] Elasticsearch 도메인은 노드 간에 전송되는 데이터를 암호화해야 합니다”,“AWS 구성 규칙”: “elasticsearch-node-to-node-encryption-check”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.4] CloudWatch Logs에 대한 Elasticsearch 도메인 오류 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-logs-to-cloudwatch”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.5] Elasticsearch 도메인에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-audit-logging-enabled”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.6] Elasticsearch 도메인에는 데이터 노드가 3개 이상 있어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-data-node-fault-tolerance”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.7] Elasticsearch 도메인은 최소 3개의 전용 마스터 노드로 구성되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-https-required”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.8] Elasticsearch 도메인에 대한 연결은 TLS 1.2를 사용하여 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-https-required”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EventBridge.3] EventBridge 사용자 정의 이벤트 버스에는 리소스 기반 정책이 연결되어 있어야 합니다.”,“AWS 구성 규칙”: “custom-schema-registry-policy-attached”,“리소스 유형”: “AWS::Events::EventBus”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EventBridge.4] EventBridge 전역 엔드포인트에는 이벤트 복제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “global-endpoint-event-replication-enabled”,“리소스 유형”: “AWS::이벤트::엔드포인트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[FSx.1] OpenZFS 파일 시스템용 FSx는 백업 및 볼륨에 태그를 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “fsx-openzfs-copy-tags-enabled”,“리소스 유형”: “AWS::FSx::FileSystem”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[GuardDuty.1] GuardDuty가 활성화되어야 합니다”,“AWS 구성 규칙”: “guardduty-enabled-centralized”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-policy-no-statements-with-admin-access”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[IAM.2] IAM 사용자는 IAM 정책을 연결해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-user-no-policies-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[IAM.3] IAM 사용자의 액세스 키는 90일 이내에 교체되어야 합니다.”,“AWS 구성 규칙”: “액세스 키 순환”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.4] IAM 루트 사용자 액세스 키가 존재하지 않아야 합니다.”,“AWS 구성 규칙”: “iam-root-access-key-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.5] 콘솔 비밀번호가 있는 모든 IAM 사용자에 대해 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “mfa-enabled-for-iam-console-access”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.6] 루트 사용자에 대해 하드웨어 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “root-account-hardware-mfa-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.7] IAM 사용자에 대한 비밀번호 정책은 강력한 구성을 가지고 있어야 합니다”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.8] 사용하지 않은 IAM 사용자 자격 증명을 제거해야 합니다”,“AWS 구성 규칙”: “iam-user-unused-credentials-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.9] 루트 사용자에 대해 MFA를 활성화해야 합니다”,“AWS 구성 규칙”: “root-account-mfa-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.10] IAM 사용자를 위한 비밀번호 정책에는 강력한 AWS 구성이 있어야 합니다.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.11] IAM 비밀번호 정책에 대문자가 하나 이상 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.12] IAM 비밀번호 정책에 최소 하나의 소문자가 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.13] IAM 비밀번호 정책에 최소한 하나의 기호가 필요한지 확인”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.14] IAM 비밀번호 정책에 숫자가 하나 이상 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.15] IAM 비밀번호 정책에 따라 최소 비밀번호 길이가 14 이상인지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.16] IAM 비밀번호 정책이 비밀번호 재사용을 방지하는지 확인하세요”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.17] IAM 비밀번호 정책이 90일 이내에 비밀번호를 만료하는지 확인하세요”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.18] AWS Support를 통해 사고를 관리하기 위한 지원 역할이 생성되었는지 확인하세요”,“AWS 구성 규칙”: “iam-policy-in-use”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.19] 모든 IAM 사용자에 대해 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “iam-user-mfa-enabled”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.20] 루트 사용자의 사용을 피하세요”,“AWS 구성 규칙”: “루트 계정 사용 테스트”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.21] 귀하가 생성한 IAM 고객 관리형 정책은 서비스에 대한 와일드카드 작업을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-policy-no-statements-with-full-access”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[IAM.22] 45일 동안 사용하지 않은 IAM 사용자 자격 증명을 제거해야 합니다”,“AWS 구성 규칙”: “iam-user-unused-credentials-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Kinesis.1] Kinesis 스트림은 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “kinesis-stream-encrypted”,“리소스 유형”: “AWS::Kinesis::Stream”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.1] IAM 고객 관리 정책은 모든 KMS 키에 대한 암호 해독 작업을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-customer-policy-blocked-kms-actions”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.2] IAM 주체에는 모든 KMS 키에 대한 암호 해독 작업을 허용하는 IAM 인라인 정책이 있어서는 안 됩니다.”,“AWS 구성 규칙”: “iam-inline-policy-blocked-kms-actions”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.3] AWS KMS 키는 실수로 삭제되어서는 안 됩니다.”,“AWS 구성 규칙”: “kms-cmk-not-scheduled-for-deletion-2”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[KMS.4] AWS KMS 키 교체가 활성화되어야 합니다”,“AWS 구성 규칙”: “cmk-backing-key-rotation-enabled”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Lambda.1] Lambda 함수 정책은 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “lambda-function-public-access-prohibited”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Lambda.2] Lambda 함수는 지원되는 런타임을 사용해야 합니다.”,“AWS 구성 규칙”: “lambda-function-settings-check”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Lambda.3] Lambda 함수는 VPC에 있어야 합니다.”,“AWS 구성 규칙”: “lambda-inside-vpc”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Lambda.5] VPC Lambda 함수는 여러 가용 영역에서 작동해야 합니다.”,“AWS 구성 규칙”: “lambda-vpc-multi-az-check”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Macie.1] Macie를 활성화해야 합니다”,“AWS 구성 규칙”: “macie-status-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[MSK.1] MSK 클러스터는 브로커 노드 간 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “msk-in-cluster-node-require-tls”,“리소스 유형”: “AWS::MSK::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[MSK.2] MSK 클러스터에는 향상된 모니터링이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “msk-enhanced-monitoring-enabled”,“리소스 유형”: “AWS::MSK::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[MQ.5] ActiveMQ 브로커는 활성/대기 배포 모드를 사용해야 합니다.”,“AWS 구성 규칙”: “mq-active-deployment-mode”,“리소스 유형”: “AWS::AmazonMQ::브로커”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[MQ.6] RabbitMQ 브로커는 클러스터 배포 모드를 사용해야 합니다.”,“AWS 구성 규칙”: “mq-rabbit-deployment-mode”,“리소스 유형”: “AWS::AmazonMQ::브로커”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.1] Neptune DB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-encrypted”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Neptune.2] Neptune DB 클러스터는 CloudWatch Logs에 감사로그를 게시해야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-cloudwatch-log-export-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Neptune.3] Neptune DB 클러스터 스냅샷은 공개안 됩니다.”,“AWS 구성 규칙”: “neptune-cluster-snapshot-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Neptune.4] Neptune DB 클러스터에는 삭제보호가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.5] Neptune DB 클러스터에는 자동백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-backup-retention-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.6] Neptune DB 클러스터 스냅샷은 저장 시암호화되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-snapshot-encrypted”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.7] Neptune DB 클러스터에는 IAM데이터베이스 인증이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-iam-database-authentication”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.8] Neptune DB 클러스터는 스냅샷에 태그를복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-copy-tags-to-snapshot-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.9] Neptune DB 클러스터는 여러 가용 영역에 걸쳐 배포되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-multi-az-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.1] 네트워크 방화벽 방화벽은 여러 가용 영역에 걸쳐 배포되어야 합니다.”,“AWS 구성 규칙”: “netfw-multi-az-enabled”,“리소스 유형”: “AWS::NetworkFirewall::방화벽”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.2] 네트워크 방화벽 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “netfw-logging-enabled”,“리소스 유형”: “AWS::NetworkFirewall::LoggingConfiguration”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.3] 네트워크 방화벽 정책에는 연결된 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-rule-group-associated”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.4] 네트워크 방화벽 정책에 대한 기본 상태 비저장 작업은 전체 패킷에 대해 삭제 또는 전달이어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-default-action-full-packets”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.5] 네트워크 방화벽 정책에 대한 기본 상태 비저장 작업은 조각화된 패킷에 대해 삭제 또는 전달이어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-default-action-fragment-packets”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.6] 상태 비저장 네트워크 방화벽 규칙 그룹은 비어 있으면 안 됩니다”,“AWS 구성 규칙”: “netfw-stateless-rule-group-not-empty”,“리소스 유형”: “AWS::NetworkFirewall::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.9] 네트워크 방화벽 방화벽에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “netfw-deletion-protection-enabled”,“리소스 유형”: “AWS::NetworkFirewall::방화벽”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.1] OpenSearch 도메인은 저장 시 암호화를 활성화해야 합니다.”,“AWS Config 규칙”: “opensearch-encrypted-at-rest”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.2] OpenSearch 도메인은 공개적으로 접근할 수 없어야 합니다.”,“AWS 구성 규칙”: “opensearch-in-vpc-only”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Opensearch.3] OpenSearch 도메인은 노드 간에 전송되는 데이터를 암호화해야 합니다”,“AWS 구성 규칙”: “opensearch-node-to-node-encryption-check”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.4] CloudWatch Logs에 대한 OpenSearch 도메인 오류 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “opensearch-logs-to-cloudwatch”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.5] OpenSearch 도메인에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-audit-logging-enabled”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.6] OpenSearch 도메인에는 데이터 노드가 세 개 이상 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-data-node-fault-tolerance”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.7] OpenSearch 도메인은 세분화된 접근 제어를 활성화해야 합니다.”,“AWS 구성 규칙”: “opensearch-access-control-enabled”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Opensearch.8] OpenSearch 도메인에 대한 연결은 TLS 1.2를 사용하여 암호화되어야 합니다.”,“AWS 구성 규칙”: “opensearch-https-required”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.10] OpenSearch 도메인에는 최신 소프트웨어 업데이트가 설치되어 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-update-check”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[PCA.1] AWS 사설 CA 루트 인증 기관을 비활성화해야 합니다.”,“AWS 구성 규칙”: “acm-pca-root-ca-disabled”,“리소스 유형”: “AWS::ACMPCA::CertificateAuthority”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[RDS.1] RDS 스냅샷은 비공개여야 합니다.”,“AWS 구성 규칙”: “rds-snapshots-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[RDS.2] RDS DB 인스턴스는 PubliclyAccessible AWS 구성에 따라 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “rds-instance-public-access-check”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[RDS.3] RDS DB 인스턴스에는 저장 시 암호화가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-storage-encrypted”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.4] RDS 클러스터 스냅샷과 데이터베이스 스냅샷은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “rds-snapshot-encrypted”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.5] RDS DB 인스턴스는 여러 가용 영역으로 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-multi-az-support”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.6] RDS DB 인스턴스에 대해 향상된 모니터링을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-enhanced-monitoring-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.7] RDS 클러스터에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.8] RDS DB 인스턴스에는 삭제 보호가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-instance-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.9] RDS DB 인스턴스는 CloudWatch Logs에 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “rds-logging-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.10] RDS 인스턴스에 대해 IAM 인증을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-instance-iam-authentication-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.11] RDS 인스턴스에는 자동 백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “db-instance-backup-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.12] RDS 클러스터에 대해 IAM 인증을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-iam-authentication-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.13] RDS 자동 마이너 버전 업그레이드가 활성화되어야 합니다”,“AWS 구성 규칙”: “rds-automatic-minor-version-upgrade-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[RDS.14] Amazon Aurora 클러스터는 역추적을 활성화해야 합니다.”,“AWS 구성 규칙”: “aurora-mysql-backtracking-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.15] RDS DB 클러스터는 여러 가용 영역에 대해 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-multi-az-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.16] RDS DB 클러스터는 태그를 스냅샷에 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-copy-tags-to-snapshots-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.17] RDS DB 인스턴스는 태그를 스냅샷에 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-instance-copy-tags-to-snapshots-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.18] RDS 인스턴스는 VPC에 배포되어야 합니다”,“AWS 구성 규칙”: “rds-deployed-in-vpc”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[RDS.19] 중요한 클러스터 이벤트에 대해 기존 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.20] 중요한 데이터베이스 인스턴스 이벤트에 대해 기존 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-instance-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.21] 중요한 데이터베이스 매개변수 그룹 이벤트에 대해 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-pg-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.22] 중요한 데이터베이스 보안 그룹 이벤트에 대해 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-sg-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.23] RDS 인스턴스는 데이터베이스 엔진 기본 포트를 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “rds-no-default-ports”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.24] RDS 데이터베이스 클러스터는 사용자 정의 관리자 사용자 이름을 사용해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-default-admin-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.25] RDS 데이터베이스 인스턴스는 사용자 정의 관리자 사용자 이름을 사용해야 합니다.”,“AWS 구성 규칙”: “rds-instance-default-admin-check”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.26] RDS DB 인스턴스는 백업 계획으로 보호되어야 합니다.”,“AWS 구성 규칙”: “rds-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[RDS.27] RDS DB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-encrypted-at-rest”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.34] Aurora MySQL DB 클러스터는 CloudWatch Logs에 감사 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “rds-aurora-mysql-audit-logging-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.35] RDS DB 클러스터에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-auto-minor-version-upgrade-enable”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.1] Amazon Redshift 클러스터는 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-public-access-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Redshift.2] Amazon Redshift 클러스터에 대한 연결은 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “redshift-require-tls-ssl”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.3] Amazon Redshift 클러스터에는 자동 스냅샷이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “redshift-backup-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.4] Amazon Redshift 클러스터에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-audit-logging-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.6] Amazon Redshift에서는 주요 버전으로의 자동 업그레이드가 활성화되어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-maintenancesettings-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.7] Redshift 클러스터는 향상된 VPC 라우팅을 사용해야 합니다.”,“AWS 구성 규칙”: “redshift-enhanced-vpc-routing-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.8] Amazon Redshift 클러스터는 기본 관리자 사용자 이름을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “redshift-default-admin-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.9] Redshift 클러스터는 기본 데이터베이스 이름을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “redshift-default-db-name-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.10] Redshift 클러스터는 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-kms-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Route53.2] Route 53 공개 호스팅 영역은 DNS 쿼리를 기록해야 합니다.”,“AWS 구성 규칙”: “route53-query-logging-enabled”,“리소스 유형”: “AWS::Route53::HostedZone”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.1] S3 공개 액세스 차단 설정이 활성화되어야 합니다”,“AWS 구성 규칙”: “s3-account-level-public-access-blocks-주기적”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[S3.2] S3 버킷은 공개 읽기 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “s3-bucket-public-read-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “정기적 및 변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.3] S3 버킷은 공개 쓰기 액세스를 금지해야 합니다”,“AWS 구성 규칙”: “s3-bucket-public-write-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “정기적 및 변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.5] S3 버킷에는 SSL(Secure Socket Layer) 사용 요청이 필요합니다”,“AWS 구성 규칙”: “s3-bucket-ssl-requests-only”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.6] 버킷 정책에서 다른 AWS 계정에 부여된 S3 권한은 제한되어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-blacklisted-actions-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[S3.7] S3 버킷에는 지역 간 복제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-replication-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.8] S3 공개 액세스 차단 설정은 버킷 수준에서 활성화되어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-level-public-access-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[S3.9] S3 버킷 서버 액세스 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “s3-bucket-logging-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.10] 버전 관리가 활성화된 S3 버킷에는 수명 주기 정책이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-version-lifecycle-policy-check”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.11] S3 버킷에는 이벤트 알림이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-event-notifications-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.12] 버킷에 대한 사용자 액세스를 관리하는 데 S3 액세스 제어 목록(ACL)을 사용하면 안 됩니다.”,“AWS 구성 규칙”: “s3-bucket-acl-금지”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.13] S3 버킷에는 수명 주기 정책이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-lifecycle-policy-check”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.14] S3 버킷은 버전 관리를 사용해야 합니다.”,“AWS 구성 규칙”: “s3-bucket-versioning-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.15] S3 버킷은 객체 잠금을 사용하도록 구성되어야 합니다”,“AWS 구성 규칙”: “s3-bucket-default-lock-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.17] S3 버킷은 AWS KMS 키를 사용하여 저장 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “s3-default-encryption-kms”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.19] S3 액세스 포인트에는 공개 액세스 차단 설정이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-access-point-public-access-blocks”,“리소스 유형”: “AWS::S3::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.20] S3 범용 버킷에는 MFA 삭제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-mfa-delete-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[SageMaker.1] Amazon SageMaker 노트북 인스턴스는 인터넷에 직접 액세스할 수 없어야 합니다.”,“AWS 구성 규칙”: “sagemaker-notebook-no-direct-internet-access”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[SageMaker.2] SageMaker 노트북 인스턴스는 사용자 지정 VPC에서 시작되어야 합니다.”,“AWS 구성 규칙”: “sagemaker-notebook-instance-inside-vpc”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SageMaker.3] 사용자는 SageMaker 노트북 인스턴스에 대한 루트 액세스 권한을 가져서는 안 됩니다.”,“AWS 구성 규칙”: “sagemaker-notebook-instance-root-access-check”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SecretsManager.1] Secrets Manager 비밀에는 자동 교체가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-rotation-enabled-check”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.2] 자동 순환으로 구성된 Secrets Manager 비밀은 성공적으로 순환되어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-scheduled-rotation-success-check”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.3] 사용하지 않는 Secrets Manager 비밀 제거”,“AWS 구성 규칙”: “secretsmanager-secret-unused”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.4] Secrets Manager 비밀은 지정된 일 수 내에 교체되어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-secret-periodic-rotation”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[SNS.1] SNS 주제는 AWS KMS를 사용하여 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “sns-encrypted-kms”,“리소스 유형”: “AWS::SNS::주제”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SNS.2] 주제로 전송된 알림 메시지에 대해 전달 상태 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “sns-topic-message-delivery-notification-enabled”,“리소스 유형”: “AWS::SNS::주제”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SQS.1] Amazon SQS 대기열은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “sqs-queue-encrypted”,“리소스 유형”: “AWS::SQS::큐”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[StepFunctions.1] Step Functions 상태 시스템에는로깅이 켜져 있어야 합니다.”,“AWS 구성 규칙”: “step-functions-state-machine-logging-enabled”,“리소스 유형”: “AWS::StepFunctions::StateMachine”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.1] AWS WAF Classic 글로벌 웹 ACL 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “waf-classic-logging-enabled”,“리소스 유형”: “AWS::WAF::WebACL”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[WAF.2] AWS WAF Classic 지역 규칙에는 하나 이상의 조건이 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-rule-not-empty”,“리소스 유형”: “AWS::WAFRegional::Rule”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.3] AWS WAF Classic 지역 규칙 그룹에는 규칙이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-rulegroup-not-empty”,“리소스 유형”: “AWS::WAFRegional::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.4] AWS WAF Classic 지역 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-webacl-not-empty”,“리소스 유형”: “AWS::WAFRegional::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.6] AWS WAF Classic 전역 규칙에는 하나 이상의 조건이 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-rule-not-empty”,“리소스 유형”: “AWS::WAF::Rule”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.7] AWS WAF Classic 전역 규칙 그룹에는 규칙이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-rulegroup-not-empty”,“리소스 유형”: “AWS::WAF::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.8] AWS WAF Classic 글로벌 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-webacl-not-empty”,“리소스 유형”: “AWS::WAF::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.10] AWS WAF 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “wafv2-webacl-not-empty”,“리소스 유형”: “AWS::WAFv2::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.11] AWS WAF 웹 ACL 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “wafv2-logging-enabled”,“리소스 유형”: “AWS::WAFv2::WebACL”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[WAF.12] AWS WAF 규칙에는 CloudWatch 지표가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “wafv2-rulegroup-logging-enabled”,“리소스 유형”: “AWS::WAFv2::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”}] </details> ## Filtering with Jq Command (Severity = Critical or High) - I filtered the retrieved JSON file with the jq command to extract the AWS Config rules according to their respective severity. - First, let's extract the AWS Config rules with Critical severity. - AWS Config rules that are considered to have high security risks, such as public exposure of AWS resources, security groups allowing access to common ports, and potential credential leaks, were extracted. - The items marked as `Not Found` are custom Security Hub rules. <pre class="line-numbers" data-line="4"><code class="language-bash"> % cat result_20240204153052.json| jq '.[] | select(.Severity == "Critical") | {title: ."find_element.text" ,config_rule: ."AWS Config rule"}' { "title": "[CloudTrail.6] Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible", "config_rule": "Not Found" } { "title": "[CodeBuild.1] CodeBuild Bitbucket source repository URLs should not contain sensitive credentials", "config_rule": "codebuild-project-source-repo-url-check" } { "title": "[CodeBuild.2] CodeBuild project environment variables should not contain clear text credentials", "config_rule": "codebuild-project-envvar-awscred-check" } { "title": "[DMS.1] Database Migration Service replication instances should not be public", "config_rule": "dms-replication-not-public" } { "title": "[DocumentDB.3] Amazon DocumentDB manual cluster snapshots should not be public", "config_rule": "docdb-cluster-snapshot-public-prohibited" } { "title": "[EC2.1] Amazon EBS snapshots should not be publicly restorable", "config_rule": "ebs-snapshot-public-restorable-check" } { "title": "[EC2.19] Security groups should not allow unrestricted\n access to ports with high risk", "config_rule": "vpc-sg-restricted-common-ports" } { "title": "[SSM.4] SSM documents should not be public", "config_rule": "ssm-document-not-public" } { "title": "[EMR.2] Amazon EMR block public access setting should be enabled", "config_rule": "emr-block-public-access" } { "title": "[ES.2] Elasticsearch domains should not be publicly accessible", "config_rule": "elasticsearch-in-vpc-only" } { "title": "[IAM.4] IAM root user access key should not exist", "config_rule": "iam-root-access-key-check" } { "title": "[IAM.6] Hardware MFA should be enabled for the root user", "config_rule": "root-account-hardware-mfa-enabled" } { "title": "[IAM.9] MFA should be enabled for the root user", "config_rule": "root-account-mfa-enabled" } { "title": "[KMS.3] AWS KMS keys should not be deleted unintentionally", "config_rule": "kms-cmk-not-scheduled-for-deletion-2" } { "title": "[Lambda.1] Lambda function policies should prohibit public access", "config_rule": "lambda-function-public-access-prohibited" } { "title": "[Neptune.3] Neptune DB cluster snapshots should not be\n public", "config_rule": "neptune-cluster-snapshot-public-prohibited" } { "title": "[Opensearch.2] OpenSearch domains should not be publicly accessible", "config_rule": "opensearch-in-vpc-only" } { "title": "[RDS.1] RDS snapshot should be private", "config_rule": "rds-snapshots-public-prohibited" } { "title": "[RDS.2] RDS DB Instances should prohibit public access, as determined by the PubliclyAccessible AWS Configuration", "config_rule": "rds-instance-public-access-check" } { "title": "[Redshift.1] Amazon Redshift clusters should prohibit public access", "config_rule": "redshift-cluster-public-access-check" } { "title": "[S3.2] S3 buckets should prohibit public read access", "config_rule": "s3-bucket-public-read-prohibited" } { "title": "[S3.3] S3 buckets should prohibit public write access", "config_rule": "s3-bucket-public-write-prohibited" } { "title": "[S3.19] S3 access points should have block public access settings enabled", "config_rule": "s3-access-point-public-access-blocks" }
날짜/시간에서 날짜/시간 가져오기JSON 가져오기수입요청수입 OS수입 시스템수입 로깅bs4에서 가져오기 BeautifulSoup
LOG_LEVEL = 로깅.INFOURL = [“https://docs.aws.amazon.com/securityhub/latest/userguide/account-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/acm-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/apigateway-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/appsync-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/athena-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/backup-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudformation-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudfront-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudtrail-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/codebuild-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/config-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/dms-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/documentdb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/dynamodb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ecr-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ecs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/autoscaling-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/ssm-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/efs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/eks-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elasticache-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elasticbeanstalk-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/elb-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/emr-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/es-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/eventbridge-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/fsx-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/guardduty-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/kinesis-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/kms-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/lambda-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/macie-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/msk-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/mq-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/neptune-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/networkfirewall-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/opensearch-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/pca-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/rds-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/redshift-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/route53-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sagemaker-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/secretsmanager-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sns-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/sqs-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/stepfunctions-controls.html”,“https://docs.aws.amazon.com/securityhub/latest/userguide/waf-controls.html”]검색_STRINGS = {“AWS 구성 규칙”: “코드”,“리소스 유형”: “코드”,“일정 유형”: “텍스트”,“심각도”: “텍스트”}FIND_ELEMENT_NAME = “h2”FIND_NEXT_SIBLINGS = “p”
클래스 TimeFormatter(logging.Formatter):변환기 = datetime.fromtimestamp
def formatTime(self, Record, datefmt=None):dt = self.converter(record.created)datefmt인 경우:s = dt.strftime(datefmt)또 다른:t = dt.strftime(self.default_time_format)s = self.default_msec_format % (t, 레코드.msecs)반환하다
정의 init_logger():로거 = 로깅.getLogger(name)
log_format_string = json.dumps({‘log레벨’: ‘%(레벨 이름)s’,‘시간’: ‘%(asctime)s’,‘라인’: “%(파일 이름)s: %(lineno)d”,‘메시지’: ‘%(메시지)s’,}, 들여쓰기=없음)핸들러 = 로깅.StreamHandler(sys.stdout)handler.setFormatter((TimeFormatter(log_format_string)))logger.addHandler(핸들러)logger.propagate = 거짓logger.setLevel(LOG_LEVEL)
로거 반환
데프 메인():로거 = init_logger()
결과 = []
URL의 URL:응답 = 요청.get(url)response.encoding = response.apparent_encoding
수프 = BeautifulSoup(response.text, ‘html.parser’)find_elements = 수프.find_all(FIND_ELEMENT_NAME)
find_elements의 find_element에 대해:next_siblings = find_element.find_next_siblings(FIND_NEXT_SIBLINGS)항목 = {“find_element.text”: find_element.text}
logger.debug(f”find_element: {find_element}“)
search_string의 경우 SEARCH_STRINGS.items()의 메소드:next_siblings의 형제의 경우:sibling.text에 search_string이 있는 경우:if 메소드 == “텍스트”:값 = 형제.b.next_sibling.strip()항목[검색_문자열] = 값logger.debug(f”검색_문자열: {검색_문자열}, 값: {값}“)부서지다또 다른:value_element = sibling.find(method, {‘class’: ‘code’})value_element인 경우:항목[검색_문자열] = value_element.textlogger.debug(f”검색_문자열: {검색_문자열}, 값: {value_element.text}“)부서지다search_string이 항목에 없는 경우:항목[search_string] =”찾을 수 없음”logger.debug(f”검색_문자열: {검색_문자열}, 값: 없음”)
결과.추가(항목)
그렇지 않은 경우 os.path.exists(‘.output’):os.makedirs(‘.output’)
지금 = datetime.now().strftime(‘%Y%m%d%H%M%S’)
open(f’.output/result_{now}.json’, ‘w’, 인코딩=‘utf-8’)을 f로 사용:json.dump(결과, f, verify_ascii=False)
logger.info(f”결과를 .output/result_{now}.json에 성공적으로 저장했습니다.”)
name == “main”인 경우:기본()
## JSON File of Retrieved AWS Security Hub Control References - The actual contents of the retrieved JSON file are as follows. - Some items are marked as `Not Found`, which means that the keywords specified in the `SEARCH_STRINGS` variable were not found. <details> <summary>JSON of AWS Security Hub Control References</summary>
JSON[{“find_element.text”: “[Account.1] AWS 계정에 대한 보안 연락처 정보를 제공해야 합니다.”,“AWS 구성 규칙”: “보안 계정 정보 제공”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Account.2] AWS 계정은 AWS Organizations 조직의 일부여야 합니다.”,“AWS Config 규칙”: “조직 부분 계정”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ACM.1] 가져온 인증서와 ACM 발급 인증서는 지정된 기간 후에 갱신되어야 합니다.”,“AWS 구성 규칙”: “acm-certificate-expiration-check”,“리소스 유형”: “AWS::ACM::인증서”,“일정 유형”: “변경이 트리거되고 주기적으로 발생함”,“심각도”: “중간”},{“find_element.text”: “[ACM.2] ACM에서 관리하는 RSA 인증서는 최소 2,048비트의 키 길이를 사용해야 합니다.”,“AWS 구성 규칙”: “acm-certificate-rsa-check”,“리소스 유형”: “AWS::ACM::인증서”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[APIGateway.1] API 게이트웨이 REST 및 WebSocket API 실행 로깅활성화되어야 합니다”,“AWS 구성 규칙”: “api-gw-execution-logging-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.2] API 게이트웨이 REST API 단계는 백엔드 인증에 SSL 인증서를 사용하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “api-gw-ssl-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.3] API Gateway REST API 단계에는 AWS X-Ray추적이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “api-gw-xray-enabled”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[APIGateway.4] API 게이트웨이는 WAF 웹ACL과 연결되어야 합니다”,“AWS 구성 규칙”: “api-gw-cache-encrypted”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.5] API Gateway REST API 캐시 데이터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “api-gw-cache-encrypted”,“리소스 유형”: “AWS::ApiGateway::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.8] API 게이트웨이 경로는 인증 유형을 지정해야 합니다.”,“AWS 구성 규칙”: “api-gwv2-authorization-type-configured”,“리소스 유형”: “AWS::ApiGatewayV2::Route”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[APIGateway.9] API Gateway V2단계에 대한 액세스 로깅을 구성해야 합니다.”,“AWS 구성 규칙”: “api-gwv2-access-logs-enabled”,“리소스 유형”: “AWS::ApiGatewayV2::Stage”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AppSync.2] AWS AppSync에는 필드 수준 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “appsync-logging-enabled”,“리소스 유형”: “AWS::AppSync::GraphQLApi”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AppSync.5] AWS AppSync GraphQL API는 API 키로 인증되어서는 안 됩니다.”,“AWS 구성 규칙”: “appsync-authorization-check”,“리소스 유형”: “AWS::AppSync::GraphQLApi”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Athena.1] Athena 작업 그룹은 저장 시암호화되어야 합니다.”,“AWS 구성 규칙”: “athena-workgroup-encrypted-at-rest”,“리소스 유형”: “AWS::Athena::WorkGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Backup.1] AWS 백업 복구 지점은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “백업-복구-점-암호화”,“리소스 유형”: “AWS::Backup::RecoveryPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFormation.1] CloudFormation 스택은 단순 알림 서비스(SNS)와 통합되어야 합니다.”,“AWS 구성 규칙”: “cloudformation-stack-notification-check”,“리소스 유형”: “AWS::CloudFormation::Stack”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.1] CloudFront 배포판에는 기본 루트 객체가 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-default-root-object-configured”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CloudFront.3] CloudFront 배포에는 전송 중 암호화가 필요합니다.”,“AWS 구성 규칙”: “cloudfront-viewer-policy-https”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.4] CloudFront 배포판에는 원본 장애 조치가 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-origin-failover-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.5] CloudFront 배포판에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-accesslogs-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.6] CloudFront 배포판에는 WAF가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudfront-associated-with-waf”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.7] CloudFront 배포판은 사용자 지정 SSL/TLS 인증서를 사용해야 합니다.”,“AWS 구성 규칙”: “cloudfront-custom-ssl-certificate”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.8] CloudFront 배포판은 SNI를 사용하여 HTTPS 요청을 처리해야 합니다.”,“AWS 구성 규칙”: “cloudfront-sni-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CloudFront.9] CloudFront 배포판은 사용자 지정 오리진에 대한 트래픽을 암호화해야 합니다.”,“AWS 구성 규칙”: “cloudfront-traffic-to-origin-encrypted”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.10] CloudFront 배포판은 엣지 로케이션과 사용자 지정 오리진 간에 더 이상 사용되지 않는 SSL 프로토콜을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “cloudfront-no-deprecated-ssl-protocols”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudFront.12] CloudFront 배포판은 존재하지 않는 S3 원본을 가리켜서는 안 됩니다.”,“AWS 구성 규칙”: “cloudfront-s3-origin-non-existent-bucket”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudFront.13] CloudFront 배포판은 원본 액세스 제어를 사용해야 합니다.”,“AWS 구성 규칙”: “cloudfront-s3-origin-access-control-enabled”,“리소스 유형”: “AWS::CloudFront::배포”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CloudTrail.1] CloudTrail은 읽기 및 쓰기 관리 이벤트를 포함하는 하나 이상의 다중 리전 추적으로 활성화되고 구성되어야 합니다.”,“AWS 구성 규칙”: “multi-region-cloudtrail-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudTrail.2] CloudTrail에는 저장 중 암호화가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “cloud-trail-encryption-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[CloudTrail.3] CloudTrail을 활성화해야 합니다”,“AWS 구성 규칙”: “cloudtrail 활성화”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[CloudTrail.4] CloudTrail 로그 파일 검증이 활성화되어야 합니다”,“AWS 구성 규칙”: “cloud-trail-log-file-validation-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudTrail.5] CloudTrail 추적은 Amazon CloudWatch Logs와 통합되어야 합니다.”,“AWS 구성 규칙”: “cloud-trail-cloud-watch-logs-enabled”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudTrail.6] CloudTrail 로그를 저장하는 데 사용되는 S3 버킷에 공개적으로 액세스할 수 없는지 확인하세요.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적 및 변경트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CloudTrail.7] CloudTrail S3 버킷에서 S3 버킷 액세스 로깅이 활성화되어 있는지 확인하세요.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::CloudTrail::Trail”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.1] "루트" 사용자 사용에 대한 로그 지표 필터 및 경보가 존재해야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.2] 무단 API 호출에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.3] MFA 없이 관리 콘솔 로그인을 위한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.4] IAM 정책 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.5] CloudTrail AWS 구성 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.6] AWS Management Console 인증 실패에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.7] 고객 관리 키의 비활성화 또는 예약 삭제를 위한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.8] S3 버킷 정책 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.9] AWS Config 구성 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.10] 보안 그룹 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.11] NACL(네트워크 액세스 제어 목록) 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.12] 네트워크 게이트웨이 변경 사항에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.13] 경로 테이블 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.14] VPC 변경에 대한 로그 지표 필터 및 경보가 있는지 확인”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::Logs::MetricFilter”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[CloudWatch.15] CloudWatch 경보에는 지정된 작업이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-check”,“리소스 유형”: “AWS::CloudWatch::알람”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CloudWatch.16] CloudWatch 로그 그룹은 지정된 기간 동안 보존되어야 합니다.”,“AWS 구성 규칙”: “cw-loggroup-retention-기간-check”,“리소스 유형”: “AWS::Logs::LogGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[CloudWatch.17] CloudWatch 경보 작업이 활성화되어야 합니다.”,“AWS 구성 규칙”: “cloudwatch-alarm-action-enabled-check”,“리소스 유형”: “AWS::CloudWatch::알람”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[CodeBuild.1] CodeBuild Bitbucket 소스 저장소 URL에는 민감한 자격 증명이 포함되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-source-repo-url-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CodeBuild.2] CodeBuild 프로젝트 환경 변수에는 일반 텍스트 자격 증명이 포함되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-envvar-awscred-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[CodeBuild.3] CodeBuild S3 로그는 암호화되어야 합니다”,“AWS 구성 규칙”: “codebuild-project-s3-logs-encrypted”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[CodeBuild.4] CodeBuild 프로젝트 환경에는 로깅 AWS 구성이 있어야 합니다.”,“AWS 구성 규칙”: “codebuild-project-logging-enabled”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[CodeBuild.5] CodeBuild 프로젝트 환경에는 권한 모드가 활성화되어서는 안 됩니다.”,“AWS 구성 규칙”: “codebuild-project-environment-privileged-check”,“리소스 유형”: “AWS::CodeBuild::프로젝트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Config.1] AWS Config가 활성화되어야 합니다”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DMS.1] 데이터베이스 마이그레이션 서비스 복제 인스턴스는 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “dms-replication-not-public”,“리소스 유형”: “AWS::DMS::ReplicationInstance”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[DMS.6] DMS 복제 인스턴스에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-auto-minor-version-upgrade-enabled”,“리소스 유형”: “AWS::DMS::ReplicationInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.7] 대상 데이터베이스에 대한 DMS 복제 작업에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-replication-task-targetdb-logging”,“리소스 유형”: “AWS::DMS::ReplicationTask”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.8] 원본 데이터베이스에 대한 DMS 복제 작업에는 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dms-replication-task-sourcedb-logging”,“리소스 유형”: “AWS::DMS::ReplicationTask”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DMS.9] DMS 끝점은 SSL을 사용해야 합니다.”,“AWS 구성 규칙”: “dms-endpoint-ssl-configured”,“리소스 유형”: “AWS::DMS::엔드포인트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.1] Amazon DocumentDB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-encrypted”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.2] Amazon DocumentDB 클러스터에는 적절한 백업 보존 기간이 있어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-backup-retention-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.3] Amazon DocumentDB 수동 클러스터 스냅샷은 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “docdb-cluster-snapshot-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[DocumentDB.4] Amazon DocumentDB 클러스터는 CloudWatch Logs에 감사 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-audit-logging-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DocumentDB.5] Amazon DocumentDB 클러스터에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “docdb-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.1] DynamoDB 테이블은 수요에 따라 용량을 자동으로 확장해야 합니다.”,“AWS 구성 규칙”: “dynamodb-autoscaling-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.2] DynamoDB 테이블에는 특정 시점 복구가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-pitr-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.3] DynamoDB Accelerator(DAX) 클러스터는 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “dax-encryption-enabled”,“리소스 유형”: “AWS::DynamoDB::Cluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.4] DynamoDB 테이블은 백업 계획에 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[DynamoDB.6] DynamoDB 테이블에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “dynamodb-table-deletion-protection-enabled”,“리소스 유형”: “AWS::DynamoDB::테이블”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECR.1] ECR 개인 저장소에는 이미지 스캔이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-image-scanning-enabled”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ECR.2] ECR 개인 저장소에는 태그 불변성이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-tag-immutability-enabled”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECR.3] ECR 저장소에는 수명 주기 정책이 하나 이상 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “ecr-private-lifecycle-policy-configured”,“리소스 유형”: “AWS::ECR::리포지토리”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECS.1] Amazon ECS 작업 정의에는 보안 네트워킹 모드와 사용자 정의가 있어야 합니다.”,“AWS 구성 규칙”: “ecs-task-definition-user-for-host-mode-check”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.2] ECS 서비스에는 공용 IP 주소가 자동으로 할당되어서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::서비스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.3] ECS 작업 정의는 호스트의 프로세스 네임스페이스를 공유해서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.4] ECS 컨테이너는 비권한으로 실행되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.5] ECS 컨테이너는 루트 파일 시스템에 대한 읽기 전용 액세스로 제한되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.8] 비밀은 컨테이너 환경 변수로 전달되어서는 안 됩니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.9] ECS 작업 정의에는 로깅 구성이 있어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::TaskDefinition”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ECS.10] ECS Fargate 서비스는 최신 Fargate 플랫폼 버전에서 실행되어야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::서비스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ECS.12] ECS 클러스터는 Container Insights를 사용해야 합니다.”,“AWS 구성 규칙”: “찾을 수 없음”,“리소스 유형”: “AWS::ECS::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.1] Amazon EBS 스냅샷은 공개적으로 복원할 수 없어야 합니다.”,“AWS 구성 규칙”: “ebs-snapshot-public-restorable-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[EC2.2] VPC 기본 보안 그룹은 인바운드 또는 아웃바운드 트래픽을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “vpc-default-security-group-closed”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.3] 연결된 Amazon EBS 볼륨은 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “암호화된 볼륨”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.4] 중지된 EC2 인스턴스는 지정된 기간 후에 제거되어야 합니다.”,“AWS 구성 규칙”: “ec2-stopped-instance”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.6] 모든 VPC에서 VPC 흐름 로깅을 활성화해야 합니다.”,“AWS 구성 규칙”: “vpc-flow-logs-enabled”,“리소스 유형”: “AWS::EC2::VPC”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.7] EBS 기본 암호화가 활성화되어야 합니다”,“AWS 구성 규칙”: “ec2-ebs-encryption-by-default”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.8] EC2 인스턴스는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용해야 합니다.”,“AWS 구성 규칙”: “ec2-imdsv2-check”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.9] Amazon EC2 인스턴스에는 퍼블릭 IPv4 주소가 없어야 합니다.”,“AWS 구성 규칙”: “ec2-instance-no-public-ip”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.10] Amazon EC2는 Amazon EC2 서비스용으로 생성된 VPC 엔드포인트를 사용하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “service-vpc-endpoint-enabled”,“리소스 유형”: “AWS::EC2::VPC”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.12] 사용하지 않는 Amazon EC2 EIP를 제거해야 합니다”,“AWS 구성 규칙”: “eip-attached”,“리소스 유형”: “AWS::EC2::EIP”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.13] 보안 그룹은.0.0/0 또는 ::/0에서 포트 22로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “restricted-ssh”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.14] 보안 그룹은 0.0.0.0/0 또는 ::/0에서 포트 3389로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “제한된 공통 포트”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.15] Amazon EC2 서브넷은 공용 IP 주소를자동으로 할당해서는 안 됩니다.”,“AWS 구성 규칙”: “subnet-auto-sign-public-ip-disabled”,“리소스 유형”: “AWS::EC2::Subnet”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.16] 사용하지 않는 네트워크 액세스 제어 목록은제거되어야 합니다”,“AWS 구성 규칙”: “vpc-network-acl-unused-check”,“리소스 유형”: “AWS::EC2::NetworkAcl”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.17] Amazon EC2 인스턴스는 여러 ENI를사용해서는 안 됩니다.”,“AWS 구성 규칙”: “ec2-instance-multiple-eni-check”,“리소스 유형”: “AWS::EC2::인스턴스”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EC2.18] 보안 그룹은 인증된 포트에 대해 무제한들어오는 트래픽만 허용해야 합니다.”,“AWS 구성 규칙”: “vpc-sg-open-only-to-authorized-ports”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.19] 보안 그룹은 위험도가 높은 포트에 대한무제한 액세스를 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “vpc-sg-restricted-common-ports”,“리소스 유형”: “AWS::EC2::SecurityGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[EC2.20] AWS Site-to-Site VPN연결을 위한 두 VPN 터널이 모두 작동되어야 합니다.”,“AWS 구성 규칙”: “vpc-vpn-2-tunnels-up”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.21] 네트워크 ACL은.0.0/0에서 포트 22 또는 포트 3389로의 수신을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “nacl-no-unrestricted-ssh-rdp”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.22] 사용하지 않는 Amazon EC2 보안 그룹은제거되어야 합니다”,“AWS 구성 규칙”: “ec2-security-group-attached-to-eni-주기적”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EC2.23] Amazon EC2 Transit Gateway는 자동으로VPC 연결 요청을 수락하면 안 됩니다.”,“AWS 구성 규칙”: “ec2-transit-gateway-auto-vpc-attach-disabled”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.24] Amazon EC2 반가상화 인스턴스 유형은사용하면 안 됩니다.”,“AWS 구성 규칙”: “ec2-paravirtual-instance-check”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EC2.25] Amazon EC2 시작 템플릿은 공용 IP를네트워크 인터페이스에 할당해서는 안 됩니다.”,“AWS 구성 규칙”: “ec2-launch-template-public-ip-disabled”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EC2.28] EBS 볼륨은 백업 계획에 포함되어야”,“AWS 구성 규칙”: “ebs-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::EC2::볼륨”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[EC2.51] EC2 클라이언트 VPN 엔드포인트에는 클라이언트 연결 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “ec2-client-vpn-connection-log-enabled”,“리소스 유형”: “AWS::EC2::ClientVpnEndpoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[AutoScaling.1] Classic Load Balancer와 연결된 Auto Scaling 그룹은 로드 밸런서 상태 확인을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-group-elb-healthcheck-required”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[AutoScaling.2] Amazon EC2 Auto Scaling 그룹은 여러 가용 영역을 포괄해야 합니다.”,“AWS 구성 규칙”: “autoscaling-multiple-az”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AutoScaling.3] Auto Scaling 그룹 시작 구성은 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 요구하도록 EC2 인스턴스를 구성해야 합니다.”,“AWS 구성 규칙”: “autoscaling-launchconfig-requires-imdsv2”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[AutoScaling.4] Auto Scaling 그룹 시작 구성에는 1보다 큰 메타데이터 응답 홉 제한이 있어서는 안 됩니다.”,“AWS 구성 규칙”: “autoscaling-launch-config-hop-limit”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Autoscaling.5] Auto Scaling 그룹 시작 구성을 사용하여 시작된 Amazon EC2 인스턴스에는 퍼블릭 IP 주소가 없어야 합니다.”,“AWS 구성 규칙”: “autoscaling-launch-config-public-ip-disabled”,“리소스 유형”: “AWS::AutoScaling::LaunchConfiguration”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[AutoScaling.6] Auto Scaling 그룹은 여러 가용 영역에서 여러 인스턴스 유형을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-multiple-instance-types”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[AutoScaling.9] Amazon EC2 Auto Scaling 그룹은 Amazon EC2 시작 템플릿을 사용해야 합니다.”,“AWS 구성 규칙”: “autoscaling-launch-template”,“리소스 유형”: “AWS::AutoScaling::AutoScalingGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SSM.1] Amazon EC2 인스턴스는 AWS 시스템 관리자에서 관리해야 합니다.”,“AWS 구성 규칙”: “ec2-instance-managed-by-systems-manager”,“리소스 유형”: “AWS::SSM::PatchCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SSM.2] Systems Manager가 관리하는 Amazon EC2 인스턴스는 패치 설치 후 패치 규정 준수 상태가 COMPLIANT여야 합니다.”,“AWS 구성 규칙”: “ec2-managedinstance-patch-compliance-status-check”,“리소스 유형”: “AWS::SSM::PatchCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SSM.3] Systems Manager가 관리하는 Amazon EC2 인스턴스의 연결 규정 준수 상태는 COMPLIANT여야 합니다.”,“AWS 구성 규칙”: “ec2-managedinstance-association-compliance-status-check”,“리소스 유형”: “AWS::SSM::AssociationCompliance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[SSM.4] SSM 문서는 공개되어서는 안 됩니다.”,“AWS 구성 규칙”: “ssm-document-not-public”,“리소스 유형”: “AWS::SSM::문서”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[EFS.1] AWS KMS를 사용하여 저장 중인 파일 데이터를 암호화하도록 Elastic File System을 구성해야 합니다.”,“AWS 구성 규칙”: “efs-encrypted-check”,“리소스 유형”: “AWS::EFS::FileSystem”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EFS.2] Amazon EFS 볼륨은 백업 계획에 있어야 합니다.”,“AWS 구성 규칙”: “efs-in-backup-plan”,“리소스 유형”: “AWS::EFS::FileSystem”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[EFS.3] EFS 액세스 포인트는 루트 디렉터리를 적용해야 합니다.”,“AWS 구성 규칙”: “efs-access-point-enforce-root-directory”,“리소스 유형”: “AWS::EFS::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EFS.4] EFS 액세스 포인트는 사용자 ID를 적용해야 합니다.”,“AWS 구성 규칙”: “efs-access-point-enforce-user-identity”,“리소스 유형”: “AWS::EFS::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EKS.1] EKS 클러스터 엔드포인트는 공개적으로 액세스할 수 없어야 합니다.”,“AWS 구성 규칙”: “eks-endpoint-no-public-access”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[EKS.2] EKS 클러스터는 지원되는 Kubernetes 버전에서 실행되어야 합니다.”,“AWS 구성 규칙”: “eks-cluster-supported-version”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[EKS.8] EKS 클러스터에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “eks-cluster-logging-enabled”,“리소스 유형”: “AWS::EKS::클러스터”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.1] ElastiCache Redis 클러스터에는 자동 백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-redis-cluster-automatic-backup-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElastiCache.2] Redis용 ElastiCache 캐시 클러스터에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-auto-minor-version-upgrade-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElastiCache.3] Redis용 ElastiCache 복제 그룹에는 자동 장애 조치가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-auto-failover-enabled”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.4] Redis용 ElastiCache 복제 그룹은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-encrypted-at-rest”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.5] Redis용 ElastiCache 복제 그룹은 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-encrypted-in-transit”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.6] 버전 6.0 이전의 Redis용 ElastiCache 복제 그룹은 Redis AUTH를 사용해야 합니다.”,“AWS 구성 규칙”: “elasticache-repl-grp-redis-auth-enabled”,“리소스 유형”: “AWS::ElastiCache::ReplicationGroup”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ElastiCache.7] ElastiCache 클러스터는 기본 서브넷 그룹을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “elasticache-subnet-group-check”,“리소스 유형”: “AWS::ElastiCache::CacheCluster”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[ElasticBeanstalk.1] Elastic Beanstalk 환경에는 향상된 상태 보고가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “beanstalk-enhanced-health-reporting-enabled”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[ElasticBeanstalk.2] Elastic Beanstalk 관리형 플랫폼 업데이트가 활성화되어야 합니다.”,“AWS 구성 규칙”: “elastic-beanstalk-managed-updates-enabled”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ElasticBeanstalk.3] Elastic Beanstalk는 로그를 CloudWatch로 스트리밍해야 합니다.”,“AWS 구성 규칙”: “elastic-beanstalk-logs-to-cloudwatch”,“리소스 유형”: “AWS::ElasticBeanstalk::환경”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[ELB.1] Application Load Balancer는 모든 HTTP 요청을 HTTPS로 리디렉션하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-http-to-https-redirection-check”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ELB.2] SSL/HTTPS 리스너가 있는 Classic Load Balancer는 AWS Certificate Manager에서 제공한 인증서를 사용해야 합니다.”,“AWS 구성 규칙”: “elb-acm-certificate-required”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.3] Classic Load Balancer 리스너는 HTTPS 또는 TLS 종료로 구성되어야 합니다.”,“AWS 구성 규칙”: “elb-tls-https-listeners-only”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.4] Application Load Balancer는 http 헤더를 삭제하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-http-drop-invalid-header-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.5] 애플리케이션 및 Classic Load Balancer 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “elb-logging-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.6] Application Load Balancer 삭제 보호가 활성화되어야 합니다”,“AWS 구성 규칙”: “elb-deletion-protection-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.7] Classic Load Balancer에는 연결 드레이닝이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elb-predefine-security-policy-ssl-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.8] SSL 리스너가 있는 Classic Load Balancer는 강력한 AWS 구성이 있는 사전 정의된 보안 정책을 사용해야 합니다.”,“AWS 구성 규칙”: “elb-predefine-security-policy-ssl-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.9] Classic Load Balancer에는 교차 영역 로드 밸런싱이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elb-cross-zone-load-balancing-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.10] Classic Load Balancer는 여러 가용 영역에 걸쳐 있어야 합니다.”,“AWS 구성 규칙”: “clb-multiple-az”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.12] Application Load Balancer는 방어 모드 또는 가장 엄격한 비동기화 완화 모드로 구성되어야 합니다.”,“AWS 구성 규칙”: “alb-desync-mode-check”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.13] 애플리케이션, 네트워크 및 게이트웨이 로드 밸런서는 여러 가용 영역에 걸쳐 있어야 합니다.”,“AWS 구성 규칙”: “elbv2-multiple-az”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.14] Classic Load Balancer는 방어 모드 또는 가장 엄격한 비동기화 완화 모드로 구성되어야 합니다.”,“AWS 구성 규칙”: “clb-desync-mode-check”,“리소스 유형”: “AWS::ElasticLoadBalancing::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ELB.16] Application Load Balancer는 AWS WAF 웹 ACL과 연결되어야 합니다.”,“AWS 구성 규칙”: “alb-waf-enabled”,“리소스 유형”: “AWS::ElasticLoadBalancingV2::LoadBalancer”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EMR.1] Amazon EMR 클러스터 기본 노드에는 퍼블릭 IP 주소가 없어야 합니다.”,“AWS 구성 규칙”: “emr-master-no-public-ip”,“리소스 유형”: “AWS::EMR::클러스터”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[EMR.2] Amazon EMR 공개 액세스 차단 설정이 활성화되어야 합니다”,“AWS 구성 규칙”: “emr-block-public-access”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[ES.1] Elasticsearch 도메인은 저장 시 암호화를 활성화해야 합니다.”,“AWS 구성 규칙”: “elasticsearch-encrypted-at-rest”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[ES.2] Elasticsearch 도메인은 공개적으로 접근할 수 없어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-in-vpc-only”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[ES.3] Elasticsearch 도메인은 노드 간에 전송되는 데이터를 암호화해야 합니다”,“AWS 구성 규칙”: “elasticsearch-node-to-node-encryption-check”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.4] CloudWatch Logs에 대한 Elasticsearch 도메인 오류 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-logs-to-cloudwatch”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.5] Elasticsearch 도메인에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-audit-logging-enabled”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.6] Elasticsearch 도메인에는 데이터 노드가 3개 이상 있어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-data-node-fault-tolerance”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.7] Elasticsearch 도메인은 최소 3개의 전용 마스터 노드로 구성되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-https-required”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[ES.8] Elasticsearch 도메인에 대한 연결은 TLS 1.2를 사용하여 암호화되어야 합니다.”,“AWS 구성 규칙”: “elasticsearch-https-required”,“리소스 유형”: “AWS::Elasticsearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[EventBridge.3] EventBridge 사용자 정의 이벤트 버스에는 리소스 기반 정책이 연결되어 있어야 합니다.”,“AWS 구성 규칙”: “custom-schema-registry-policy-attached”,“리소스 유형”: “AWS::Events::EventBus”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[EventBridge.4] EventBridge 전역 엔드포인트에는 이벤트 복제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “global-endpoint-event-replication-enabled”,“리소스 유형”: “AWS::이벤트::엔드포인트”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[FSx.1] OpenZFS 파일 시스템용 FSx는 백업 및 볼륨에 태그를 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “fsx-openzfs-copy-tags-enabled”,“리소스 유형”: “AWS::FSx::FileSystem”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[GuardDuty.1] GuardDuty가 활성화되어야 합니다”,“AWS 구성 규칙”: “guardduty-enabled-centralized”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-policy-no-statements-with-admin-access”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[IAM.2] IAM 사용자는 IAM 정책을 연결해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-user-no-policies-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[IAM.3] IAM 사용자의 액세스 키는 90일 이내에 교체되어야 합니다.”,“AWS 구성 규칙”: “액세스 키 순환”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.4] IAM 루트 사용자 액세스 키가 존재하지 않아야 합니다.”,“AWS 구성 규칙”: “iam-root-access-key-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.5] 콘솔 비밀번호가 있는 모든 IAM 사용자에 대해 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “mfa-enabled-for-iam-console-access”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.6] 루트 사용자에 대해 하드웨어 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “root-account-hardware-mfa-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.7] IAM 사용자에 대한 비밀번호 정책은 강력한 구성을 가지고 있어야 합니다”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.8] 사용하지 않은 IAM 사용자 자격 증명을 제거해야 합니다”,“AWS 구성 규칙”: “iam-user-unused-credentials-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.9] 루트 사용자에 대해 MFA를 활성화해야 합니다”,“AWS 구성 규칙”: “root-account-mfa-enabled”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “긴급”},{“find_element.text”: “[IAM.10] IAM 사용자를 위한 비밀번호 정책에는 강력한 AWS 구성이 있어야 합니다.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.11] IAM 비밀번호 정책에 대문자가 하나 이상 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.12] IAM 비밀번호 정책에 최소 하나의 소문자가 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.13] IAM 비밀번호 정책에 최소한 하나의 기호가 필요한지 확인”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.14] IAM 비밀번호 정책에 숫자가 하나 이상 필요한지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.15] IAM 비밀번호 정책에 따라 최소 비밀번호 길이가 14 이상인지 확인하세요.”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.16] IAM 비밀번호 정책이 비밀번호 재사용을 방지하는지 확인하세요”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.17] IAM 비밀번호 정책이 90일 이내에 비밀번호를 만료하는지 확인하세요”,“AWS 구성 규칙”: “iam-password-policy”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.18] AWS Support를 통해 사고를 관리하기 위한 지원 역할이 생성되었는지 확인하세요”,“AWS 구성 규칙”: “iam-policy-in-use”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.19] 모든 IAM 사용자에 대해 MFA를 활성화해야 합니다.”,“AWS 구성 규칙”: “iam-user-mfa-enabled”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[IAM.20] 루트 사용자의 사용을 피하세요”,“AWS 구성 규칙”: “루트 계정 사용 테스트”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[IAM.21] 귀하가 생성한 IAM 고객 관리형 정책은 서비스에 대한 와일드카드 작업을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-policy-no-statements-with-full-access”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[IAM.22] 45일 동안 사용하지 않은 IAM 사용자 자격 증명을 제거해야 합니다”,“AWS 구성 규칙”: “iam-user-unused-credentials-check”,“리소스 유형”: “AWS::IAM::사용자”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Kinesis.1] Kinesis 스트림은 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “kinesis-stream-encrypted”,“리소스 유형”: “AWS::Kinesis::Stream”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.1] IAM 고객 관리 정책은 모든 KMS 키에 대한 암호 해독 작업을 허용해서는 안 됩니다.”,“AWS 구성 규칙”: “iam-customer-policy-blocked-kms-actions”,“리소스 유형”: “AWS::IAM::정책”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.2] IAM 주체에는 모든 KMS 키에 대한 암호 해독 작업을 허용하는 IAM 인라인 정책이 있어서는 안 됩니다.”,“AWS 구성 규칙”: “iam-inline-policy-blocked-kms-actions”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[KMS.3] AWS KMS 키는 실수로 삭제되어서는 안 됩니다.”,“AWS 구성 규칙”: “kms-cmk-not-scheduled-for-deletion-2”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[KMS.4] AWS KMS 키 교체가 활성화되어야 합니다”,“AWS 구성 규칙”: “cmk-backing-key-rotation-enabled”,“리소스 유형”: “AWS::KMS::키”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Lambda.1] Lambda 함수 정책은 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “lambda-function-public-access-prohibited”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Lambda.2] Lambda 함수는 지원되는 런타임을 사용해야 합니다.”,“AWS 구성 규칙”: “lambda-function-settings-check”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Lambda.3] Lambda 함수는 VPC에 있어야 합니다.”,“AWS 구성 규칙”: “lambda-inside-vpc”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Lambda.5] VPC Lambda 함수는 여러 가용 영역에서 작동해야 합니다.”,“AWS 구성 규칙”: “lambda-vpc-multi-az-check”,“리소스 유형”: “AWS::Lambda::Function”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Macie.1] Macie를 활성화해야 합니다”,“AWS 구성 규칙”: “macie-status-check”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[MSK.1] MSK 클러스터는 브로커 노드 간 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “msk-in-cluster-node-require-tls”,“리소스 유형”: “AWS::MSK::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[MSK.2] MSK 클러스터에는 향상된 모니터링이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “msk-enhanced-monitoring-enabled”,“리소스 유형”: “AWS::MSK::클러스터”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[MQ.5] ActiveMQ 브로커는 활성/대기 배포 모드를 사용해야 합니다.”,“AWS 구성 규칙”: “mq-active-deployment-mode”,“리소스 유형”: “AWS::AmazonMQ::브로커”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[MQ.6] RabbitMQ 브로커는 클러스터 배포 모드를 사용해야 합니다.”,“AWS 구성 규칙”: “mq-rabbit-deployment-mode”,“리소스 유형”: “AWS::AmazonMQ::브로커”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.1] Neptune DB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-encrypted”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Neptune.2] Neptune DB 클러스터는 CloudWatch Logs에 감사로그를 게시해야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-cloudwatch-log-export-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[Neptune.3] Neptune DB 클러스터 스냅샷은 공개안 됩니다.”,“AWS 구성 규칙”: “neptune-cluster-snapshot-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Neptune.4] Neptune DB 클러스터에는 삭제보호가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.5] Neptune DB 클러스터에는 자동백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-backup-retention-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.6] Neptune DB 클러스터 스냅샷은 저장 시암호화되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-snapshot-encrypted”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.7] Neptune DB 클러스터에는 IAM데이터베이스 인증이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-iam-database-authentication”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Neptune.8] Neptune DB 클러스터는 스냅샷에 태그를복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-copy-tags-to-snapshot-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[Neptune.9] Neptune DB 클러스터는 여러 가용 영역에 걸쳐 배포되어야 합니다.”,“AWS 구성 규칙”: “neptune-cluster-multi-az-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.1] 네트워크 방화벽 방화벽은 여러 가용 영역에 걸쳐 배포되어야 합니다.”,“AWS 구성 규칙”: “netfw-multi-az-enabled”,“리소스 유형”: “AWS::NetworkFirewall::방화벽”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.2] 네트워크 방화벽 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “netfw-logging-enabled”,“리소스 유형”: “AWS::NetworkFirewall::LoggingConfiguration”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.3] 네트워크 방화벽 정책에는 연결된 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-rule-group-associated”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.4] 네트워크 방화벽 정책에 대한 기본 상태 비저장 작업은 전체 패킷에 대해 삭제 또는 전달이어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-default-action-full-packets”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.5] 네트워크 방화벽 정책에 대한 기본 상태 비저장 작업은 조각화된 패킷에 대해 삭제 또는 전달이어야 합니다.”,“AWS 구성 규칙”: “netfw-policy-default-action-fragment-packets”,“리소스 유형”: “AWS::NetworkFirewall::FirewallPolicy”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.6] 상태 비저장 네트워크 방화벽 규칙 그룹은 비어 있으면 안 됩니다”,“AWS 구성 규칙”: “netfw-stateless-rule-group-not-empty”,“리소스 유형”: “AWS::NetworkFirewall::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[NetworkFirewall.9] 네트워크 방화벽 방화벽에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “netfw-deletion-protection-enabled”,“리소스 유형”: “AWS::NetworkFirewall::방화벽”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.1] OpenSearch 도메인은 저장 시 암호화를 활성화해야 합니다.”,“AWS Config 규칙”: “opensearch-encrypted-at-rest”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.2] OpenSearch 도메인은 공개적으로 접근할 수 없어야 합니다.”,“AWS 구성 규칙”: “opensearch-in-vpc-only”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Opensearch.3] OpenSearch 도메인은 노드 간에 전송되는 데이터를 암호화해야 합니다”,“AWS 구성 규칙”: “opensearch-node-to-node-encryption-check”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.4] CloudWatch Logs에 대한 OpenSearch 도메인 오류 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “opensearch-logs-to-cloudwatch”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.5] OpenSearch 도메인에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-audit-logging-enabled”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.6] OpenSearch 도메인에는 데이터 노드가 세 개 이상 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-data-node-fault-tolerance”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.7] OpenSearch 도메인은 세분화된 접근 제어를 활성화해야 합니다.”,“AWS 구성 규칙”: “opensearch-access-control-enabled”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[Opensearch.8] OpenSearch 도메인에 대한 연결은 TLS 1.2를 사용하여 암호화되어야 합니다.”,“AWS 구성 규칙”: “opensearch-https-required”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Opensearch.10] OpenSearch 도메인에는 최신 소프트웨어 업데이트가 설치되어 있어야 합니다.”,“AWS 구성 규칙”: “opensearch-update-check”,“리소스 유형”: “AWS::OpenSearch::도메인”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[PCA.1] AWS 사설 CA 루트 인증 기관을 비활성화해야 합니다.”,“AWS 구성 규칙”: “acm-pca-root-ca-disabled”,“리소스 유형”: “AWS::ACMPCA::CertificateAuthority”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[RDS.1] RDS 스냅샷은 비공개여야 합니다.”,“AWS 구성 규칙”: “rds-snapshots-public-prohibited”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[RDS.2] RDS DB 인스턴스는 PubliclyAccessible AWS 구성에 따라 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “rds-instance-public-access-check”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[RDS.3] RDS DB 인스턴스에는 저장 시 암호화가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-storage-encrypted”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.4] RDS 클러스터 스냅샷과 데이터베이스 스냅샷은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “rds-snapshot-encrypted”,“리소스 유형”: “AWS::RDS::DBClusterSnapshot”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.5] RDS DB 인스턴스는 여러 가용 영역으로 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-multi-az-support”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.6] RDS DB 인스턴스에 대해 향상된 모니터링을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-enhanced-monitoring-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.7] RDS 클러스터에는 삭제 방지 기능이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.8] RDS DB 인스턴스에는 삭제 보호가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-instance-deletion-protection-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.9] RDS DB 인스턴스는 CloudWatch Logs에 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “rds-logging-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.10] RDS 인스턴스에 대해 IAM 인증을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-instance-iam-authentication-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.11] RDS 인스턴스에는 자동 백업이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “db-instance-backup-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.12] RDS 클러스터에 대해 IAM 인증을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-iam-authentication-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.13] RDS 자동 마이너 버전 업그레이드가 활성화되어야 합니다”,“AWS 구성 규칙”: “rds-automatic-minor-version-upgrade-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[RDS.14] Amazon Aurora 클러스터는 역추적을 활성화해야 합니다.”,“AWS 구성 규칙”: “aurora-mysql-backtracking-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.15] RDS DB 클러스터는 여러 가용 영역에 대해 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-multi-az-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.16] RDS DB 클러스터는 태그를 스냅샷에 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-copy-tags-to-snapshots-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.17] RDS DB 인스턴스는 태그를 스냅샷에 복사하도록 구성되어야 합니다.”,“AWS 구성 규칙”: “rds-instance-copy-tags-to-snapshots-enabled”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.18] RDS 인스턴스는 VPC에 배포되어야 합니다”,“AWS 구성 규칙”: “rds-deployed-in-vpc”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[RDS.19] 중요한 클러스터 이벤트에 대해 기존 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.20] 중요한 데이터베이스 인스턴스 이벤트에 대해 기존 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-instance-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.21] 중요한 데이터베이스 매개변수 그룹 이벤트에 대해 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-pg-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.22] 중요한 데이터베이스 보안 그룹 이벤트에 대해 RDS 이벤트 알림 구독을 구성해야 합니다.”,“AWS 구성 규칙”: “rds-sg-event-notifications-configured”,“리소스 유형”: “AWS::RDS::EventSubscription”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.23] RDS 인스턴스는 데이터베이스 엔진 기본 포트를 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “rds-no-default-ports”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[RDS.24] RDS 데이터베이스 클러스터는 사용자 정의 관리자 사용자 이름을 사용해야 합니다.”,“AWS 구성 규칙”: “rds-cluster-default-admin-check”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.25] RDS 데이터베이스 인스턴스는 사용자 정의 관리자 사용자 이름을 사용해야 합니다.”,“AWS 구성 규칙”: “rds-instance-default-admin-check”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.26] RDS DB 인스턴스는 백업 계획으로 보호되어야 합니다.”,“AWS 구성 규칙”: “rds-resources-protected-by-backup-plan”,“리소스 유형”: “AWS::RDS::DBInstance”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[RDS.27] RDS DB 클러스터는 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-encrypted-at-rest”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.34] Aurora MySQL DB 클러스터는 CloudWatch Logs에 감사 로그를 게시해야 합니다.”,“AWS 구성 규칙”: “rds-aurora-mysql-audit-logging-enabled”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[RDS.35] RDS DB 클러스터에는 자동 마이너 버전 업그레이드가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “rds-cluster-auto-minor-version-upgrade-enable”,“리소스 유형”: “AWS::RDS::DBCluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.1] Amazon Redshift 클러스터는 공개 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-public-access-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[Redshift.2] Amazon Redshift 클러스터에 대한 연결은 전송 중에 암호화되어야 합니다.”,“AWS 구성 규칙”: “redshift-require-tls-ssl”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.3] Amazon Redshift 클러스터에는 자동 스냅샷이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “redshift-backup-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.4] Amazon Redshift 클러스터에는 감사 로깅이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-audit-logging-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.6] Amazon Redshift에서는 주요 버전으로의 자동 업그레이드가 활성화되어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-maintenancesettings-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.7] Redshift 클러스터는 향상된 VPC 라우팅을 사용해야 합니다.”,“AWS 구성 규칙”: “redshift-enhanced-vpc-routing-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.8] Amazon Redshift 클러스터는 기본 관리자 사용자 이름을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “redshift-default-admin-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.9] Redshift 클러스터는 기본 데이터베이스 이름을 사용해서는 안 됩니다.”,“AWS 구성 규칙”: “redshift-default-db-name-check”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Redshift.10] Redshift 클러스터는 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “redshift-cluster-kms-enabled”,“리소스 유형”: “AWS::Redshift::Cluster”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[Route53.2] Route 53 공개 호스팅 영역은 DNS 쿼리를 기록해야 합니다.”,“AWS 구성 규칙”: “route53-query-logging-enabled”,“리소스 유형”: “AWS::Route53::HostedZone”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.1] S3 공개 액세스 차단 설정이 활성화되어야 합니다”,“AWS 구성 규칙”: “s3-account-level-public-access-blocks-주기적”,“리소스 유형”: “AWS::::계정”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[S3.2] S3 버킷은 공개 읽기 액세스를 금지해야 합니다.”,“AWS 구성 규칙”: “s3-bucket-public-read-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “정기적 및 변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.3] S3 버킷은 공개 쓰기 액세스를 금지해야 합니다”,“AWS 구성 규칙”: “s3-bucket-public-write-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “정기적 및 변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.5] S3 버킷에는 SSL(Secure Socket Layer) 사용 요청이 필요합니다”,“AWS 구성 규칙”: “s3-bucket-ssl-requests-only”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.6] 버킷 정책에서 다른 AWS 계정에 부여된 S3 권한은 제한되어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-blacklisted-actions-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[S3.7] S3 버킷에는 지역 간 복제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-replication-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.8] S3 공개 액세스 차단 설정은 버킷 수준에서 활성화되어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-level-public-access-prohibited”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[S3.9] S3 버킷 서버 액세스 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “s3-bucket-logging-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.10] 버전 관리가 활성화된 S3 버킷에는 수명 주기 정책이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-version-lifecycle-policy-check”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.11] S3 버킷에는 이벤트 알림이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-event-notifications-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.12] 버킷에 대한 사용자 액세스를 관리하는 데 S3 액세스 제어 목록(ACL)을 사용하면 안 됩니다.”,“AWS 구성 규칙”: “s3-bucket-acl-금지”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.13] S3 버킷에는 수명 주기 정책이 구성되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-lifecycle-policy-check”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.14] S3 버킷은 버전 관리를 사용해야 합니다.”,“AWS 구성 규칙”: “s3-bucket-versioning-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[S3.15] S3 버킷은 객체 잠금을 사용하도록 구성되어야 합니다”,“AWS 구성 규칙”: “s3-bucket-default-lock-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.17] S3 버킷은 AWS KMS 키를 사용하여 저장 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “s3-default-encryption-kms”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[S3.19] S3 액세스 포인트에는 공개 액세스 차단 설정이 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-access-point-public-access-blocks”,“리소스 유형”: “AWS::S3::AccessPoint”,“일정 유형”: “변경이 트리거됨”,“심각도”: “긴급”},{“find_element.text”: “[S3.20] S3 범용 버킷에는 MFA 삭제가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “s3-bucket-mfa-delete-enabled”,“리소스 유형”: “AWS::S3::버킷”,“일정 유형”: “변경이 트리거됨”,“심각도”: “낮음”},{“find_element.text”: “[SageMaker.1] Amazon SageMaker 노트북 인스턴스는 인터넷에 직접 액세스할 수 없어야 합니다.”,“AWS 구성 규칙”: “sagemaker-notebook-no-direct-internet-access”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “정기적”,“심각도”: “높음”},{“find_element.text”: “[SageMaker.2] SageMaker 노트북 인스턴스는 사용자 지정 VPC에서 시작되어야 합니다.”,“AWS 구성 규칙”: “sagemaker-notebook-instance-inside-vpc”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SageMaker.3] 사용자는 SageMaker 노트북 인스턴스에 대한 루트 액세스 권한을 가져서는 안 됩니다.”,“AWS 구성 규칙”: “sagemaker-notebook-instance-root-access-check”,“리소스 유형”: “AWS::SageMaker::NotebookInstance”,“일정 유형”: “변경이 트리거됨”,“심각도”: “높음”},{“find_element.text”: “[SecretsManager.1] Secrets Manager 비밀에는 자동 교체가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-rotation-enabled-check”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.2] 자동 순환으로 구성된 Secrets Manager 비밀은 성공적으로 순환되어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-scheduled-rotation-success-check”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.3] 사용하지 않는 Secrets Manager 비밀 제거”,“AWS 구성 규칙”: “secretsmanager-secret-unused”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[SecretsManager.4] Secrets Manager 비밀은 지정된 일 수 내에 교체되어야 합니다.”,“AWS 구성 규칙”: “secretsmanager-secret-periodic-rotation”,“리소스 유형”: “AWS::SecretsManager::비밀”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[SNS.1] SNS 주제는 AWS KMS를 사용하여 저장 시 암호화되어야 합니다.”,“AWS 구성 규칙”: “sns-encrypted-kms”,“리소스 유형”: “AWS::SNS::주제”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SNS.2] 주제로 전송된 알림 메시지에 대해 전달 상태 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “sns-topic-message-delivery-notification-enabled”,“리소스 유형”: “AWS::SNS::주제”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[SQS.1] Amazon SQS 대기열은 유휴 상태에서 암호화되어야 합니다.”,“AWS 구성 규칙”: “sqs-queue-encrypted”,“리소스 유형”: “AWS::SQS::큐”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[StepFunctions.1] Step Functions 상태 시스템에는로깅이 켜져 있어야 합니다.”,“AWS 구성 규칙”: “step-functions-state-machine-logging-enabled”,“리소스 유형”: “AWS::StepFunctions::StateMachine”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.1] AWS WAF Classic 글로벌 웹 ACL 로깅이 활성화되어야 합니다.”,“AWS 구성 규칙”: “waf-classic-logging-enabled”,“리소스 유형”: “AWS::WAF::WebACL”,“일정 유형”: “정기적”,“심각도”: “중간”},{“find_element.text”: “[WAF.2] AWS WAF Classic 지역 규칙에는 하나 이상의 조건이 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-rule-not-empty”,“리소스 유형”: “AWS::WAFRegional::Rule”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.3] AWS WAF Classic 지역 규칙 그룹에는 규칙이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-rulegroup-not-empty”,“리소스 유형”: “AWS::WAFRegional::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.4] AWS WAF Classic 지역 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-regional-webacl-not-empty”,“리소스 유형”: “AWS::WAFRegional::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.6] AWS WAF Classic 전역 규칙에는 하나 이상의 조건이 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-rule-not-empty”,“리소스 유형”: “AWS::WAF::Rule”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.7] AWS WAF Classic 전역 규칙 그룹에는 규칙이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-rulegroup-not-empty”,“리소스 유형”: “AWS::WAF::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.8] AWS WAF Classic 글로벌 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “waf-global-webacl-not-empty”,“리소스 유형”: “AWS::WAF::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.10] AWS WAF 웹 ACL에는 규칙 또는 규칙 그룹이 하나 이상 있어야 합니다.”,“AWS 구성 규칙”: “wafv2-webacl-not-empty”,“리소스 유형”: “AWS::WAFv2::WebACL”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”},{“find_element.text”: “[WAF.11] AWS WAF 웹 ACL 로깅이 활성화되어야 합니다”,“AWS 구성 규칙”: “wafv2-logging-enabled”,“리소스 유형”: “AWS::WAFv2::WebACL”,“일정 유형”: “정기적”,“심각도”: “낮음”},{“find_element.text”: “[WAF.12] AWS WAF 규칙에는 CloudWatch 지표가 활성화되어 있어야 합니다.”,“AWS 구성 규칙”: “wafv2-rulegroup-logging-enabled”,“리소스 유형”: “AWS::WAFv2::RuleGroup”,“일정 유형”: “변경이 트리거됨”,“심각도”: “중간”}]
</details> ## Filtering with Jq Command (Severity = Critical or High) - I filtered the retrieved JSON file with the jq command to extract the AWS Config rules according to their respective severity. - First, let's extract the AWS Config rules with Critical severity. - AWS Config rules that are considered to have high security risks, such as public exposure of AWS resources, security groups allowing access to common ports, and potential credential leaks, were extracted. - The items marked as `Not Found` are custom Security Hub rules. <pre class="line-numbers" data-line="4"><code class="language-bash"> % cat result_20240204153052.json| jq '.[] | select(.Severity == "Critical") | {title: ."find_element.text" ,config_rule: ."AWS Config rule"}' { "title": "[CloudTrail.6] Ensure the S3 bucket used to store CloudTrail logs is not publicly accessible", "config_rule": "Not Found" } { "title": "[CodeBuild.1] CodeBuild Bitbucket source repository URLs should not contain sensitive credentials", "config_rule": "codebuild-project-source-repo-url-check" } { "title": "[CodeBuild.2] CodeBuild project environment variables should not contain clear text credentials", "config_rule": "codebuild-project-envvar-awscred-check" } { "title": "[DMS.1] Database Migration Service replication instances should not be public", "config_rule": "dms-replication-not-public" } { "title": "[DocumentDB.3] Amazon DocumentDB manual cluster snapshots should not be public", "config_rule": "docdb-cluster-snapshot-public-prohibited" } { "title": "[EC2.1] Amazon EBS snapshots should not be publicly restorable", "config_rule": "ebs-snapshot-public-restorable-check" } { "title": "[EC2.19] Security groups should not allow unrestricted\n access to ports with high risk", "config_rule": "vpc-sg-restricted-common-ports" } { "title": "[SSM.4] SSM documents should not be public", "config_rule": "ssm-document-not-public" } { "title": "[EMR.2] Amazon EMR block public access setting should be enabled", "config_rule": "emr-block-public-access" } { "title": "[ES.2] Elasticsearch domains should not be publicly accessible", "config_rule": "elasticsearch-in-vpc-only" } { "title": "[IAM.4] IAM root user access key should not exist", "config_rule": "iam-root-access-key-check" } { "title": "[IAM.6] Hardware MFA should be enabled for the root user", "config_rule": "root-account-hardware-mfa-enabled" } { "title": "[IAM.9] MFA should be enabled for the root user", "config_rule": "root-account-mfa-enabled" } { "title": "[KMS.3] AWS KMS keys should not be deleted unintentionally", "config_rule": "kms-cmk-not-scheduled-for-deletion-2" } { "title": "[Lambda.1] Lambda function policies should prohibit public access", "config_rule": "lambda-function-public-access-prohibited" } { "title": "[Neptune.3] Neptune DB cluster snapshots should not be\n public", "config_rule": "neptune-cluster-snapshot-public-prohibited" } { "title": "[Opensearch.2] OpenSearch domains should not be publicly accessible", "config_rule": "opensearch-in-vpc-only" } { "title": "[RDS.1] RDS snapshot should be private", "config_rule": "rds-snapshots-public-prohibited" } { "title": "[RDS.2] RDS DB Instances should prohibit public access, as determined by the PubliclyAccessible AWS Configuration", "config_rule": "rds-instance-public-access-check" } { "title": "[Redshift.1] Amazon Redshift clusters should prohibit public access", "config_rule": "redshift-cluster-public-access-check" } { "title": "[S3.2] S3 buckets should prohibit public read access", "config_rule": "s3-bucket-public-read-prohibited" } { "title": "[S3.3] S3 buckets should prohibit public write access", "config_rule": "s3-bucket-public-write-prohibited" } { "title": "[S3.19] S3 access points should have block public access settings enabled", "config_rule": "s3-access-point-public-access-blocks" }
% 고양이 result_20240204153052.json|jq ‘.[] |select(.Severity == “높음”) |{제목: .”find_element.text” ,config_rule: .”AWS 구성 규칙”}’{“title”: “[계정.2] AWS 계정은 AWS Organizations 조직의 일부여야 합니다.”,“config_rule”: “계정 부분 조직”}{“title”: “[ACM.2] ACM에서 관리하는 RSA 인증서는 최소 2,048비트의 키 길이를 사용해야 합니다.”,“config_rule”: “acm-certificate-rsa-check”}{“title”: “[AppSync.5] AWS AppSync GraphQL API는 API 키로 인증되어서는 안 됩니다.”,“config_rule”: “appsync-authorization-check”}{“title”: “[CloudFront.1] CloudFront 배포판에는 기본 루트 객체가 구성되어 있어야 합니다.”,“config_rule”: “cloudfront-default-root-object-configured”}{“title”: “[CloudFront.12] CloudFront 배포판은 존재하지 않는 S3 오리진을 가리켜서는 안 됩니다.”,“config_rule”: “cloudfront-s3-origin-비존재-버킷”}{“title”: “[CloudTrail.1] CloudTrail은 읽기 및 쓰기 관리 이벤트를 포함하는 하나 이상의 다중 리전 추적으로 활성화되고 구성되어야 합니다.”,“config_rule”: “다중 지역-cloudtrail-활성화”}{“title”: “[CloudTrail.3] CloudTrail을 활성화해야 합니다”,“config_rule”: “cloudtrail 활성화”}{“title”: “[CloudWatch.15] CloudWatch 경보에는 지정된 작업이 구성되어 있어야 합니다.”,“config_rule”: “cloudwatch-alarm-action-check”}{“title”: “[CloudWatch.17] CloudWatch 경보 작업이 활성화되어야 합니다”,“config_rule”: “cloudwatch-alarm-action-enabled-check”}{“title”: “[CodeBuild.5] CodeBuild 프로젝트 환경에서는 권한 모드가 활성화되어서는 안 됩니다.”,“config_rule”: “codebuild-project-environment-privileged-check”}{“title”: “[ECR.1] ECR 개인 저장소에는 이미지 스캔이 구성되어 있어야 합니다.”,“config_rule”: “ecr-private-image-scanning-enabled”}{“title”: “[ECS.1] Amazon ECS 작업 정의에는 보안 네트워킹 모드와 사용자 정의가 있어야 합니다.”,“config_rule”: “ecs-task-definition-user-for-host-mode-check”}{“title”: “[ECS.2] ECS 서비스에는 공용 IP 주소가 자동으로 할당되어서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.3] ECS 작업 정의는 호스트의 프로세스 네임스페이스를 공유해서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.4] ECS 컨테이너는 비권한으로 실행되어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.5] ECS 컨테이너는 루트 파일 시스템에 대한 읽기 전용 액세스로 제한되어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.8] 비밀은 컨테이너 환경 변수로 전달되어서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.9] ECS 작업 정의에는 로깅 구성이 있어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[EC2.2] VPC 기본 보안 그룹은 인바운드 또는 아웃바운드 트래픽을 허용해서는 안 됩니다.”,“config_rule”: “vpc-default-security-group-closed”}{“title”: “[EC2.8] EC2 인스턴스는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용해야 합니다.”,“config_rule”: “ec2-imdsv2-check”}{“title”: “[EC2.9] Amazon EC2 인스턴스에는 퍼블릭 IPv4 주소가 있어서는 안 됩니다.”,“config_rule”: “ec2-instance-no-public-ip”}{“title”: “[EC2.13] 보안 그룹은.0.0/0 또는 ::/0에서 포트 22로의 수신을 허용해서는 안 됩니다.”,“config_rule”: “제한된 SSH”}{“title”: “[EC2.14] 보안 그룹은 0.0.0.0/0 또는 ::/0에서 포트 3389로의 수신을 허용해서는 안 됩니다.”,“config_rule”: “제한된 공통 포트”}{“title”: “[EC2.18] 보안 그룹은 인증된 포트에 대해 무제한들어오는 트래픽만 허용해야 합니다.”,“config_rule”: “vpc-sg-open-only-to-authorized-ports”}{“title”: “[EC2.23] Amazon EC2 Transit Gateway는VPC 연결 요청을 자동으로 수락하면 안 됩니다.”,“config_rule”: “ec2-transit-gateway-auto-vpc-attach-disabled”}{“title”: “[EC2.25] Amazon EC2 시작 템플릿은 공용 IP를네트워크 인터페이스에 할당해서는 안 됩니다.”,“config_rule”: “ec2-launch-template-public-ip-disabled”}{“title”: “[AutoScaling.3] Auto Scaling 그룹 시작 구성은 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 요구하도록 EC2 인스턴스를 구성해야 합니다.”,“config_rule”: “autoscaling-launchconfig-requires-imdsv2”}{“title”: “[AutoScaling.4] Auto Scaling 그룹 시작 구성에는 1보다 큰 메타데이터 응답 홉 제한이 있어서는 안 됩니다.”,“config_rule”: “autoscaling-launch-config-hop-limit”}{“title”: “[Autoscaling.5] Auto Scaling 그룹 시작 구성을 사용하여 시작된 Amazon EC2 인스턴스에는 퍼블릭 IP 주소가 없어야 합니다.”,“config_rule”: “autoscaling-launch-config-public-ip-disabled”}{“title”: “[SSM.2] Systems Manager가 관리하는 Amazon EC2 인스턴스는 패치 설치 후 패치 규정 준수 상태가 COMPLIANT여야 합니다.”,“config_rule”: “ec2-managedinstance-patch-compliance-status-check”}{“title”: “[EKS.1] EKS 클러스터 엔드포인트는 공개적으로 액세스할 수 없어야 합니다.”,“config_rule”: “eks-endpoint-no-public-access”}{“title”: “[EKS.2] EKS 클러스터는 지원되는 Kubernetes 버전에서 실행되어야 합니다.”,“config_rule”: “eks-클러스터-지원-버전”}{“title”: “[ElastiCache.1] ElastiCache Redis 클러스터에는 자동 백업이 활성화되어 있어야 합니다.”,“config_rule”: “elasticache-redis-cluster-automatic-backup-check”}{“title”: “[ElastiCache.2] Redis용 ElastiCache 캐시 클러스터에는 마이너 버전 자동 업그레이드가 활성화되어야 합니다.”,“config_rule”: “elasticache-auto-minor-version-upgrade-check”}{“title”: “[ElastiCache.7] ElastiCache 클러스터는 기본 서브넷 그룹을 사용하면 안 됩니다.”,“config_rule”: “elasticache-subnet-group-check”}{“title”: “[ElasticBeanstalk.2] Elastic Beanstalk 관리형 플랫폼 업데이트가 활성화되어야 합니다”,“config_rule”: “elastic-beanstalk-managed-updates-enabled”}{“title”: “[ElasticBeanstalk.3] Elastic Beanstalk는 로그를 CloudWatch로 스트리밍해야 합니다.”,“config_rule”: “elastic-beanstalk-logs-to-cloudwatch”}{“title”: “[EMR.1] Amazon EMR 클러스터 기본 노드에는 퍼블릭 IP 주소가 없어야 합니다.”,“config_rule”: “emr-master-no-public-ip”}{“title”: “[GuardDuty.1] GuardDuty를 활성화해야 합니다”,“config_rule”: “guardduty-enabled-centralized”}{“title”: “[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용해서는 안 됩니다.”,“config_rule”: “iam-policy-no-statements-with-admin-access”}{“title”: “[Opensearch.7] OpenSearch 도메인에는 세분화된 액세스 제어가 활성화되어야 합니다”,“config_rule”: “opensearch-액세스 제어 활성화”}{“title”: “[RDS.13] RDS 자동 마이너 버전 업그레이드가 활성화되어야 합니다”,“config_rule”: “rds-automatic-minor-version-upgrade-enabled”}{“title”: “[RDS.18] RDS 인스턴스는 VPC에 배포되어야 합니다”,“config_rule”: “rds-deployed-in-vpc”}{“title”: “[S3.6] 버킷 정책에서 다른 AWS 계정에 부여된 S3 권한은 제한되어야 합니다.”,“config_rule”: “s3-bucket-blacklisted-actions-금지”}{“title”: “[S3.8] S3 공개 액세스 차단 설정은 버킷 수준에서 활성화되어야 합니다”,“config_rule”: “s3-bucket-level-public-access-금지”}{“title”: “[SageMaker.1] Amazon SageMaker 노트북 인스턴스는 인터넷에 직접 액세스할 수 없어야 합니다.”,“config_rule”: “sagemaker-notebook-no-direct-internet-access”}{“title”: “[SageMaker.2] SageMaker 노트북 인스턴스는 사용자 지정 VPC에서 시작되어야 합니다.”,“config_rule”: “sagemaker-notebook-instance-inside-vpc”}{“title”: “[SageMaker.3] 사용자는 SageMaker 노트북 인스턴스에 대한 루트 액세스 권한을 가져서는 안 됩니다.”,“config_rule”: “sagemaker-notebook-instance-root-access-check”} ```` 📢 이 기사 공유하기 X에 공유 URL 복사
% 고양이 result_20240204153052.json|jq ‘.[] |select(.Severity == “높음”) |{제목: .”find_element.text” ,config_rule: .”AWS 구성 규칙”}’{“title”: “[계정.2] AWS 계정은 AWS Organizations 조직의 일부여야 합니다.”,“config_rule”: “계정 부분 조직”}{“title”: “[ACM.2] ACM에서 관리하는 RSA 인증서는 최소 2,048비트의 키 길이를 사용해야 합니다.”,“config_rule”: “acm-certificate-rsa-check”}{“title”: “[AppSync.5] AWS AppSync GraphQL API는 API 키로 인증되어서는 안 됩니다.”,“config_rule”: “appsync-authorization-check”}{“title”: “[CloudFront.1] CloudFront 배포판에는 기본 루트 객체가 구성되어 있어야 합니다.”,“config_rule”: “cloudfront-default-root-object-configured”}{“title”: “[CloudFront.12] CloudFront 배포판은 존재하지 않는 S3 오리진을 가리켜서는 안 됩니다.”,“config_rule”: “cloudfront-s3-origin-비존재-버킷”}{“title”: “[CloudTrail.1] CloudTrail은 읽기 및 쓰기 관리 이벤트를 포함하는 하나 이상의 다중 리전 추적으로 활성화되고 구성되어야 합니다.”,“config_rule”: “다중 지역-cloudtrail-활성화”}{“title”: “[CloudTrail.3] CloudTrail을 활성화해야 합니다”,“config_rule”: “cloudtrail 활성화”}{“title”: “[CloudWatch.15] CloudWatch 경보에는 지정된 작업이 구성되어 있어야 합니다.”,“config_rule”: “cloudwatch-alarm-action-check”}{“title”: “[CloudWatch.17] CloudWatch 경보 작업이 활성화되어야 합니다”,“config_rule”: “cloudwatch-alarm-action-enabled-check”}{“title”: “[CodeBuild.5] CodeBuild 프로젝트 환경에서는 권한 모드가 활성화되어서는 안 됩니다.”,“config_rule”: “codebuild-project-environment-privileged-check”}{“title”: “[ECR.1] ECR 개인 저장소에는 이미지 스캔이 구성되어 있어야 합니다.”,“config_rule”: “ecr-private-image-scanning-enabled”}{“title”: “[ECS.1] Amazon ECS 작업 정의에는 보안 네트워킹 모드와 사용자 정의가 있어야 합니다.”,“config_rule”: “ecs-task-definition-user-for-host-mode-check”}{“title”: “[ECS.2] ECS 서비스에는 공용 IP 주소가 자동으로 할당되어서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.3] ECS 작업 정의는 호스트의 프로세스 네임스페이스를 공유해서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.4] ECS 컨테이너는 비권한으로 실행되어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.5] ECS 컨테이너는 루트 파일 시스템에 대한 읽기 전용 액세스로 제한되어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.8] 비밀은 컨테이너 환경 변수로 전달되어서는 안 됩니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[ECS.9] ECS 작업 정의에는 로깅 구성이 있어야 합니다.”,“config_rule”: “찾을 수 없음”}{“title”: “[EC2.2] VPC 기본 보안 그룹은 인바운드 또는 아웃바운드 트래픽을 허용해서는 안 됩니다.”,“config_rule”: “vpc-default-security-group-closed”}{“title”: “[EC2.8] EC2 인스턴스는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용해야 합니다.”,“config_rule”: “ec2-imdsv2-check”}{“title”: “[EC2.9] Amazon EC2 인스턴스에는 퍼블릭 IPv4 주소가 있어서는 안 됩니다.”,“config_rule”: “ec2-instance-no-public-ip”}{“title”: “[EC2.13] 보안 그룹은.0.0/0 또는 ::/0에서 포트 22로의 수신을 허용해서는 안 됩니다.”,“config_rule”: “제한된 SSH”}{“title”: “[EC2.14] 보안 그룹은 0.0.0.0/0 또는 ::/0에서 포트 3389로의 수신을 허용해서는 안 됩니다.”,“config_rule”: “제한된 공통 포트”}{“title”: “[EC2.18] 보안 그룹은 인증된 포트에 대해 무제한들어오는 트래픽만 허용해야 합니다.”,“config_rule”: “vpc-sg-open-only-to-authorized-ports”}{“title”: “[EC2.23] Amazon EC2 Transit Gateway는VPC 연결 요청을 자동으로 수락하면 안 됩니다.”,“config_rule”: “ec2-transit-gateway-auto-vpc-attach-disabled”}{“title”: “[EC2.25] Amazon EC2 시작 템플릿은 공용 IP를네트워크 인터페이스에 할당해서는 안 됩니다.”,“config_rule”: “ec2-launch-template-public-ip-disabled”}{“title”: “[AutoScaling.3] Auto Scaling 그룹 시작 구성은 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 요구하도록 EC2 인스턴스를 구성해야 합니다.”,“config_rule”: “autoscaling-launchconfig-requires-imdsv2”}{“title”: “[AutoScaling.4] Auto Scaling 그룹 시작 구성에는 1보다 큰 메타데이터 응답 홉 제한이 있어서는 안 됩니다.”,“config_rule”: “autoscaling-launch-config-hop-limit”}{“title”: “[Autoscaling.5] Auto Scaling 그룹 시작 구성을 사용하여 시작된 Amazon EC2 인스턴스에는 퍼블릭 IP 주소가 없어야 합니다.”,“config_rule”: “autoscaling-launch-config-public-ip-disabled”}{“title”: “[SSM.2] Systems Manager가 관리하는 Amazon EC2 인스턴스는 패치 설치 후 패치 규정 준수 상태가 COMPLIANT여야 합니다.”,“config_rule”: “ec2-managedinstance-patch-compliance-status-check”}{“title”: “[EKS.1] EKS 클러스터 엔드포인트는 공개적으로 액세스할 수 없어야 합니다.”,“config_rule”: “eks-endpoint-no-public-access”}{“title”: “[EKS.2] EKS 클러스터는 지원되는 Kubernetes 버전에서 실행되어야 합니다.”,“config_rule”: “eks-클러스터-지원-버전”}{“title”: “[ElastiCache.1] ElastiCache Redis 클러스터에는 자동 백업이 활성화되어 있어야 합니다.”,“config_rule”: “elasticache-redis-cluster-automatic-backup-check”}{“title”: “[ElastiCache.2] Redis용 ElastiCache 캐시 클러스터에는 마이너 버전 자동 업그레이드가 활성화되어야 합니다.”,“config_rule”: “elasticache-auto-minor-version-upgrade-check”}{“title”: “[ElastiCache.7] ElastiCache 클러스터는 기본 서브넷 그룹을 사용하면 안 됩니다.”,“config_rule”: “elasticache-subnet-group-check”}{“title”: “[ElasticBeanstalk.2] Elastic Beanstalk 관리형 플랫폼 업데이트가 활성화되어야 합니다”,“config_rule”: “elastic-beanstalk-managed-updates-enabled”}{“title”: “[ElasticBeanstalk.3] Elastic Beanstalk는 로그를 CloudWatch로 스트리밍해야 합니다.”,“config_rule”: “elastic-beanstalk-logs-to-cloudwatch”}{“title”: “[EMR.1] Amazon EMR 클러스터 기본 노드에는 퍼블릭 IP 주소가 없어야 합니다.”,“config_rule”: “emr-master-no-public-ip”}{“title”: “[GuardDuty.1] GuardDuty를 활성화해야 합니다”,“config_rule”: “guardduty-enabled-centralized”}{“title”: “[IAM.1] IAM 정책은 전체 "*" 관리 권한을 허용해서는 안 됩니다.”,“config_rule”: “iam-policy-no-statements-with-admin-access”}{“title”: “[Opensearch.7] OpenSearch 도메인에는 세분화된 액세스 제어가 활성화되어야 합니다”,“config_rule”: “opensearch-액세스 제어 활성화”}{“title”: “[RDS.13] RDS 자동 마이너 버전 업그레이드가 활성화되어야 합니다”,“config_rule”: “rds-automatic-minor-version-upgrade-enabled”}{“title”: “[RDS.18] RDS 인스턴스는 VPC에 배포되어야 합니다”,“config_rule”: “rds-deployed-in-vpc”}{“title”: “[S3.6] 버킷 정책에서 다른 AWS 계정에 부여된 S3 권한은 제한되어야 합니다.”,“config_rule”: “s3-bucket-blacklisted-actions-금지”}{“title”: “[S3.8] S3 공개 액세스 차단 설정은 버킷 수준에서 활성화되어야 합니다”,“config_rule”: “s3-bucket-level-public-access-금지”}{“title”: “[SageMaker.1] Amazon SageMaker 노트북 인스턴스는 인터넷에 직접 액세스할 수 없어야 합니다.”,“config_rule”: “sagemaker-notebook-no-direct-internet-access”}{“title”: “[SageMaker.2] SageMaker 노트북 인스턴스는 사용자 지정 VPC에서 시작되어야 합니다.”,“config_rule”: “sagemaker-notebook-instance-inside-vpc”}{“title”: “[SageMaker.3] 사용자는 SageMaker 노트북 인스턴스에 대한 루트 액세스 권한을 가져서는 안 됩니다.”,“config_rule”: “sagemaker-notebook-instance-root-access-check”}
````