1️. 왜 암호화가 필요한가 – In-Flight Encryption
Encryption in Flight (TLS / SSL)
- 전송 중 데이터 암호화
- MITM(Man-in-the-Middle) 공격 방지
- HTTPS = TLS 인증서 기반 암호화
Client
└─HTTPS (TLS Encryption)
└─Server
- 사용자명 / 비밀번호가 평문으로 노출되지 않음
2️. 서버 측 암호화 – Encryption at Rest
Server-Side Encryption
- 서버가 데이터를 받은 뒤 암호화
- 저장 시 암호화된 상태
- 전송 시 복호화
Client
└─ HTTPS
└─ AWS Service (ex: S3)
├─ Data Key
├─ Encrypt
└─EncryptedObject
- 암호화 키 관리가 핵심
- AWS 서비스는 보통 KMS 사용
3️. 클라이언트 측 암호화
Client-Side Encryption
- 클라이언트가 직접 암호화
- 서버는 절대 복호화 불가
- 수신 클라이언트만 복호화 가능
Client
├─ Encrypt (Data Key)
└─EncryptedObject
└─Storage (S3 / FTP / etc)
- Envelope Encryption 사용 가능
4️. AWS KMS
AWS Key Management Service
핵심 특징
- AWS 암호화의 중심 서비스
- IAM 기반 권한 제어
- CloudTrail로 키 사용 감사 가능
- EBS, S3, RDS, SSM 등과 통합
- SDK / CLI / API 호출 지원
❗ 절대 비밀 값을 코드에 평문으로 저장하지 말 것
5️. KMS Key 유형
Symmetric Key (AES-256)
- Encrypt / Decrypt 동일 키
- 대부분 AWS 서비스에서 사용
- 키 자체는 절대 노출되지 않음
Asymmetric Key (RSA / ECC)
- Public Key (Encrypt)
- Private Key (Decrypt, Sign)
- Public Key 다운로드 가능
- AWS 외부 암호화 시 사용
6️. KMS Key 관리 방식
키 종류 & 비용
- AWS Owned Keys: 무료 (SSE-S3, SSE-DDB 등)
- AWS Managed Keys: 무료 (
aws/rds,aws/ebs) - Customer Managed Keys: $1 / 월
- Imported Keys: $1 / 월
- API 호출: $0.03 / 10,000회
Key Rotation
- AWS Managed: 자동 1년
- Customer Managed: 자동/수동
- Imported: 수동만 가능
7️. 리전 간 스냅샷 복사 + KMS
RegionA
└─ Snapshot (KMS KeyA)
└─ ReEncrypt
└─ Snapshot (KMS KeyB)
└─ RegionB
- 리전 이동 시 재암호화 필수
8️. KMS Key Policy
특징
- S3 Bucket Policy와 유사
- 없으면 접근 불가
- Root 계정은 기본 전체 권한
Custom Key Policy
- 사용자 / Role 지정
- 관리자 / 사용자 분리
- Cross-Account 암호화 필수
9️. 계정 간 Snapshot 공유 (Encrypted)
전체 흐름
- CMK로 Snapshot 생성
- KMS Key Policy에 대상 계정 허용
- Snapshot 공유
- 대상 계정에서 자기 CMK로 재암호화
- Volume 생성
10. KMS Multi-Region Keys (MRK)
개념
- 동일 Key ID / Key Material
- 여러 리전에 복제
- 리전 간 Encrypt / Decrypt 가능
- 글로벌 ❌ (Primary + Replica 구조)
사용 사례
- Global DynamoDB
- Global Aurora
- 글로벌 Client-Side Encryption
1️1. DynamoDB Global Tables + MRK
Region A
└─ EncryptAttribute (Primary MRK)
└─ DDBGlobalTableReplication
└─ Region B
└─ Decrypt (Replica MRK)
- 민감 필드(SSN 등)만 클라이언트 측 암호화
- API Key 없으면 복호화 불가
1️2. Aurora Global DB + MRK
- Encryption SDK 사용
- DB 관리자도 특정 컬럼 복호화 ❌
- 글로벌 복제 + 저지연 복호화
1️3. S3 Replication & 암호화 주의사항
- SSE-S3: 자동 복제
- SSE-C: 복제 가능
- SSE-KMS
- 옵션 활성화 필요
- 대상 버킷 KMS Key 지정
- Source / Target KMS 권한 필요
- 대량 복제 시 KMS Throttling 발생 가능
1️4. AMI 공유 (KMS 암호화)
절차
- Source 계정에서 AMI 생성 (KMS 암호화)
- AMI Launch Permission 공유
- KMS Key 공유
- 대상 계정 Role 권한 필요
- 필요 시 자기 KMS로 재암호화
1️5. SSM Parameter Store
구성·비밀 값 저장소
특징
- Serverless
- KMS 암호화 지원
- 버전 관리
- IAM 기반 접근
- EventBridge 알림
- CloudFormation 연동
1️6. Parameter Store 계층 구조
/my-department/my-app/dev/db-password
/my-department/my-app/prod/db-password
/aws/service/ami-amazon-linux-latest/...
- Lambda / EC2에서
GetParametersByPath사용
1️7. Standard vs Advanced Parameter
| 항목 | Standard | Advanced |
|---|---|---|
| 개수 | 10,000 | 100,000 |
| 크기 | 4KB | 8KB |
| TTL 정책 | ❌ | ⭕ |
| 비용 | 무료 | $0.05 / 월 |
1️8. Parameter Policies (Advanced)
정책 유형
- Expiration (삭제)
- ExpirationNotification (EventBridge)
- NoChangeNotification
→ 비밀번호 강제 로테이션
1️9. AWS Secrets Manager
특징
- 비밀 값 전용 서비스
- 자동 로테이션
- Lambda 기반 회전
- RDS와 강력 통합
- KMS 암호화
Parameter Store보다 DB 비밀 관리에 특화
2️0. Secrets Manager – Multi-Region
- 리전 간 Secret 복제
- Read Replica 동기화
- DR / 글로벌 서비스에 적합
2️1. AWS Certificate Manager (ACM)
TLS 인증서 관리
특징
- Public TLS 무료
- 자동 갱신
- ALB / NLB / CloudFront / API Gateway 연동
- EC2 직접 사용 ❌
2️2. ACM 인증서 요청 & 가져오기
Public Certificate
- DNS Validation 권장
- 60일 전 자동 갱신
Import Certificate
- 자동 갱신 ❌
- EventBridge / Config로 만료 감시
2️3. ACM + ALB / API Gateway
- ALB: HTTP → HTTPS Redirect
- API Gateway
- Edge-Optimized → us-east-1 인증서
- Regional → 동일 리전 인증서
2️4. AWS WAF
L7 웹 공격 방어
보호 대상
- ALB
- API Gateway
- CloudFront
- AppSync
- Cognito
Rule 유형
- IP Set
- Header / Body / URI 검사
- SQLi / XSS
- Geo-block
- Rate-based Rule
2️5. WAF + Global Accelerator
Users
└─ GlobalAccelerator(Fixed IP)
└─ ALB + WAF
- NLB는 WAF 미지원
- 고정 IP + L7 보안
2️6. AWS Shield
Shield Standard
- 기본 활성화
- L3 / L4 DDoS 보호
Shield Advanced
- $3,000 / 월
- L7 공격 보호
- DDoS 대응팀 24/7
- 비용 보호
- WAF 자동 규칙 생성
2️7. AWS Firewall Manager
조직 단위 보안 정책 관리
관리 대상
- WAF
- Shield Advanced
- Security Group
- Network Firewall
- Route 53 DNS Firewall
- 신규 리소스 자동 적용
2️8. DDoS 방어 베스트 프랙티스
Edge Protection
- CloudFront
- Global Accelerator
- Route 53
Infrastructure
- ALB
- Auto Scaling
- Multi-AZ
Application Layer
- WAF Rule
- Rate Limit
- Managed Rules
Attack Surface Reduction
- Backend 숨기기
- SG / NACL
- API Gateway + WAF
2️9. Amazon GuardDuty
위협 탐지 서비스
입력 로그
- CloudTrail
- VPC Flow Logs
- DNS Logs
- S3 Data Events
- EKS / RDS / Lambda (옵션)
출력
GuardDuty
└─ EventBridge
├─ SNS
└─ Lambda
- Crypto Mining 탐지 가능
3️0. Amazon Inspector
대상
- EC2 (SSM Agent 필요)
- ECR 이미지
- Lambda 함수
평가
- CVE 취약점
- 네트워크 노출
- Risk Score 제공
- Security Hub 연동
3️1. Amazon Macie
S3 민감 데이터 탐지
기능
- PII 자동 탐지
- ML + 패턴 매칭
- EventBridge 연동
S3 Bucket
└─ Macie
└─ PII 발견
└─ EventBridge → 알림