* 발표 동영상: https://youtu.be/KGibV5yV9U8
AWS 사용 환경에서 발생할 수 있는 다양한 보안 사고의 원인 중 상위 5개 (부적절한 보안 그룹 설정, 부적절한 자격증명 관리, 패치미적용, S3 버킷 퍼블릭 공개, DDoS 에 취약한 아키텍처)의 보안 위협에 대해 설명하고 각 보안 위협을 해소할 수 있는 AWS 모범 사례에 대해 설명합니다.
2. 강연 중 질문하는 방법
오른쪽의 “Questions/질문” 창에 질문을
남겨주세요. 본인만 답변을 받고 싶으신 경우,
(비공개)라고 하고 질문해 주시면 됩니다.
본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약 AWS
사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS 사이트
상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.
AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에
대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다.
고지 사항(Disclaimer)
3. Agenda
0. Top 5 보안 위협
1. 자격 증명 관리
2. Security Group 관리
3. S3 보안 설정
4. 시스템 패치
5. DDoS 공격 방어
6. 안전한 자격증명의 사용 – Role 활용
• IAM 사용자 Assume Role 권한을 이용하여 Role 권한 수임
1. 자격증명 관리
7. IAM Role 사용 예시 #1
User: 사용자A
IAM Policy:
Allow: sts:AssumeRole
Deny: *(AssumeRole 은 예외)
Group: AccessOnly
할당된 적책
Role: EC2
Administrator
Policy:
EC2AdminPolicy
IAM Policy:
Allow: ec2:*
Deny: *
Role 로 전환
적용된 정책
Action: EC2
인스턴스 생성
실행
Logs:
“userIdentity”: {
“type”:“AssumedRole”,
…
“username”:“사용자A”
로그
EC2 관리자에게 IAM 사용자를 통해 EC2 관리 권한을 할당하는 것이 아니라 IAM 역할을 통한 권한 할당
IAM 사용자에는 권한을 최소화하고 역할에 권한을 부여
1. 자격증명 관리
8. EC2 인스턴스
애플리케이션 코드
운영체제
임시보안 자격증명
Role
Permission Policy
Role 에 할당된 Policy 기반 접근 제어
AWS 자격증명을 자동으로 탐지 및 사용
AWS 자격증명 자동 전달 및 순환
Dynamo DB
Kinesis
S3
"Code" : "Success",
"LastUpdated" : "2019-04-12T02:11:34Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "ASIA4M5UW2CW5EHAWFAN",
"SecretAccessKey" :
"v1dmbdKpv4lB94VhU8ku+c4e2hOexfhNf4nbod9+",
“Token”:"AgoJb3JpZ2luX2VjENL///////////",
"Expiration" : "2019-04-12T08:28:32Z"
IMDS = Instance Meta Data Service
IAM Role 사용 예시 #2
IMDS 를 이용하여 권한을 획득하도록 구성
1. 자격증명 관리
9. Instance Meta Data Service – Version 1
IMDS = http://169.254.169.254/latest/meta-data/iam/security-credentials/Role-Name
OS 프로세스
GET /latest/meta-data/iam/security-credentials/Role-Name
EC2 인스턴스
Secret Key/Access Key/Token
1. 자격증명 관리
10. SSRF 공격을 활용한 권한 탈취 – IMDS Version 1
사용자 요청 http://example.com/page/main.asp?path=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role-Name
서버측 요청 http://169.254.169.254/latest/meta-data/iam/security-
credentials/Role-Name
직접 요청
http://169.254.169.254/latest/meta-
data/iam/security-credentials/Role-Name
11. Instance Meta Data Service – Version 2
IMDS = http://169.254.169.254/latest/meta-data/iam/security-credentials/Role-Name
OS 프로세스
PUT /latest/api/token
Token 이 유효하지
않은 경우 차단
EC2
인스턴스
GET /latest/meta-data/iam/security-credentials/Role-Name + Token
Secret Key/Access Key/Token
Session Token for Role-Name
Token 발급에는
PUT 만 유효
1. 자격증명 관리
12. SSRF 공격 방어 – IMDS Version 2
사용자 요청 http://example.com/page/main.asp?path=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role-Name
서버측 요청 http://169.254.169.254/latest/meta-data/iam/security-
credentials/Role-Name
직접 요청
http://169.254.169.254/latest/meta-
data/iam/security-credentials/Role-Name
1. 자격증명 관리
13. IMDS V2 의 사용
@보안 통제 조건
- IMDS 의 사용이 필요한 경우 Version 2 를 사용하도록 한다.
#탐지 방법
- CloudWatch Metric 에 IMDS 사용 시 추적할 수 있는 메트릭을 생성하여 Version 1 과 Version 2 사용
현황에 대한 모니터링을 수행한다.
IMDS 사용 환경의 보안 강화
IMDS Version 2 를 사용하도록 이용환경 구성
1. 자격증명 관리
16. Firewall Manager 의 활용
2. Security Group 관리
Organization 에 소속된 모든 계정에
대한 통합 보안 관리
지속적인 보안 환경을 제공하고 새롭게
생성되는 어플리케이션에 대해서도
가이드라인 제시
다양한 AWS 계정 환경에 대한 보안
규정 준수 여부에 대한 통합 모니터링AWS WAF AWS Shield Amazon VPC
Security group
Network
Firewall
17. Security Group 관리의 어려움 해결
§ 다중 계정간에 공통으로 사용되는 Security Group 정책에 대한 손쉬운
관리
§ 임의 변경 없는 일관된 정책 유지
§ Security Group 정책에 대한 유효성 검증을 통한 보안 경계 수립
§ Security Group 의 설정 오류를 예방할 수 있는 지속적인 모니터링
§ 설정 오류가 포함된 Security Group 정책의 자동 교정
§ 다중 계정 간에 사용되고 있는 Security Group 에 대한 통합 모니터링
18. Firewall Manager Security Group 정책 타입
Common Security Group
AWS Organizations 에 속한 계정의 지정된 자원에 Security Group 을 적용
Auditing and enforcement of security group rules
적용되어 있는 Security Group 의 설정을 점검
Auditing and cleanup of unused and redundant security groups
AWS Organizations 에 속한 계정에 생성되어 있는 Security Group 중 미사용 중이거나
중복되어 있는 Security Group 의 식별
19. Security Group 정책 가이드라인 설정
§ 보안 관리자가 Organizations 에 속한 모든
계정에 대해 공통적으로 사용될 수 있는
Security Group 정책을 생성하여 보안
가이드라인을 설정
§ Master Security Group 을 생성한 후 Policy
Scope 에 따라 복제 후 사용
§ 각 개별 계정 관리자가 Security Group 을
추가하거나 설정을 변경하는 것에 대한
허용/차단 옵션
§ 임의의 설정 변경 탐지 시 자동 교정 옵션
예시
사내망 IP 에 대한 SSH 접속 허용
Amazon CloudFront IP 범위에 대한 HTTP/S 접근 허용
특정 데이터베이스로의 원격 접속 허용
사내 내부망으로의 접속 허용
21. AWS 에서의 가상 이미지 관리
DevOps 엔지니어
CI/CD Pipeline
VPC
보안 그룹
인스턴스 실행
Post-Update
스크립트 실행
인스턴스 정지이미지 생성
이미지 생성 서비스
Source AMI
결제권자
AWS 계정
CloudWatch
Event
Pre-Update
스크립트 실행
패치/라이브러리
업데이트
Tag 할당
이미지 사용
승인
Amazon SNS
인스턴스 실행
Inspector 설치
취약점 진단Parameter
Store
Golden AMI
1
2
3
4
5
3. 시스템 패치
22. 소스 이미지로 시작 소프트웨어와
설정에 대한 최적화
적용
AWS가 제공하거나
자체 제작한
템플릿을 이용하여
이미지 보안 적용
AWS 가
제공하거나 자체
구성한 테스트
시나리오 반영
선택한 AWS
리전에 “골드
이미지” 배포
모든 EC2 Image Builder 절차들은 고객의 AWS Account 에서 구동됩니다.
EC2 Image Builder 를 활용한 Golden AMI 관리
업데이트가 있을 때마다 반복
3. 시스템 패치
23. AWS Systems Manager Patch Manager
1. 승인된 패치를
지정하는 Patch
Baseline 생성(Patch
Group 등록)
3. Maintenance
window 실행
4. 패치 규정 준수
결과 감사
2. 인스턴스 그룹에 대해
패치를 진행할
Maintenance window
스케쥴 생성
3. 시스템 패치
25. 패치 규정 준수 강제화(자동화)
• Amazon CloudWatch Events
• Email 경보
• 규정 위반 상황에 대한 문제 해결
Email notification
Amazon Simple
Notification Service
(Amazon SNS)
AWS Lambda
Lambda function
Amazon CloudWatch
Rule
AWS Systems Manager
Run
command
3. 시스템 패치
30. Amazon S3 Access Point 의 활용
자주 접근하는 주요
공유 버킷
에 대한 간편한 제어
분산된 팀 환경에서의
DATA LAKE
를 통한 교차 계정간 데이터 이동
Sales
Access Point
Developers
Access Point
Finance
Access Point
Finance Sales Developers
4. S3 보안 설정
31. Amazon S3 Access Point 란?
ARN: arn:aws:s3: ap-northeast-2 :123456789012:accesspoint/myap
AP hostname: myap-123456789012.s3-accesspoint. ap-northeast-2.amazonaws.com
호스트명, ARN 및 IAM 자원 정책을 갖는 새로운 Amazon S3 리소스
4. S3 보안 설정
32. Amazon S3 에 대한 접근 - 예전
모든 사용자가 버킷명을 통하여 개별 오브젝트에 직접 접속
버킷명 (koreabucket)
Bucket hostname:
koreabucket.s3.ap-northeast-2.amazonaws.com
버킷 정책
재무팀
영업조직
개발팀
4. S3 보안 설정
33. Amazon S3 에 대한 접근 - 현재
Bucket
(koreabucket)
AccessPoints
Bucket hostname: koreabucket.s3.ap-northeast-2.amazonaws.com
AP hostname: dev-123456789012.s3-accesspoint. ap-northeast-2.amazonaws.com
ARN: arn:aws:s3: ap-northeast-2 :123456789012:accesspoint/dev
AP hostname: sales-123456789012.s3-accesspoint. ap-northeast-
2.amazonaws.com
ARN: arn:aws:s3: ap-northeast-2 :123456789012:accesspoint/sales
버킷 정책
Access Point Policy
Access Point Policy
최종 S3 버킷에 추가로 지정된 고정 Access Point 를 통해 사용자 접속
재무팀
영업조직
개발팀
4. S3 보안 설정
34. Amazon S3 보안 설정 모니터링
AWS IAM Access
Analyzer for S3
AWS Trusted Advisor
Amazon MacieAWS Config rules
S3-bucket-public-read-prohibited
S3-bucket-public-write-prohibited
Amazon S3 inventory 를
통한 암호화 상태
4. S3 보안 설정
36. 서비스 유형별 인프라 보호 아키텍처 - Serverless
• 다수의 마이크로서비스에
대한 통합된 프론트엔드
구축
• 요청에 대한 인증 및 인가
• 3rd Party 개발자에 대한
API 사용 제한 및 모니터링
Amazon API GatewayAWS WAF
• Full WAF 기능
• 고객 작성 규칙과
관리형 규칙
• CloudWatch 와 로그
파일을 통한 가시성
• Lambda 를 통한
자동화
AWS Shield
Standard
5. DDoS 공격 방어
37. AWS Shield Advanced
빠른 확장 및 Source IP
변경 없는 부하 분산
고성능 및 고 가용성
보장
Network Load Balancer
다중 리전
환경에서 ”애니캐스트”
기술에 기반한 부하
분산 및 최단 경로 선택
AWS Global Accelerator
• 조금 더 향상된 탐지 기능
제공
• 사전에 정의되거나 고객에
요청에 의한 방어 규칙
적용
• 경계 영역에서의 네트워크
차단
서비스 유형별 인프라 보호 아키텍처 – TCP or UDP
5. DDoS 공격 방어
38. EC2 instance
S3 bucket
퍼블릭
서브넷
프라이빗 서브넷
AWS Shield
AWS Shield
Advanced
ALB
CloudFront
AWS WAF
Firewall
Manager
서비스 유형별 인프라 보호 아키텍처 – 웹
5. DDoS 공격 방어
39. Firewall Manager 의 통합 모니터링
계정 A
계정 B
관리자 계정
• Amazon CloudWatch 에서 모든 계정과
어플리케이션에 대한 Metric 통합
• Organization 에 속한 계정이나 어플리케이션에
대한 DDoS 공격 발생 시 중앙에서 경보 발생
관리
5. DDoS 공격 방어
41. AWS 온라인 이벤트 – 클라우드 보안 특집에
참석해주셔서 대단히 감사합니다.
저희가 준비한 내용, 어떻게 보셨나요?
더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다.
aws-korea-marketing@amazon.com
twitter.com/AWSKorea
facebook.com/amazonwebservices.ko
youtube.com/user/AWSKorea
slideshare.net/awskorea
twitch.tv/aws