카테고리 없음
🔐 IMDSv2란? AWS EC2 인스턴스 보안을 강화하는 메타데이터 서비스
idea9329
2025. 4. 2. 15:20
반응형
IMDSv2는 AWS에서 제공하는 EC2 인스턴스의 메타데이터 서비스 중 하나입니다.
"인스턴스 메타데이터 서비스 버전 2"라는 뜻으로, 기존보다 더 안전하게 정보를 제공하도록 설계된 버전이에요.
🧠 IMDS란?
IMDS(Instance Metadata Service)는 EC2 인스턴스 내부에서
자신의 인스턴스 ID, IAM Role, 보안 그룹, 퍼블릭 IP 같은 정보를 가져올 수 있게 해주는 AWS 서비스입니다.
기본 메타데이터 조회 방식:
curl http://169.254.169.254/latest/meta-data/
🚨 IMDSv1의 보안 문제
IMDSv1은 단순히 위 주소에 접근하면 아무 제약 없이 메타데이터에 접근 가능했어요.
그래서 악의적인 코드(예: SSRF 공격)가 메타데이터를 통해 IAM Role의 인증 토큰을 탈취할 수 있는 보안 취약점이 있었습니다.
✅ IMDSv2의 특징과 장점
IMDSv2는 보안 강화를 위해 다음과 같은 개선점을 도입했습니다.
항목설명
🔐 세션 기반 접근 | 메타데이터 요청 전, 세션 토큰을 먼저 획득해야 함 |
🚫 SSRF 차단 | 외부에서 단순 HTTP로 메타데이터 접근 불가 |
⏳ TTL 제한 | 토큰에는 유효 시간(Time To Live) 설정 가능 |
🔒 HEAD 요청 차단 가능 | 일부 공격 벡터 사전 차단 가능 |
🔧 IMDSv2 사용 예시
1. 먼저 세션 토큰 요청
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" \
-H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
2. 이후 메타데이터 조회 시 토큰 사용
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/
🔐 EC2에서 IMDSv2만 강제할 수도 있음
보안을 위해 IMDSv2 전용 모드로 설정하는 것이 권장됩니다.
aws ec2 modify-instance-metadata-options \
--instance-id i-0123456789abcdef0 \
--http-endpoint enabled \
--http-token required
- required 설정 시 IMDSv1은 차단됨
- 모든 요청은 토큰을 반드시 포함해야 함
📌 요약 정리
항목IMDSv1IMDSv2
보안 | 낮음 (SSRF 위험) | 높음 (세션 기반) |
인증 방식 | 없음 | 세션 토큰 필요 |
설정 가능 여부 | 기본 사용 | EC2 인스턴스 설정으로 필수로 변경 가능 |
권장 여부 | ❌ 사용 중지 권장 | ✅ 보안 강화를 위해 사용 권장 |
반응형