728x90
반응형
AWS EC2 인스턴스가 자기 자신에 대한 정보를 더 안전하게 가져오도록 만든 보안 강화 버전의 메타데이터 서비스야.
한마디로 “메타데이터 조회에 인증 절차를 추가한 것”이라고 보면 딱 맞아.



IMDS가 뭐였지?
EC2 안에서 이런 정보들을 가져올 수 있는 내부 API야.
- 인스턴스 ID
- 리전 / AZ
- 보안 그룹
- IAM Role 자격증명 (매우 중요)
접속 주소는 항상 이거야 👇
http://169.254.169.254
IMDS v1의 문제점
IMDS v1은 아무 인증 없이 GET 요청만 하면 바로 정보가 나옴.
그래서 이런 사고가 가능했어:
- SSRF 취약점이 있는 웹 앱 →
- 공격자가 내부에서 메타데이터 호출 →
- IAM Role 탈취 → AWS 계정 사고
👉 실제로 사고 많이 났음.
IMDS v2가 해결한 방식 (핵심)
토큰 기반 + 세션 방식으로 바뀜.
1️⃣ 먼저 토큰을 발급받아야 함
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/instance-id
✔ 토큰 없으면 접근 불가
IMDS v2의 보안 포인트
항목IMDS v1IMDS v2
| 인증 | ❌ 없음 | ✅ 토큰 필요 |
| SSRF 대응 | ❌ 취약 | ✅ 강함 |
| Hop 제한 | ❌ 없음 | ✅ 1-hop 제한 |
| AWS 권장 | ❌ | ✅ 기본 권장 |
👉 컨테이너 / 프록시 / 웹앱 환경에서 특히 중요
AWS 권장 설정 (실무 기준)
AWS는 이제 사실상 이걸 기본값으로 밀고 있어.
- IMDSv2 only
- IMDSv1 비활성화
- hop limit = 1
Amazon EC2 기준으로 보면
보안 감사 / 금융 / 결제 시스템에서는 거의 필수야.
언제 꼭 체크해야 하냐면
- EC2에서 IAM Role 쓰고 있을 때
- 웹 서버 / API 서버 (SSRF 가능성 있음)
- EKS worker node
- 금융·결제·개인정보 처리 시스템
한 줄 요약
IMDS v2 = “EC2 메타데이터에 토큰 인증을 붙여서 SSRF·권한 탈취를 막는 보안 강화 버전”
728x90
반응형