일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 도메인
- 윈도우
- terraform
- Athena
- VPC
- dns
- Jenkins
- AD
- CloudFront
- 테라폼
- security group
- Subnet
- RDS
- EC2
- Dedup
- ALB
- NaCl
- Storage
- Windows
- ncp
- lambda
- FSX
- route table
- 네이버 클라우드 플랫폼
- S3
- storage gateway
- AWS
- CLI
- Linux
- Python
- Today
- Total
끄적이는 보송
[AWS] IAM 키파일 유출을 대비한 IP 기반 Deny IAM 정책 본문
아무리 보안을 생각해 클라우드 환경을 구축했어도, IAM 계정 키 파일이 유출되면 말짱 도루묵이다. 계정마다 권한을 나누어 부여하면 되지 않겠는가라고 생각할 수 있지만 여전히 유출된 계정의 권한은 외부인에게 노출되는 것이니 안전하지 않다. 생각보다 키파일 관리가 허술하여 사건사고가 많이 터진다. (키 파일을 깃헙에 올린다던지, 외부 유출되어 고 그래픽 사양의 EC2를 마구 생성해 채굴을 한다던지...)
그래서 찾은 게 이것이다.
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html
위 정책에 접근 허용하는 IP주소를 입력해, 키가 유출되어도 허용된 IP주소가 아니면, 콘솔 & 프로그래밍 방식(CLI 접속)의 모든 Action을 Deny 하겠다는 정책이다. 추가로 "Bool": {"aws:ViaAWSService": "false"} 코드로 AWS 내부 리소스의 요청은 예외 처리하여, 정책에 입력된 IP주소 & 내부 서비스를 제외한 IP주소로부터의 요청을 막게 된다. 정책도 정책인 만큼 사용에 주의가 필요할 것 같다.
참고로 위 정책을 추가해도 외부의 계정 접속을 막는다는 것이 아니다. 위 정책은 API 호출에 대한 권한이다. 접속 후, 이후에 이뤄지는 Action을 Deny 하겠다는 것이다. 실제로 테스트해보면 하단의 명령어 입력 시, 정상적으로 접속 중인 IAM 계정이 출력되며
aws sts get-caller-identity
개인적으로 키 파일이 생성된 모든 IAM User는 위의 정책이 적용되어야 하지 않나 싶다.
'STUDY > AWS' 카테고리의 다른 글
[AWS] Lambda에 request 모듈 추가하기 (0) | 2022.05.28 |
---|---|
[AWS] AWS ECS 및 EKS 개념 정리 (3) | 2022.04.30 |
[AWS] EBS, S3, EFS 차이 (Block Level Storage, Object Storage) (0) | 2022.04.18 |
[AWS] EC2 에 Jenkins 설치 및 default 포트 변경 (0) | 2022.04.17 |
[AWS] Athena 사용해보기 (0) | 2022.04.12 |