AWS - Config Enum

Support HackTricks

AWS Config

AWS Config는 리소스 변경 사항을 캡처하여 Config에서 지원하는 리소스에 대한 모든 변경 사항을 기록할 수 있으며, 이는 변경된 내용과 기타 유용한 메타데이터를 기록하여 구성 항목(CI)이라는 파일 내에 보관합니다. 이 서비스는 지역별로 제공됩니다.

구성 항목 또는 CI는 AWS Config의 핵심 구성 요소입니다. 이는 구성 정보, 관계 정보 및 지원되는 리소스의 시점 스냅샷 보기로서의 기타 메타데이터를 포함하는 JSON 파일로 구성됩니다. AWS Config가 리소스에 대해 기록할 수 있는 모든 정보는 CI 내에 캡처됩니다. 지원되는 리소스의 구성에 어떤 방식으로든 변경이 있을 때마다 CI가 생성됩니다. 영향을 받은 리소스의 세부 정보를 기록하는 것 외에도, AWS Config는 변경 사항이 해당 리소스에도 영향을 미치지 않았는지 확인하기 위해 직접 관련된 리소스에 대한 CI도 기록합니다.

  • Metadata: 구성 항목 자체에 대한 세부 정보를 포함합니다. CI를 고유하게 식별하는 버전 ID와 구성 ID가 포함됩니다. 다른 정보로는 동일한 리소스에 대해 이미 기록된 다른 CI와 비교할 수 있는 MD5Hash가 포함될 수 있습니다.

  • Attributes: 실제 리소스에 대한 공통 속성 정보를 포함합니다. 이 섹션에는 고유한 리소스 ID와 리소스에 연결된 키 값 태그가 포함됩니다. 리소스 유형도 나열됩니다. 예를 들어, EC2 인스턴스에 대한 CI인 경우, 나열된 리소스 유형은 네트워크 인터페이스 또는 해당 EC2 인스턴스의 탄력적 IP 주소일 수 있습니다.

  • Relationships: 리소스가 가질 수 있는 연결 관계에 대한 정보를 포함합니다. 이 섹션에는 해당 리소스가 다른 리소스와의 관계에 대한 명확한 설명이 표시됩니다. 예를 들어, CI가 EC2 인스턴스에 대한 것이라면, 관계 섹션에는 해당 EC2 인스턴스가 속한 VPC와 서브넷에 대한 연결이 표시될 수 있습니다.

  • Current configuration: AWS CLI에서 수행한 설명 또는 목록 API 호출로 생성된 것과 동일한 정보를 표시합니다. AWS Config는 동일한 정보를 얻기 위해 동일한 API 호출을 사용합니다.

  • Related events: AWS CloudTrail과 관련이 있습니다. 이는 이 CI의 생성을 트리거한 변경 사항과 관련된 AWS CloudTrail 이벤트 ID를 표시합니다. 리소스에 대한 모든 변경 사항에 대해 새로운 CI가 생성됩니다. 결과적으로, 다른 CloudTrail 이벤트 ID가 생성됩니다.

Configuration History: 구성 항목 덕분에 리소스의 구성 이력을 얻을 수 있습니다. 구성 이력은 6시간마다 전달되며 특정 리소스 유형에 대한 모든 CI를 포함합니다.

Configuration Streams: 구성 항목은 데이터를 분석할 수 있도록 SNS 주제로 전송됩니다.

Configuration Snapshots: 구성 항목은 지원되는 모든 리소스의 시점 스냅샷을 생성하는 데 사용됩니다.

S3는 구성 이력 파일과 데이터의 구성 스냅샷을 단일 버킷 내에 저장하는 데 사용됩니다. 구성 레코더 내에서 정의됩니다. 여러 AWS 계정이 있는 경우, 기본 계정의 동일한 S3 버킷에 구성 이력 파일을 집계하고자 할 수 있습니다. 그러나 이 서비스 원칙인 config.amazonaws.com과 기본 계정의 S3 버킷에 쓰기 권한이 있는 보조 계정에 쓰기 권한을 부여해야 합니다.

Functioning

  • 예를 들어 보안 그룹 또는 버킷 액세스 제어 목록에 변경 사항을 만들 때 —> AWS Config에서 이벤트로 감지

  • 모든 것을 S3 버킷에 저장

  • 설정에 따라, 변경 사항이 발생하면 람다 함수를 트리거하거나 주기적으로 AWS Config 설정을 검토하도록 람다 함수를 예약할 수 있습니다.

  • 람다는 Config에 피드백을 제공합니다.

  • 규칙이 위반되면 Config는 SNS를 실행합니다.

Config Rules

Config 규칙은 리소스 전반에 걸쳐 특정 준수 검사 및 제어를 시행하는 데 도움이 되며, 각 리소스 유형에 대한 이상적인 배포 사양을 채택할 수 있도록 합니다. 각 규칙은 호출 시 리소스를 평가하고 규칙과의 준수 결과를 결정하기 위해 간단한 논리를 수행하는 람다 함수입니다. 지원되는 리소스 중 하나에 변경 사항이 있을 때마다, AWS Config는 설정된 모든 config 규칙에 대한 준수 여부를 확인합니다. AWS는 사용 가능한 사전 정의된 규칙을 다수 보유하고 있으며, 이는 보안 범주에 속합니다. 예를 들어, Rds-storage-encrypted는 RDS 데이터베이스 인스턴스에 저장소 암호화가 활성화되어 있는지 확인합니다. Encrypted-volumes는 연결된 상태의 EBS 볼륨이 암호화되어 있는지 확인합니다.

  • AWS Managed rules: 많은 모범 사례를 다루는 사전 정의된 규칙 세트로, 자체 규칙을 설정하기 전에 이러한 규칙을 먼저 살펴보는 것이 좋습니다. 이미 규칙이 존재할 가능성이 있습니다.

  • Custom rules: 특정 사용자 정의 구성을 확인하기 위해 자체 규칙을 만들 수 있습니다.

50개의 config 규칙 제한이 있으며, 이를 초과하면 AWS에 증가를 요청해야 합니다. 비준수 결과는 삭제되지 않습니다.

Support HackTricks

Last updated