[4주차] AWS 환경에서 보안 이해와 자동화 구성
by 개발하는지호Object. AWS 환경에서 보안 이해와 자동화 구성
Key Result : AWS 클라우드 보안 가이드 확인하여 대응방안 정리 및 해당 가이드 대로 실습 진행
실습 목표 : IAM 사용자 및 역할 정책을 변경 했을 때, 관리자가 메일을 받을 수 있도록 자동화 구성 및 보안 가이드 충족 확인
[아키텍쳐 구성도]
- 기본 아키텍쳐 구성
- VPC 10.0.0.0/16 생성
- 서브넷 10.0.0.0/24 생성
- 외부 통신을 위한 인터넷 게이트웨이 생성 및 라우팅 테이블에 인터넷 게이트웨이 추가
- EC2 생성
- S3 생성 및 권한 설정
- VPC 엔드포인트 생성하여 S3 통신
- SSM(Session Manager)로 EC2 접근 구현
- IAM User(사용자) 생성
- 최소한의 권한을 부여하기 위해 root 계정이 아닌, IAM User 를 생성
- IAM User(사용자) SSM 접근을 위한 정책권한 설정 (SSM : AmazonSSMFullAccess)
- EC2 SSM 연결을 위한 역할 및 S3 접근을 위한 역할 생성 (S3 : AmazonS3FullAccess, SSM : AmazonSSMManagerInstanceCore)
- IAM User (사용자) Access Key 생성
- AWS CLI 설치 및 설정
- Session Manager Plugin 설치 (CLI로 EC2 SSM 접근 하기 위함)
ssm plugin, brew로 설치
- AWS CLI로 SSM 접근이 되는 지 확인
접근 확인
- 접근 성공 확인 후, EC2 외부 통신 및 S3 접근 확인
- 로깅 자동화 구축(IAM 변경 사항 이메일로 전달)
- CloudTrail 로그 저장용 S3 생성
- CloudTrail 활성화 및 실시간 로깅 확인
- CloudTrail 다중 리전 추적 활성화
- IAM 변환은 미국 동부 리전에서만 확인이 되기에 서울 리전 외에도 추적해야함
- SNS 주제(Topic) 생성
- 프로토콜 이메일로 설정 후, 전달 할 이메일 주소 지정
- 해당 이메일 메일에서 SNS 승인
- 미국 동부(버지니아 북부) 리전에 EventBridge 생성
- IAM 변경사항 추적은 미국 동부(버지니아 북부)에서만 확인이 되므로 탐지하려면 해당 리전에 생성해야한다.
- IAM 변경사항 추적은 미국 동부(버지니아 북부)에서만 확인이 되므로 탐지하려면 해당 리전에 생성해야한다.
- EventBridge 패턴 생성
이벤트 패턴 코드
- EventBridge 대상 (Target)을 위에서 생성한 SNS로 지정
- IAM 정책 추가 및 삭제 해서 메일이 정상적으로 오는지 확인
IAM 정책 변경시 발생한 SNS 메일
- 메일이 정성적으로 확인이 되므로 구축완료
[보안 가이드 준수 목록]
1. 계정관리
- 1.1 사용자 계정 관리
- 진단 기준 : 관리자 권한을 보유한 다수 계정이 존재하지 않고 불필요한 계정이 존재하지 않아야 한다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/700
클라우드 보안 가이드 - 계정 관리 [1-1] -
1.1 사용자 계정 관리분류 : 계정 관리중요도 : 상항목명 : 사용자 계정 관리 항목 설명 :모든 AWS 리소스는 AWS 계정의 소유이고, 리소스 생성 또는 액세스 권한은 권한 정책에 따라 결정됩니다. 계
jiholine10.tistory.com
- 1.2 IAM 사용자 계정 단일화 관리
- 진단 기준 : IAM 사용자 계정 1인 1계정으로 사용해야 한다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/709
클라우드 보안 가이드 - 계정 관리 [1-2] -
1.2 IAM 사용자 계정 단일화 관리분류 : 계정 관리중요도 : 상항목명 : IAM 사용자 계정 단일화 관리 항목 설명 : 모든 AWS 리소스는 AWS 계정의 소유이고, 리소스 생성 또는 액세스 권한은 권한 정책에
jiholine10.tistory.com
- 1.5 Key Pair 접근 관리
- 진단 기준 : Key Pair(PEM)를 통해 EC2 인스턴스에 접근해야 한다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/710
클라우드 보안 가이드 - 계정 관리 [1-5] -
1.5 Key Pair 접근 관리 분류 : 계정 관리중요도 : 상항목명 : Key Pair 접근 관리 항목 설명 : EC2는 키(Key)를 이용한 암호화 기법을 제공한다. 해당 기법은 퍼블릭/프라이빗 키를 통해 각각 데이터의 암
jiholine10.tistory.com
- 1.6 Key Pair 보관 관리
- 진단 기준 : Key Pair(PEM) File의 보관 위치가 쉽게 유추할 수 없는 공간에 보관되어 있어야 한다.
- 진단 결과 : 취약
- 대응 방안 : Session Manager 방식을 채택하여 키 이용을 통한 취약점으로 부터 벗어날 수 있다.
- 실습 내용 : https://jiholine10.tistory.com/711
클라우드 보안 가이드 - 계정 관리 [1-6] -
1.6 Key Pair 보관 관리 분류 : 계정 관리중요도 : 상항목명 : Key Pair 보관 관리 항목 설명 : EC2는 키(Key)를 이용한 암호화 기법을 제공한다. 해당 기법은 퍼블릭/프라이빗 키를 통해 각각 데이터의 암
jiholine10.tistory.com
- 1.8 Admin Console Access Key 활성화 및 사용주기 관리
- 진단 기준 : AWS Admin Console 계정에 Access Key가 존재하지 않고 IAM 사용자 계정에 대한 Access Key 사용, 사용 주기가 60일 이내일 경우
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/712
클라우드 보안 가이드 - 계정 관리 [1-8] -
1.8 Admin Console 계정 Access Key 활성화 및 사용주기 관리분류 : 계정 관리중요도 : 상항목명 : Admin Console 계정 Access Key 활성화 및 사용주기 관리 항목 설명 : Access Key는 AWS의 CLI 도구나 API를 사용할 때
jiholine10.tistory.com
2. 권한 관리
- 2.1 인스턴스 서비스 정책 관리
- 진단 기준 : 인스턴스 서비스 IAM 사용 권한이 각각 서비스 역할에 맞게 설정되어 있다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/701
클라우드 보안 가이드 - 권한 관리 [2-1] -
2.1 인스턴스 서비스 정책 관리분류 : 권한 관리중요도 : 상항목명 : 인스턴스 서비스 정책 관리 항목 설명 : AWS 인스턴스 서비스(EC2, RDS, S3 등)의 리소스 생성 또는 액세스 권한은 권한 정책에 따
jiholine10.tistory.com
- 2.2 네트워크 서비스 정책 관리
- 진단 기준 : 네트워크 서비스 IAM 사용 권한이 각각 서비스 역할에 맞게 설정되어 있다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/702
클라우드 보안 가이드 - 권한 관리 [2-2] -
2.2 네트워크 서비스 정책 관리분류 : 권한 관리중요도 : 상항목명 : 네트워크 서비스 정책 관리 AWS 네트워크 서비스(VPC, Route 53, Direct Connect 등)의 리소스 생성 또는 액세스 권한은 권한 정책에 따
jiholine10.tistory.com
- 2.3 기타 서비스 정책 관리
- 진단 기준 : 기타 서비스 IAM 사용 권한이 각각 서비스 역할에 맞게 설정되어 있다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/703
클라우드 보안 가이드 - 권한 관리 [2-3] -
2.3 기타 서비스 정책 관리분류 : 권한 관리중요도 : 상항목명 : 기타 서비스 정책 관리 AWS 기타 서비스(CloudWatch, CloudTrail, KMS 등)의 리소스 생성 또는 액세스 권한은 권한 정책에 따라 결정된다. 계
jiholine10.tistory.com
3. 가상 리소스 관리
- 3.1 보안 그룹 인/아웃바운드 ANY 설정 관리
- 진단 기준 : 보안 그룹 내 인/아웃바운드의 포트가 ANY로 허용되어 있지 않아야 한다.
- 진단 결과 : 취약
- 대응 방안 : 특정 범위의 포트로 제한하는 것이 보안 취약점에 있어 안전하다.
- 실습 내용 : https://jiholine10.tistory.com/704
클라우드 보안 가이드 - 가상 리소스 관리 [3-1] -
3.1 보안 그룹 인/아웃바운드 ANY 설정 관리분류 : 가상 리소스 관리중요도 : 상항목명 : 보안 그룹 인/아웃바운드 ANY 설정 관리 항목 설명 : VPC에서의 보안 그룹은 EC2 인스턴스에 대한 인/아웃바운
jiholine10.tistory.com
- 3.2 보안 그룹 인/아웃바운드 불필요 정책 관리
- 진단 기준 : 보안 그룹 인/아웃바운드 규칙 내 불필요한 정책(Source, Destination)이 존재하지 않아야 한다.
- 진단 결과 : 취약
- 대응 방안 : 특정 범위의 IP로 제한하는 것이 보안 취약점에 있어 안전하다.
- 실습 내용 : https://jiholine10.tistory.com/705
클라우드 보안 가이드 - 가상 리소스 관리 [3-2] -
3.2 보안 그룹 인/아웃바운드 불필요 정책 관리분류 : 가상 리소스 관리중요도 : 상항목명 : 보안 그룹 인/아웃바운드 불필요 정책 관리 항목 설명 : VPC에서의 보안 그룹은 EC2 인스턴스에 대한 인/
jiholine10.tistory.com
4. 운영 관리
- 4.1 EBS 및 볼륨 암호화 설정
- 진단 기준 : EBS 및 볼륨 리소스에 암호화가 활성화되어 있다.
- 진단 결과 : 취약
- 대응 방안 : 직접 기존 볼륨의 암호화 설정만 켜는 것은 불가능하다. 따라서 아래 순서로 암호화된 볼륨으로 전환할 수 있다.
- 스냅샷 생성
- 암호화 되지 않은 원본 볼륨에서 스냅샷을 만든다.
- 스냅샷 복사 시 암호화 설정
- AWS 콘솔 또는 CLI로 해당 스냅샷을 복사하면서 encrypted 플래그를 켠다.
- 암호화된 볼륨 생성 및 교체
- 복사된(암호화된) 스냅샷으로부터 새 EBS 볼륨을 생성한 뒤, 인스턴스에 연결되어 있던 기존 볼륨을 분리하고 새 볼륨을 연결한다.
- 루트 볼륨인 경우 인스턴스를 중지한 뒤 작업해야 한다.
- 복사된(암호화된) 스냅샷으로부터 새 EBS 볼륨을 생성한 뒤, 인스턴스에 연결되어 있던 기존 볼륨을 분리하고 새 볼륨을 연결한다.
- (선택) AMI 생성 후 재배포
- 간편하게, 암호화되지 않은 인스턴스에서 AMI(이미지)를 생성 -> 복사 시 암호화 -> 해당 AMI로 새 인스턴스를 띄우는 방법도 있다.
- 스냅샷 생성
- 4.3 S3 암호화 설정
- 진단 기준 : Amazon S3 키 (SSE-S3)로 서버 측 암호화 사용 또는 SSE-KMS로 서버 측 암호화가 설정되어 있다.
- 진단 결과 : 양호
- 실습 내용 : https://jiholine10.tistory.com/708
클라우드 보안 가이드 - 운영 관리 [4-3] -
4.3 S3 암호화 설정분류 : 운영 관리중요도 : 중항목명 : S3 암호화 설정 항목 설명 : 버킷 기본 암호화 설정은 S3 버킷에 저장되는 모든 객체를 암호화 되도록 하는 설정이며 Amazon S3 관리형 키 (SSE-S3
jiholine10.tistory.com
참고자료:
1. SK쉴더스 클라우드 시큐리티 보안 가이드.pdf
2. AWS 공식 문서
'클라우드 시큐리티 > 클라우드 시큐리티 실습' 카테고리의 다른 글
[5주차] Terraform을 활용하여 자산식별 및 ISMS 대응에 따른 자동화 구축 -작성중- (0) | 2025.05.17 |
---|---|
[3주차] 전체적인 AWS 아키텍쳐를 파악하고 기능 및 보안 이해 (1) | 2025.05.12 |
블로그의 정보
DevSecOps
개발하는지호