Cloud/AWS

AWS Security 정리

cstory-bo 2024. 1. 31. 12:26

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이 정상적으로 동작하는 지 확인해야한다.
      • 잘못하면 인지하지 못한 상황에 대한 이벤트들이 발생할 수도 있다.
      • 많은 검증이 필요하다.

인시던트 대응 심층 분석

  • 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
      • 참고 : User의 종류
        • AWS
          • IAM에서 말하는 User
        • 서버
          • IAM에서 관리 X, 서버에서 사용자가 직접 관리
        • DB
          • IAM에서 관리 X, 서버에서 사용자가 직접 관리
        • 실제 클라이언트
          • AWS Cognito를 이용하여 관리 가능
            • 불특정 다수의 엔드유저를 위한 기능
    • Group
    • Policy
      • 인증된 사용자에게 권한 부여
      • json으로 작성
      • 최소권한의 원칙을 따르자
      • 유형
        • Management policy (관리형 방식)
          • 만들어진 policy를 적용
          • 1:N 방식
        • inline Policy
          • 1:1 방식
      • 사용자 단위 권한 vs 리소스 단위 권한
        • 특정 사용자에게 권한을 준다. → Policy
        • 리소스 입장에서의 권한 → S3
        • 리소스 단위 권한이 사용자 단위 권한보다 우선
        • 이후 Deny가 항상 우선
          • 권한이 상충될 때 deny가 있으면 그것이 우선
    • Role
      • 임시권한
      • 코드에 키(영구 키)를 넣는 것은 보안적으로 매우 취약
      • → Role(임시 권한) 사용하여 보안적으로 안전하게
      • policy로 role을 사용자 및 AWS 서비스에 부여한다. (그룹에게는 부여할 수 없다.)
      • SCP 권한 체크 → 리소스 단위 권한 체크 → 사용자 단위 권한 체크 → 세션 policy 체크
  • 추가 서비스
    • AWS Organizations
      • 여러 AWS 계정(Account)에 대해 중앙에서 관리
      • SCP로 권한 관리

추가사항

  • 권한에 principle이 들어가면 리소스 단위 권한
  • Role
    • what → Pollicy
    • who → Trust Relationships
      • Role을 아무나 쓰지 못하도록 설정

암호화를 통한 보호

보안

  • 전송
    • 인증서를 통해서
      • ACM 서비스
    • HTTPS, TCP…
  • 저장
    • 데이터 암호화
      • Key
      • KMS 서비스
    • 서버층 암호화
      • 보내면 AWS 서비스 안에서 암호화
    • 클라이언트 암호화
      • 암호화해서 전송하면 AWS 서비스가 받는다.
  • 대칭키 암호화
    • 빠르게 암호화 복호화 가능하지만
    • 키 유출에 대한 위험이 있다.
  • 비대칭키 암호화
    • 성능이 느리지만
    • 키 유출에 대한 위험이 없다.

AWS가 지원하는 대부분의 암호화는 대칭키 암호화 이다.

KMS 서비스로 키 관리 도와준다.

4. 인프라 및 데이터 보호

네트워크 인프라 보호

VPC

  • AWS 내 네트워크 개념
  • VPC 설정을 위해
    1. Region 선택
    2. IP 지정
      1. 사설 IP로
        1. 10.0.0
        2. 172.16.0.0
        3. 192.168.0.0
    3. CIDR 지정
      1. /16 ~ /28
    4. 서브넷 정하기 - AZ 안에서
      1. public 서브넷
        1. 트래픽이 나가고 들어올 수 있다.
      2. private 서브넷
        1. 트래픽이 나가지도 들어오지도 못한다.
      3. 기본 용도는 private이다. (사설IP를 쓰기 때문에) 만약 public 서브넷으로 바꾸고 싶으면 3가지 조건 필요하다.
        1. IGW 있어야한다.
          1. Internet GateWay
        2. Rounting Table 있어야한다.
          1. 트래픽에 대한 경로 지정
        3. Public IP가 있어야한다.
    5. NAT 필요하다.

EC2 보안을 위한 AWS 서비스

인스턴스와 가까운 순

  1. Security Group
  2. NACL
  3. 서브넷라우팅
  • 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

엣지 보안

  • 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와 함께 대응 가능