반응형
IMDSv2(Instance Metadata Service Version 2)는 AWS EC2 인스턴스가 자신의 메타데이터(metadata)에 안전하게 접근할 수 있도록 설계된 AWS의 인스턴스 메타데이터 서비스의 두 번째 버전입니다. 이 서비스는 보안 및 사용 편의성을 개선하기 위해 설계되었으며, 이전 버전(IMDSv1)에서 발생할 수 있는 보안 취약점을 보완합니다.
Instance Metadata Service(IMDS)란?
- IMDS는 AWS EC2 인스턴스가 자신에 대한 정보를 조회할 수 있는 엔드포인트(http://169.254.169.254)를 제공하는 서비스입니다.
- EC2 인스턴스 메타데이터에는 다음과 같은 정보가 포함됩니다:
- AMI ID
- 인스턴스 ID
- 인스턴스 유형
- 보안 그룹
- IAM 역할 및 임시 인증 토큰
- 사용자 데이터(User Data)
IMDSv2의 주요 특징
1. 향상된 보안
- 세션 기반 액세스: IMDSv2는 데이터를 요청하기 전에 세션 토큰을 생성하여 이를 인증 수단으로 사용합니다. 이를 통해 메타데이터 서비스에 대한 요청을 더욱 안전하게 보호할 수 있습니다.
- SSRF(서버사이드 요청 위조) 완화: IMDSv1은 HTTP 요청을 통해 쉽게 접근할 수 있어, SSRF 공격으로 메타데이터가 노출될 위험이 있었습니다. IMDSv2는 이를 방지합니다.
2. 세션 토큰 사용
- IMDSv2는 HTTP PUT 요청을 통해 세션 토큰을 생성하고, 이후 HTTP GET 요청에서 이 토큰을 사용하여 메타데이터에 접근합니다.
- 토큰은 만료 시간(TTL)을 설정할 수 있습니다.
3. 하위 호환성
- IMDSv2는 IMDSv1과 함께 사용할 수 있어, 기존 시스템이 영향을 받지 않도록 설계되었습니다.
- 사용자는 IMDSv1을 비활성화하고 IMDSv2만 사용하도록 강제할 수 있습니다.
IMDSv1 vs. IMDSv2 비교
특징IMDSv1IMDSv2
보안 모델 | 요청에 인증 없음 | 세션 기반 인증 필요 |
요청 방식 | HTTP GET만 지원 | HTTP PUT + GET 지원 |
SSRF 방지 | 취약할 수 있음 | 보호 가능 |
TTL(토큰 유효 기간) | 없음 | 사용자 지정 가능 |
하위 호환성 | 사용 가능 | IMDSv1과 함께 사용 가능 |
IMDSv2 활성화 방법
1. AWS CLI를 통한 활성화
IMDSv2를 기본 옵션으로 설정하고 IMDSv1을 비활성화하려면 다음 명령어를 사용합니다:
aws ec2 modify-instance-metadata-options \
--instance-id i-0123456789abcdef0 \
--http-endpoint enabled \
--http-tokens required \
--http-put-response-hop-limit 2
- --http-endpoint enabled: IMDS를 활성화.
- --http-tokens required: IMDSv2만 사용하도록 강제.
- --http-put-response-hop-limit: 토큰 요청의 홉 제한 설정.
2. 콘솔을 통한 설정
- AWS Management Console에 로그인.
- EC2 인스턴스 선택.
- Actions > Instance Settings > Modify Instance Metadata Options 선택.
- 다음과 같이 설정:
- Metadata version: IMDSv2 only
- Hop limit: 기본값 1 또는 필요에 따라 설정.
IMDSv2 사용 방법
- 세션 토큰 생성
- HTTP PUT 요청을 사용하여 세션 토큰을 생성합니다.
curl -X PUT "http://169.254.169.254/latest/api/token" \ -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
- 메타데이터 조회
- 생성된 토큰을 HTTP GET 요청에 포함하여 메타데이터를 조회합니다.
curl -H "X-aws-ec2-metadata-token: <TOKEN>" \ "http://169.254.169.254/latest/meta-data/"
IMDSv2를 사용해야 하는 이유
- 강화된 보안
- IMDSv2는 SSRF 및 메타데이터 노출 위험을 크게 줄입니다.
- 컴플라이언스
- 보안 규정을 준수해야 하는 환경에서 IMDSv2는 추가적인 보호 계층을 제공합니다.
- 미래 지향적 설계
- AWS는 IMDSv2를 권장하며, IMDSv1은 점진적으로 비추천(deprecated)될 가능성이 있습니다.
결론
IMDSv2는 AWS EC2 인스턴스 메타데이터에 대한 보안을 강화한 최신 버전입니다. SSRF 공격 방지 및 세션 기반 인증을 통해 메타데이터 접근을 안전하게 관리할 수 있으며, 특히 보안이 중요한 환경에서 필수적인 설정입니다.
추가적으로 궁금한 점이 있으면 알려주세요! 😊
반응형