카테고리 없음

🔐 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 인스턴스 설정으로 필수로 변경 가능
권장 여부 ❌ 사용 중지 권장  보안 강화를 위해 사용 권장
반응형