보안 & 암호화 - WAF, Shield, Firewall Manager, 기타

이기태·2024년 8월 17일
0

AWS

목록 보기
54/62

AWS WAF - Web Application Firewall

  • 7계층에서 일어나는 웹 취약점 공격을 보호
    HTTP 취약점
  • WAF의 배포
    • ALB (NLB X)
    • API Gateway
    • CloudFront
    • AppSync GraphQL API
    • Cognito 사용자 풀
  • WAF 배포 이후 ACL(웹 액세스 제어 목록)과 규칙을 정의
    • IP set: IP 주소를 기반으로 필터링
      IP 세트를 정의할 수 있고 각 IP 세트는 최대 10,000개의 IP 주소를 가질 수 있다.
      더 많은 IP 주소가 필요하면 규칙을 여러 개 두면 된다.
    • HTTP 헤더, 바디에 기반해 필터링
      URI 문자열을 조건으로 두어 SQL 주입, XSS(크로스 사이트 스크립팅) 등의 일반적인 공격을 차단.
    • 용량에 제약을 걸어 요청이 최대 2MB를 넘지 않게 하기
    • 지역 일치 조건을 두어 특정 국가를 허용 또는 차단하기
    • 속도 기반 규칙을 설정해 IP당 요청 수를 측정해 디도스 공격 막기
  • 웹 ACL은 리전에만 적용되고 CloudFront는 글로벌로 정의된다.
  • 규칙 그룹
    여러 웹 ACL에 추가할 수 있는 재사용 가능한 규칙 모음(규칙 정리)

WAF 사용 사례

  • 애플리케이션에 고정 IP를 사용해 LB와 함께 WAF를 사용하고 싶은 경우
    - WAF는 NLB를 지원하지 않는다. (NLB는 4계층이다. WAF는 7계층)
    - WAF를 제공하려면 ALB가 있어야 함.
  • 그러나 ALB는 고정 IP가 없음.
    • AWS Global Accelerator로 고정 IP를 할당 받은 후 ALB에서 WAF를 활성화하면 된다.

      - ALB와 EC2 인스턴스가 있는 리전
      - Global Accelerator를 ALB 앞에 두고 애플리케이션에서 사용할 고정 IP를 얻는다.
      - 그리고 WAF와 웹 ACL을 연결(ALB와 동일한 리전에 배치)

AWS Shield

  • DDoS 공격으로부터 보호
    DDoS(Distributed Ednial of Service): 분산 서비스 거부 공격
  • AWS Shield Standard 서비스
    • 모든 AWS 사용자에게 무료로 활성화되어 있는 서비스
    • SYN/UDP Floods나 반사 공격 및 L3/L4 공격으로부터 고객을 보호
  • AWS Shield Advanced
    • 선택적으로 제공되는 디도스 완화 서비스
      조직당 월 3,000$
    • 더 정교한 디도스 공격을 막아준다
      EC2, ELB, CloudFront, Global Accelerator, Route 53을 보호
    • AWS 디도스 대응 팀이 항시 대기
    • 디도스 공격으로 인한 요금 상승을 AWS Shield 어드밴스드를 통해 방지
    • 자동 애플리케이션 계층(7계층) 디도스 완화도 제공
      자동으로 WAF 규칙을 생성, 평가, 배포해 7계층 공격 완화에 도움
      즉, WAF이 L7에서 일어나는 디도스 공격을 완화하는 규칙을 자동으로 갖게 된다.

AWS Firewall Manager

  • 중앙 집중식 보안 관리 제공
  • AWS Organizations에 있는 모든 계정의 방화벽 규칙을 관리
    여러 계정의 규칙을 동시에 관리할 수 있다.
  • 보안 규칙의 집합인 보안 정책을 설정할 수 있다.
    ALB, API Gateway, CloudFront 등에 적용되는 WAF 규칙이나
    ALB, NLB, Elastic IP, CloudFront를 위한 AWS Shield 어드밴스드 규칙 등이 포함된다.
    또 EC2, ALB, VPC의 ENI 리소스를 위한 보안 그룹을 표준화하는 보안 정책과 VPC 수준의 AWS Network Firewall도 해당된다.
    그리고 Route 53 Resolver DNS Firewall도 포함된다.
  • AWS Firewall Manager는 이와 같은 모든 방화벽을 한 곳에서 관리할 수 있도록 지원해 준다.
  • 정책은 리전 수준에서 생성되고 조직에 등록된 모든 계정에 적용된다.
  • 조직에서 ALB에 대한 WAF 규칙을 생성한 다음 새 ALB를 생성하는 경우 AWS Firewall Manager에서 자동으로 새 ALB에도 같은 규칙을 적용해 준다.

WAF vs Firewall Manager vs Shield

  • WAF, Firewall Manager, Shield는 포괄적인 계정 보호를 위한 서비스이다.
  • WAF
    • 웹 ACL 규칙을 정의
    • 리소스별 보호를 구성하는 데에는 WAF가 적절
    • 여러 계정에서 WAF를 사용하고, WAF 구성을 가속하고 새 리소스 보호를 자동화하려면 Firewall Manager로 WAF 규칙을 관리하면 된다.
  • Firewall Manager
    • WAF규칙같은 규칙들을 모든 계정과 모든 리소스에 자동으로 적용해준다.
    • 모든 계정에 Shield 어드밴스드를 배포하는데 도움을 준다.
  • Shield 어드밴스드
    • 디도스 공격으로부터 고객을 보호
    • WAF의 기능 외에도 더 많은 기능을 제공
      • Shield 대응 지원 팀
      • 고급 보고서 제공
      • WAF 규칙 자동 생성
    • DDoS 공격을 자주 받는다면 Shield 어드밴스드는 좋은 선택지

DDoS 보호 / 모범 사례

# 1. 엣지 위치 완화

- EC2 인스턴스로 구성된 ASG과 ELB가 앞에 위치하고 있음.
- 이때 LB를 Global Accelerator를 통해 고정 IP로 노출하거나 CloudFront를 앞에 둘 수 있음.
CloudFront는 WAF와 연결 가능함.
- DNS 라우팅에는 Route 53을 사용할 수 있다.
- 다른 아키텍처로 CloudFront와 API Gateway가 있음.

  • BP1 - CloudFront
    - CloudFront는 엣지 로케이션에서 사용한다.
    따라서 이 그림은 엣지 로케이션 완화를 다룬다.
    즉, 웹 애플리케이션 전송도 엣지에서 일어난다.
    SYN Flood나 UDP 반사 공격과 같은 DDoS 일반 공격은 Shield 설정으로 막을 수 있다.
  • BP1 - Global Accelerator
    - 전 세계에서 엣지를 통해 애플리케이션에 액세스할 수 있다.
    Global Accelerator는 Shield와 통합되어 CloudFront가 백엔드와 호환되지 않는 경우 DDoS 공격 방어에 유용하게 쓰인다.
    이 경우 Global Accelerator를 앞에 두는데 이 경우 어떤 백엔드를 사용하든 CloudFront나 Global Accelerator로 AWS 엣지에 완전 분산이 가능하고 엣지 로케이션을 DDoS로부터 보호할 수 있다.
  • BP3 - Route 53
    - 엣지에 도메인 이름 변환을 글로벌로 설정한다.
    이렇게 하면 DNS에도 DDoS 보호 메커니즘을 적용할 수 있다.
    따라서 엣지에 대한 DDoS 보호를 더 확실히 할 수 있다.


    # 2. DDoS 완화 모법 사례
  • 인프라 계층 방어는 BP1, BP3, BP6에 해당
    CloudFront, Global Accelerator, Route 53, ELB는 높은 트래픽으로부터 EC2 인스턴스를 보호한다.
    EC2 인스턴스에 도달하기 전에 트래픽을 관리
  • (BP7) EC2 인스턴스에서 오토 스케일링 기능을 활성화한 경우
    ASG에 트래픽이 도달한다고 해도 자동으로 확장해 애플리케이션에서 더 큰 로드를 수용할 수 있다.
  • (BP6) ELB의 경우
    ELB가 여러 EC2 인스턴스 간 트래픽을 자동으로 분산시킨다.
    각 EC2 인스턴스에 관리 가능한 양의 트래픽 전달.


    # 3. L7 방어 예시
  • BP1과 BP2로 악성 요청을 감지 및 필터링하는 방식
    • CloudFront는 정적 콘텐츠 전송 시 엣지 로케이션에서 전송함으로 백엔드를 보호한다.
    • 그리고 ALB나 CloudFront에 WAF를 사용해 요청 서명에 따라 요청을 필터링 및 차단 가능
      특정 IP나 특정 요청 유형만 차단
    • WAF 속도 기반 규칙을 사용해 악성 사용자의 IP를 자동으로 차단할 수 있음.
    • WAF에 여러 관리형 규칙을 사용해 평판에 따라 IP를 차단 또는 익명 IP를 차단.
    • CloudFront로 특정 지역을 차단 가능.
  • (BP1, BP2, BP6) Shield Advanced
    • 자동으로 WAF 규칙을 생성해 7계층 공격을 완화한다.
    • 악성 요청이 들어오지 못하도록 하거나
    • 그 수를 최소화하는 식으로 EC2 인스턴스 보호


      # 4. 공격 지점 감소
  • (BP1, BP4, BP6) 애플리케이션에 사용되는 백엔드 AWS 리소스가 숨겨져 있다.
    • CloudFront, API Gateway, ELB를 사용하면 백엔드 리소스를 숨길 수 있다.
    • 공격자는 이 리소스가 Lambda 함수인지, EC2인지, ECS 태스크인지 모른다.
  • (BP5) 보안 그룹과 네트워크 ACL 등을 설정
    • 특정 IP의 트래픽을 필터링
    • Elastic IP도 AWS Shield Advanced로 보호할 수 있다.
  • (BP4) API 엔드 포인트 보호
    • API Gateway를 사용해 어떤 백엔드든 숨길 수 있다.
      ec2, lambda 등 무엇이든
    • 엣지 최적화 모드를 사용할 경우 이미 글로벌 설정되어 있다.
    • CloudFront에 리전 모드를 더해 사용하면 DDoS 보호에 관한 제어 기능이 더 강화된다.
    • API Gateway + WAF를 사용하는 경우 모든 HTTP 요청을 필터링 가능하다.
    • API Gateway를 제대로 설정했다면 버스트 제한과 헤더 필터링 가능.
    • 사용자에게 API 키 사용을 강제할 수 있음.

Amazon GuardDuty

  • 지능형 위협 탐지를 이용해 AWS 계정을 보호
  • 머신러닝으로 이상 탐지를 수행하고, 서드파티 데이터를 사용해 위협을 탐지한다.
    이상 탐지: 정상행위에서 벗어난 경우를 찾아 침입을 탐지
  • 활성화 방법
    클릭 한번으로 활성화(30일 무료체험)
  • 입력 데이터
    • CloudTrail Event Logs
      - 비정상적인 API 호출이나 무단 배포를 검색한다.
      - 관리 이벤트 검색(VPC 서브넷 생성 이벤트)
      - 데이터 이벤트 검색(S3 데이터 이벤트: Get/List/DeleteObject)
    • VPC Flow Logs
      - 비정상적인 인터넷 트래픽 검색
      - 비정상적인 IP 주소를 검색
    • DNS 로그
      - DNS 쿼리 안에서 인코딩된 데이터를 전송하는 EC2 인스턴스를 검색
      - 옵션 기능으로 EKS 감사 로그나 RDS 및 Aurora 로그인 이벤트, EBS, Lambda, S3 데이터 이벤트 등 다른 입력 데이터 소스를 검색
  • EventBridge 규칙을 설정해 발견된 결과가 있으면 자동으로 알림을 받을 수 있다.
    그 규칙은 Lambda나 SNS 같이 EventBridge가 타깃할 수 있는 모든 것을 타깃할 수 있음.
  • GuardDuty는 암호화폐 공격을 방어하기 위한 좋은 도구이다.
    전문적인 탐지 기능이 제공된다.
    즉, 모든 입력 데이터를 분석하는 방법을 알고, 암호화폐 공격이 있는지 확인 가능하다.

Amazon GuardDuty 요약

  • GuardDuty에는 몇 가지 입력 데이터가 있다
    • VPC Flow Logs
    • CloudTrail Logs
    • DNS Logs
    • 활성화 가능 옵션 기능
      S3 로그, EBS 볼륨, 람다 네트워크 활동, RDS 및 Aurora 로그인 활동, EKS 감사 로그, 럼타임 모니터링 등
  • 위 데이터로 탐지 결과를 생성한다.
  • 탐지가 되면 EventBridge에서 이벤트가 생성된다.
  • EventBridge로부터 규칙을 이용해 Lambda나 SNS 알림같은 자동화를 트리거 가능

Amazon Inspector

  • 자동화된 보안 평가를 실행하는 서비스
  • 보안 평가 대상
    • EC2 인스턴스
      • EC2 인스턴스에서 시스템 관리자 에이전트를 활용해 Inspector가 해당 EC2 인스턴스의 보안을 평가한다.
        - 의도되지 않은 네트워크 접근 가능성을 분석
        - 실행 중인 OS에서 알려진 취약점을 분석
    • 컨테이너 이미지를 ECR로 push할 때 실행
      • 컨테이너 이미지가 ECR로 푸시뒤면 Inspector가 알려진 취약점에 대해 검사한다.
    • Lambda 함수
      • Lambda 함수가 배포될 때 함수 코드 및 패키지 종속성에서 소프트웨어 취약성을 분석
        즉, 함수가 배포될 때 평가한다.
  • Inspector가 작업을 완료하면 AWS 보안 허브에 결과를 보고한다.
  • 또한 이 결과와 결과 이벤트를 EventBridge로 보낸다.
  • 이를 통해 인프라에 있는 취약점을 모아서 볼 수 있게 된다.
    EventBridge로 일종의 자동화를 실행할 수 있다.

Inspector가 평가하는 것

  • 실행중인 EC2 인스턴스, ECR의 컨테이너 이미지, 람다 함수에만 사용된다.
  • 필요할 때 인프라만 지속적으로 스캔한다.
    즉, 취약성 데이터베이스, CVE를 살펴본다.
  • EC2, ECR, Lambda에서 패키지 취약성 및 EC2에서 네트워크 도달성을 살펴본다.
  • 만약 CVE 데이터베이스가 업데이트된다면 Inspector는 자동으로 다시 실행되어 모든 인프라를 한 번 더 확실히 테스트한다.
  • 실행될 때마다 우선 순위를 정하기 위해 위험 점수가 모든 취약성과 다시 연관된다.

Amazon Macie

  • 완전 관리형 데이터 보안 및 데이터 프라이버시 서비스
  • 머신러닝과 패턴 매칭을 이용해 AWS에 있는 민감한 데이터를 발견하고 보호한다.
    즉, 개인식별 정보(PII)같은 정보에 관해 경보를 제공한다.

    - S3 버킷에 PII가 있다면 Macie가 분석할 것이고, Macie는 어떤 데이터를 PII로 분류할 지 알아내고, EventBridge를 통해 발견 결과를 알려준다.
    - 그것을 SNS알림이나 람다로도 통합할 수 있다.
  • 클릭 한 번으로 활성화 가능
    이후 원하는 S3 버킷을 지정하면 된다.

0개의 댓글

관련 채용 정보