AWS - Config Enum
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
AWS Config는 리소스 변경 사항을 캡처하므로, Config에서 지원하는 리소스에 대한 모든 변경 사항을 기록할 수 있으며, 이는 변경된 내용과 함께 유용한 메타데이터를 기록하며, 모두 구성 항목(configuration item)으로 알려진 파일에 저장됩니다, CI. 이 서비스는 지역별입니다.
구성 항목 또는 CI는 AWS Config의 핵심 구성 요소입니다. 이는 구성 정보, 관계 정보 및 지원되는 리소스의 시점 스냅샷 뷰를 포함하는 JSON 파일로 구성됩니다. AWS Config가 리소스에 대해 기록할 수 있는 모든 정보는 CI 내에 캡처됩니다. 지원되는 리소스의 구성에 변경이 있을 때마다 CI가 생성됩니다. 영향을 받는 리소스의 세부 정보를 기록하는 것 외에도, AWS Config는 변경이 다른 리소스에 영향을 미치지 않았는지 확인하기 위해 직접 관련된 리소스에 대한 CI도 기록합니다.
메타데이터: 구성 항목 자체에 대한 세부 정보를 포함합니다. CI를 고유하게 식별하는 버전 ID와 구성 ID가 포함됩니다. 다른 정보로는 동일한 리소스에 대해 이미 기록된 다른 CI와 비교할 수 있는 MD5Hash가 포함될 수 있습니다.
속성: 실제 리소스에 대한 일반 속성 정보를 보유합니다. 이 섹션 내에는 고유한 리소스 ID와 리소스와 관련된 모든 키 값 태그가 포함됩니다. 리소스 유형도 나열됩니다. 예를 들어, 이것이 EC2 인스턴스에 대한 CI라면, 나열된 리소스 유형은 네트워크 인터페이스 또는 해당 EC2 인스턴스의 탄력적 IP 주소일 수 있습니다.
관계: 리소스가 가질 수 있는 연결된 관계에 대한 정보를 보유합니다. 이 섹션 내에서는 이 리소스가 다른 리소스와의 관계에 대한 명확한 설명을 보여줍니다. 예를 들어, CI가 EC2 인스턴스에 대한 것이라면, 관계 섹션은 EC2 인스턴스가 위치한 VPC와 서브넷에 대한 연결을 보여줄 수 있습니다.
현재 구성: AWS CLI로 수행된 describe 또는 list API 호출로 생성될 동일한 정보를 표시합니다. AWS Config는 동일한 API 호출을 사용하여 동일한 정보를 가져옵니다.
관련 이벤트: AWS CloudTrail과 관련이 있습니다. 이는 이 CI의 생성을 촉발한 변경과 관련된 AWS CloudTrail 이벤트 ID를 표시합니다. 리소스에 대한 변경이 있을 때마다 새로운 CI가 생성됩니다. 결과적으로 서로 다른 CloudTrail 이벤트 ID가 생성됩니다.
구성 이력: 구성 항목 덕분에 리소스의 구성 이력을 얻는 것이 가능합니다. 구성 이력은 6시간마다 제공되며 특정 리소스 유형에 대한 모든 CI를 포함합니다.
구성 스트림: 구성 항목은 데이터 분석을 가능하게 하기 위해 SNS 주제로 전송됩니다.
구성 스냅샷: 구성 항목은 지원되는 모든 리소스의 시점 스냅샷을 생성하는 데 사용됩니다.
S3는 구성 이력 파일과 데이터의 모든 구성 스냅샷을 단일 버킷에 저장하는 데 사용되며, 이는 구성 기록기 내에서 정의됩니다. 여러 AWS 계정이 있는 경우, 기본 계정의 동일한 S3 버킷에 구성 이력 파일을 집계할 수 있습니다. 그러나 이 서비스 원칙인 config.amazonaws.com과 기본 계정의 S3 버킷에 대한 쓰기 액세스를 부여해야 합니다.
보안 그룹 또는 버킷 액세스 제어 목록과 같은 변경을 수행할 때 —> AWS Config가 감지한 이벤트로 발사
모든 것을 S3 버킷에 저장
설정에 따라, 무언가가 변경되면 람다 함수를 트리거하거나 주기적으로 AWS Config 설정을 살펴보는 람다 함수를 예약할 수 있습니다.
람다가 Config에 피드백
규칙이 위반되면, Config가 SNS를 발사합니다.
Config 규칙은 리소스 전반에 걸쳐 특정 준수 검사 및 제어를 시행하는 데 도움을 주는 훌륭한 방법이며, 각 리소스 유형에 대한 이상적인 배포 사양을 채택할 수 있게 해줍니다. 각 규칙은 본질적으로 람다 함수로, 호출될 때 리소스를 평가하고 규칙에 대한 준수 결과를 결정하기 위해 간단한 논리를 수행합니다. 지원되는 리소스 중 하나에 변경이 있을 때마다, AWS Config는 설정된 모든 config 규칙에 대한 준수를 확인합니다. AWS는 사용 준비가 된 보안 범주에 속하는 여러 미리 정의된 규칙을 보유하고 있습니다. 예를 들어, Rds-storage-encrypted. 이는 RDS 데이터베이스 인스턴스에서 스토리지 암호화가 활성화되었는지 확인합니다. Encrypted-volumes. 이는 연결된 상태의 EBS 볼륨이 암호화되었는지 확인합니다.
AWS 관리 규칙: 많은 모범 사례를 포함하는 미리 정의된 규칙 세트로, 자신의 규칙을 설정하기 전에 이러한 규칙을 먼저 살펴보는 것이 좋습니다. 규칙이 이미 존재할 가능성이 있습니다.
사용자 정의 규칙: 특정 사용자 정의 구성을 확인하기 위해 자신의 규칙을 만들 수 있습니다.
지역당 50개의 config 규칙 한도가 있으며, 증가를 원할 경우 AWS에 연락해야 합니다. 비준수 결과는 삭제되지 않습니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)