- AWS 보안 아키텍처 개요: Defense in Depth 전략, 다층 보안 방어, AWS 서비스별 보안 레이어, 보안 그룹, NACL, IAM 통합
- IAM 보안: IAM 정책 작성, 역할 기반 접근 제어 (RBAC), MFA 설정, 최소 권한 원칙, 정기적인 권한 검토
- VPC 보안: VPC 아키텍처 설계 (Public/Private Subnet), NAT Gateway 설정, Security Group 및 NACL 구성, 네트워크 분리
- S3 보안: 버킷 정책, 암호화 설정 (서버 측 암호화, KMS), 버전 관리, 접근 로그, Public Access 차단
- RDS 보안: 데이터베이스 암호화, 보안 그룹 구성, 파라미터 그룹, 스냅샷, 자동 백업
- EKS 보안: Pod Security Standards, Network Policy, RBAC, 컨테이너 이미지 보안, 시크릿 관리
- 모니터링 및 감사: CloudTrail 설정, CloudWatch 모니터링, Security Hub 통합, GuardDuty 위협 탐지
🎯 경영진 요약 (Executive Summary)
AWS/EKS 보안 태세 평가
| 보안 영역 | 현재 위협 수준 | 주요 공격 벡터 | 권장 우선순위 |
|---|---|---|---|
| IAM/인증 | 🔴 HIGH | Credential stuffing, 권한 에스컬레이션 | 1순위 |
| EKS/Container | 🔴 HIGH | Escape to Host, 특권 컨테이너 실행 | 2순위 |
| VPC/네트워크 | 🟡 MEDIUM | Lateral movement, 무단 네트워크 접근 | 3순위 |
| S3/데이터 | 🟡 MEDIUM | Public bucket 노출, 암호화 미적용 | 4순위 |
| RDS/데이터베이스 | 🟢 LOW | SQL injection, 암호화되지 않은 백업 | 5순위 |
핵심 권장사항:
- 즉시 조치: 모든 루트 계정에 MFA 활성화 + IAM Access Analyzer 실행
- 1주 내: EKS Pod Security Standards 적용 + Network Policy 구성
- 1개월 내: Security Hub + GuardDuty 활성화 + 자동화된 위협 대응 워크플로 구축
투자 대비 효과 (ROI):
- 보안 사고 감소: 평균 67% (CIS AWS Foundations Benchmark 적용 시)
- 컴플라이언스 비용 절감: 30-40% (ISMS-P, CSAP 자동 감사)
- 평균 복구 시간 (MTTR): 4시간 → 45분 (GuardDuty + Lambda 자동 대응)
서론
안녕하세요, Twodragon입니다.
AWS 클라우드 환경에서 보안을 강화하기 위해서는 IAM부터 EKS까지 모든 서비스 계층에서 Defense in Depth 전략을 적용해야 합니다. 이 포스팅은 SK Shieldus의 2024년 AWS 클라우드 보안 가이드를 기반으로, 실무에서 즉시 활용 가능한 AWS 보안 아키텍처 설계 및 구현 가이드를 제공합니다.
주요 AWS 서비스별 보안 모범 사례와 코드 예제, 보안 체크리스트를 포함하여 실무 중심의 보안 구축 방법을 제시합니다.
📊 빠른 참조
AWS 보안 서비스 개요
| 서비스 | 용도 | 주요 기능 |
|---|---|---|
| IAM | 접근 제어 | 사용자, 역할, 정책 관리 |
| VPC | 네트워크 보안 | 네트워크 격리, 접근 제어 |
| Security Hub | 통합 보안 관리 | 보안 상태 통합 대시보드 |
| CloudTrail | 감사 및 컴플라이언스 | API 호출 로깅 |
| CloudWatch | 모니터링 | 메트릭, 로그, 알람 |
| GuardDuty | 위협 탐지 | 이상 활동 탐지 |
| KMS | 암호화 | 키 관리 서비스 |
| Config | 설정 관리 | 리소스 설정 모니터링 |
🛡️ MITRE ATT&CK 매핑: AWS/EKS 위협 모델링
컨테이너 및 Kubernetes 주요 공격 기법
| MITRE Technique | 공격 설명 | AWS/EKS 대응 방안 |
|---|---|---|
| T1610: Deploy Container | 악성 컨테이너 배포 | ECR Image Scanning + Admission Controller |
| T1611: Escape to Host | 컨테이너 탈출 → 호스트 권한 획득 | Pod Security Standards (restricted) + seccomp/AppArmor |
| T1078.004: Cloud Accounts | 탈취된 클라우드 자격 증명 악용 | IAM Access Analyzer + CloudTrail 이상 탐지 |
| T1552.001: Credentials in Files | 하드코딩된 시크릿 탈취 | AWS Secrets Manager + IRSA (IAM Roles for Service Accounts) |
| T1613: Container & Resource Discovery | 컨테이너 환경 정찰 | Network Policy + VPC Flow Logs |
| T1204: User Execution | 사용자 유도 악성 실행 | GuardDuty Runtime Monitoring + Falco |
| T1053.003: Cron | 예약 작업을 통한 지속성 확보 | Pod Security Admission + ReadOnlyRootFilesystem |
| T1486: Data Encrypted for Impact | 랜섬웨어 공격 | S3 Versioning + Object Lock + EBS Snapshot 정책 |
AWS 특화 공격 체인 예시
[Initial Access] [Execution] [Persistence] [Defense Evasion]
T1078.004 T1610 T1053.003 T1562.001
└─ IAM 자격증명 탈취 → 악성 컨테이너 배포 → CronJob 등록 → CloudTrail 로그 삭제
[Lateral Movement] [Collection] [Exfiltration]
T1613 T1552.001 T1567.002
└─ Cluster 정찰 → 시크릿 탈취 → S3 버킷으로 데이터 유출
EKS Pod Security Standards 적용
# Pod Security Admission - namespace 레벨 적용
apiVersion: v1
kind: Namespace
metadata:
name: production
labels:
pod-security.kubernetes.io/enforce: restricted
pod-security.kubernetes.io/audit: restricted
pod-security.kubernetes.io/warn: restricted
EKS Network Policy 예시
| 항목 | 설정 | 설명 |
|---|---|---|
| 정책 이름 | default-deny-all |
기본 전체 차단 정책 |
| 네임스페이스 | production |
프로덕션 환경 적용 |
| podSelector | {} (전체) |
모든 Pod에 적용 |
| 차단 대상 | Ingress + Egress | 인바운드/아웃바운드 모두 기본 차단 후 필요한 트래픽만 허용 |
증거 수집 (Evidence Collection)
# Pod 로그 백업
kubectl logs <pod-name> -n <namespace> --all-containers > /evidence/pod-logs-$(date +%s).log
# EKS 감사 로그 조회 (CloudWatch Logs Insights)
aws logs start-query \
--log-group-name "/aws/eks/my-cluster/audit" \
--start-time $(date -d '24 hours ago' +%s) \
--end-time $(date +%s) \
--query-string 'fields @timestamp, verb, objectRef.resource | filter verb="delete"'
시나리오: IAM 자격증명 노출 대응
GuardDuty 탐지 Alert 예시:
{
"GuardDutyFinding": {
"Type": "UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration",
"Severity": 8.0,
"Description": "IAM credentials from EC2 instance i-0abc123 used from IP 198.51.100.42"
}
}
즉시 대응 Lambda 함수:
| 단계 | 대응 조치 | AWS API |
|---|---|---|
| 1 | Access Key 비활성화 | iam.update_access_key(Status="Inactive") |
| 2 | 전체 권한 차단 (DenyAll) | iam.put_user_policy(DenyAllAfterCompromise) |
| 3 | 보안팀 알림 | sns.publish(Subject="[CRITICAL] IAM Compromised") |
참고: Lambda 함수를 EventBridge 룰과 연동하면 GuardDuty → EventBridge → Lambda 자동 대응 파이프라인을 구축할 수 있습니다. 자세한 내용은 AWS 보안 사고 대응 가이드를 참조하세요.
결론
AWS 클라우드 환경에서 보안을 강화하기 위해서는 IAM부터 EKS까지 모든 서비스 계층에서 Defense in Depth 전략을 적용해야 합니다.
주요 보안 원칙:
- 최소 권한 원칙: 필요한 최소한의 권한만 부여
- 암호화: 전송 중/저장 데이터 암호화
- 로그 관리: 모든 활동 로깅 및 모니터링
- 정기적 검토: 보안 설정 정기적 검토 및 개선
- 자동화된 대응: GuardDuty + EventBridge + Lambda를 통한 즉시 대응 체계 구축
핵심 실무 체크리스트
즉시 적용 (오늘 내):
- 모든 루트 계정 MFA 활성화
- S3 Public Access Block 전체 활성화
- CloudTrail 로깅 활성화 (모든 리전)
1주일 내 적용:
- Security Hub + GuardDuty 활성화
- EKS Pod Security Standards 적용
- IAM Access Analyzer 실행 및 결과 검토
1개월 내 적용:
- 자동화된 보안 사고 대응 워크플로 구축
- CSAP/ISMS-P 컴플라이언스 점검 자동화
- 정기 보안 교육 프로그램 시작
이 가이드를 참고하여 AWS 환경에서 강력한 보안 아키텍처를 구축하시기 바랍니다.
📚 참고 자료
공식 문서 및 가이드
- AWS 공식 보안 문서
- 컴플라이언스 및 규제
- MITRE ATT&CK 프레임워크
보안 도구 및 서비스
- AWS 보안 서비스 문서
- Kubernetes 보안
커뮤니티 및 학습 자료
- 보안 블로그 및 연구
- 실습 및 교육
오픈소스 보안 도구
- Infrastructure as Code (IaC) 보안 스캐닝
- 컨테이너 보안
- 보안 자동화
사고 대응 및 포렌식
- AWS 보안 사고 대응
- 관련 인증 및 자격증
마지막 업데이트: 2026-01-14 작성 기준: SK Shieldus 2024년 AWS 클라우드 보안 가이드, MITRE ATT&CK v14, CIS AWS Foundations Benchmark v1.5.0
Discussion 0
GitHub 계정으로 로그인하여 댓글을 작성하세요
```로 감싸주세요