AWS Security Essentials
- 보안 요구사항은 클라이언트마다 다르다.
1. 보안 원칙
Well-Architected Framework
- 여러 요구사항을 만족하는 잘 설계되었는가
AWS 클라우드 보안
규정 준수 심층 분석
- AWS Artifact
- AWS Config
자격 증명 및 액세스 관리 심층 분석
- IAM 중요!!
- 인증된 사용자 권한 부여 및 관리
- 잘못된 리소스로 보안 리스크 발생하기 쉽다.
인프라 보호 심층 분석
- Amazon VPC 중요!!
- VPC가 있어야만 동작하는 서비스가 있고, VPC를 어떻게 만드는지에 따라 확연히 달라짐
- AWS WAF
- AWS Shield
- Amazon Inspector
데이터 보호 심층 분석
- AWS KMS
- AWS Secrets Manager
탐지 심층 분석
- AWS CloudTrail
- Amazon CloudWatch
- Amazon EventBridge
- Automation이 정상적으로 동작하는 지 확인해야한다.
- 잘못하면 인지하지 못한 상황에 대한 이벤트들이 발생할 수도 있다.
- 많은 검증이 필요하다.
- Automation이 정상적으로 동작하는 지 확인해야한다.
인시던트 대응 심층 분석
- Incident Manager
- AWS Lambda
2. 클라우드의 보안
공동 책임 모델
- DataCenter < AZ < Region
- 엣지 로케이션
- 인프라에 대한 보안은 AWS
- 인프라 위에 올라가는 서비스에 대한 보안은 고객
리전 선택
- 규정 준수
- 컴플라이언스 센터
- AWS Artifact
- 보안, 규정 관련 감사 리포트를 확인할 수 있다.
- AWS Config
- 인벤토리 관리해주는 서비스
- Rule을 적용하여 관리하고 모니터링을 도와준다. 룰에 위배되면 알람이 뜬다. → manual vs automation
- 정확하고 가시성이 좋다.
- 고객 latency
- 비용
3. 자격증명 및 액세스 관리
IAM
- 사용자에 대한 AuthN & AuthZ 관리
- AuthN → who, 인증된 사용자인가
- AuthZ → what, 권한, 권한을 갖고 있는가
- 구성요소
- User
- Management Console에 유효한 사용자인가
- ID & PW로 인증
- API를 호출 할 수 있는 사용자인가
- AccessKey & SecretAccessKey로 인증
- Policy(AuthZ)와 매핑
- Account와 차이점
- Account는 root
- 모든 권한을 가지고 있다.
- MC(Management Console) 로그인 → MFA적용해서 금고에 넣는다.(물리적으로 보호)
- Key는 절대 사용하지 않는다.(해킹위험)
- 그 밑에 User(사용자)
- 이메일/PW : root ID/PW : user
- Account는 root
- 참고 : User의 종류
- AWS
- IAM에서 말하는 User
- 서버
- IAM에서 관리 X, 서버에서 사용자가 직접 관리
- DB
- IAM에서 관리 X, 서버에서 사용자가 직접 관리
- 실제 클라이언트
- AWS Cognito를 이용하여 관리 가능
- 불특정 다수의 엔드유저를 위한 기능
- AWS Cognito를 이용하여 관리 가능
- AWS
- Management Console에 유효한 사용자인가
- Group
- Policy
- 인증된 사용자에게 권한 부여
- json으로 작성
- 최소권한의 원칙을 따르자
- 유형
- Management policy (관리형 방식)
- 만들어진 policy를 적용
- 1:N 방식
- inline Policy
- 1:1 방식
- Management policy (관리형 방식)
- 사용자 단위 권한 vs 리소스 단위 권한
- 특정 사용자에게 권한을 준다. → Policy
- 리소스 입장에서의 권한 → S3
- 리소스 단위 권한이 사용자 단위 권한보다 우선
- 이후 Deny가 항상 우선
- 권한이 상충될 때 deny가 있으면 그것이 우선
- Role
- 임시권한
- 코드에 키(영구 키)를 넣는 것은 보안적으로 매우 취약
- → Role(임시 권한) 사용하여 보안적으로 안전하게
- policy로 role을 사용자 및 AWS 서비스에 부여한다. (그룹에게는 부여할 수 없다.)
- SCP 권한 체크 → 리소스 단위 권한 체크 → 사용자 단위 권한 체크 → 세션 policy 체크
- User
- 추가 서비스
- AWS Organizations
- 여러 AWS 계정(Account)에 대해 중앙에서 관리
- SCP로 권한 관리
- AWS Organizations
추가사항
- 권한에 principle이 들어가면 리소스 단위 권한
- Role
- what → Pollicy
- who → Trust Relationships
- Role을 아무나 쓰지 못하도록 설정
암호화를 통한 보호
보안
- 전송
- 인증서를 통해서
- ACM 서비스
- HTTPS, TCP…
- 인증서를 통해서
- 저장
- 데이터 암호화
- Key
- KMS 서비스
- 서버층 암호화
- 보내면 AWS 서비스 안에서 암호화
- 클라이언트 암호화
- 암호화해서 전송하면 AWS 서비스가 받는다.
- 데이터 암호화
- 대칭키 암호화
- 빠르게 암호화 복호화 가능하지만
- 키 유출에 대한 위험이 있다.
- 비대칭키 암호화
- 성능이 느리지만
- 키 유출에 대한 위험이 없다.
AWS가 지원하는 대부분의 암호화는 대칭키 암호화 이다.
KMS 서비스로 키 관리 도와준다.
4. 인프라 및 데이터 보호
네트워크 인프라 보호
VPC
- AWS 내 네트워크 개념
- VPC 설정을 위해
- Region 선택
- IP 지정
- 사설 IP로
- 10.0.0
- 172.16.0.0
- 192.168.0.0
- 사설 IP로
- CIDR 지정
- /16 ~ /28
- 서브넷 정하기 - AZ 안에서
- public 서브넷
- 트래픽이 나가고 들어올 수 있다.
- private 서브넷
- 트래픽이 나가지도 들어오지도 못한다.
- 기본 용도는 private이다. (사설IP를 쓰기 때문에) 만약 public 서브넷으로 바꾸고 싶으면 3가지 조건 필요하다.
- IGW 있어야한다.
- Internet GateWay
- Rounting Table 있어야한다.
- 트래픽에 대한 경로 지정
- Public IP가 있어야한다.
- IGW 있어야한다.
- public 서브넷
- NAT 필요하다.
EC2 보안을 위한 AWS 서비스
인스턴스와 가까운 순
- Security Group
- NACL
- 서브넷라우팅
- NACL vs Security Group
- Security Group
- ec2를 만드려면 반드시
- default : All Dency
- stateful
- chaining
- Web security group & WAS Security Group & DB Security Group을 묶는다.
- NACL
- 옵션
- default : All Allow
- stateless
- Security Group
엣지 보안
- Region으로 들어오기 전에 일차적으로 트래픽을 거르는 것
- AWS WAF
- WebApp Firewall
- CloudFront 또는 ALB와 매핑해서 자주 사용한다.
- 단독으로 사용하는 서비스는 아니다.
- Rule 기반으로 동작
- DDos 공격 대응 가능
- AWS Shield
- 엣지에서 동작
- Standard
- default
- OSI 3, 4계층에 대한 공격을 대응한다.
- Advanced
- 비용 발생(WAF 비용 포함)
- 추가적인 보호와 기능
컴퓨팅 리소스 보호
AMI
이미지 안에 민감한 정보 없는지 확인
Amazon Inspector
보안적인 리스크가 없는지 확인하고 도와준다.
5. 탐지 및 대응
CloudTrail
- 모든 API에 대한 기록을 남겨준다.
- 무결성
- 데이터에 대한 변조의 유무 - 누가 로그를 수정했는지 등 변조가 있었는지
- 내부적으로 무결성 체크가 내제화 되어있다.
로그
- 로그 기능 포함되어있는 서비스 : ELB, AWS Network Firewall, Amazon Route53, AWS WAF, Amazon VPC
CloudWatch
- 모니터링
- 클라우드는 비용에 대한 모니터링 중요
이벤트와 인시던트
- 이벤트
- 캡처된 변경 또는 항목
- 인시던트
- 조직에 부정적인 영향이나 결과를 초래하는 이벤트의 결과
- 어떤 기준으로 인시던트로 볼 건지 정의하는 것 중요
AWS Systems Manager Incident Manager
- Automation에 대한 테스트 중요
- Lambda와 함께 대응 가능
'Cloud > AWS' 카테고리의 다른 글
AWS Serverless Observability Workshop - 1. Introduction & Metrics and Dashboard & Canary (0) | 2024.04.10 |
---|