반응형
0. 들어가며
해당 글은 본인이 노션으로 작성해 공유한 AWS 보안 점검 및 설정 가이드의 내용을 티스토리에 옮긴 것입니다.
1. 관련 법령
2. 개요
- S3 버킷에 저장되는 오브젝트의 가용성과 무결성을 보장하기 위해 버전 관리 및 암호화 설정 적용 필요
- [참고] 해당 설정을 적용하지 않아 사고가 발생한 사례
3. 취약점 판단 기준
- S3 버킷에 버전 관리 및 암호화 설정이 적용되지 않은 경우 취약
- S3 버킷에 버전 관리 및 암호화 설정이 적용되어 있는 경우 취약하지 않음
4. 취약점 확인 방법 - (1) 관리 콘솔에서 확인
- 관리 콘솔에서 [S3] 검색 → 확인하고자 하는 버킷 클릭 → [속성] 탭의 [버킷 버전 관리], [기본 암호화] 설정 여부 확인
4. 취약점 확인 방법 - (2) AWS CLI에서 확인
- S3 권한을 보유한 계정의 Access key를 활용해 AWS CLI에서 Command(1) 실행
aws s3 ls
aws s3api get-bucket-versioning --bucket <bucket name>
aws s3api get-bucket-encryption --bucket <bucket name>
- 버킷 버저닝 설정 여부 확인
- 버킷 암호화 설정 여부 확인
5. 취약점 조치 방법 - (1) 이미 생성된 버킷의 설정 변경
- [버킷 버전 관리] 메뉴의 [편집] 클릭
- [활성화] 체크 → [변경 사항 저장] 클릭
- [버킷 버전 관리] 메뉴의 [편집] 클릭
- [활성화] 체크 → [변경 사항 저장] 클릭
5. 취약점 조치 방법 - (2) 버킷 생성 시 설정 적용
- 버킷 생성 시 [버킷 버전 관리], [기본 암호화] 활성화 체크
5. 취약점 조치 방법 - (3) AWS CLI에서 조치
- AWS CLI에서 Command(2) 실행
# 암호화 적용
# SSE-KMS 적용 시
aws s3api put-bucket-encryption --bucket <bucket name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
# SSE-S3 적용 시
aws s3api put-bucket-encryption --bucket <bucket name> --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "aws:kms","KMSMasterKeyID": "aws/s3"}}]}'
# 버저닝 적용
aws s3api put-bucket-versioning --bucket <bucket name> --versioning-configuration Status=Enabled
6. 참고
반응형
'AWS' 카테고리의 다른 글
AWS 버킷 퍼블릭 액세스 차단 여부 확인 (0) | 2023.03.15 |
---|---|
AWS CloudFront OAI 설정 (0) | 2023.03.15 |
AWS 인스턴스 시간 값 대한민국 표준 시간대 설정 (0) | 2023.03.15 |
AWS 인스턴스 디폴트 계정 삭제 (0) | 2023.03.15 |
AWS 인스턴스 root 계정 패스워드 설정 (0) | 2023.03.15 |