[AWS 한국 블로그] AWS 기반 게임 개발자를 위한 안내서 – DDoS 공격 방어

안녕하세요!
베스핀글로벌 클라우드 기술지원팀입니다. 😀

이번 아티클은 AWS 한국 블로그에 기재된 “분산 서비스 거부 (Distributed Denial of Service, DDoS)에 대한 AWS 기반 대응 방법”에 대하여 소개해 드리고자 합니다.


1. DDoS 방어를 위해 제공되는 AWS 서비스

많은 게임사가 AWS를 통해 글로벌하게 게임을 운영하고 있습니다.

그 과정에서 AWS는 많고 다양한 유형의 DDoS 공격을 경험하였으며, 해당 경험을 통해 DDoS 방어에 필요한 여러 서비스를 직접 개발하여 제공하고 있습니다.


1) AWS Shield

AWS Shield는 AWS의 DDoS 공격을 방어하기 위해 개발된 서비스입니다.

기존의 DDoS 공격을 막기 위해 제공되는 솔루션들의 경우, 방어를 적용하기 위해 네트워크 아키텍처에 많은 변경을 해야 했습니다. 하지만 AWS Shield의 경우, AWS 서비스에 이미 내장된 구조이기 때문에 큰 아키텍처의 변경 없이도 DDoS 방어에 빠르게 활용할 수 있습니다.

AWS Shield는 그 역할 및 기능에 따라 AWS Shield Standard와 AWS Shield Advanced로 구별됩니다.


    (1) AWS Shield Standard

모든 AWS 고객에게 무료로 제공되고 있는 기본적 보호 장치입니다.

가장 일반적이고 빈번하게 발생하는 웹 서비스를 대상으로 하는 네트워크 및 전송 계층의 DDoS 공격으로부터 서비스를 보호합니다.

Amazon CloudFront와 Amazon Route53를 사용하여 서비스를 구성할 경우, 알려진 모든 인프라 (계층 3 및 4) 공격으로부터 보호할 수 있습니다.


    (2) AWS Shield Advanced

Amazon CloudFront, Amazon Route53, Amazon EC2, Elastic IP, ELB, AWS Global Accelerator에서 실행되는 애플리케이션을 대상으로 하는 공격에 대해 더 높은 수준의 보호를 제공합니다.

AWS Shield Standard가 제공하는 보호 이외에, 대규모 DDoS 공격에 대한 추가 보호 및 완화, 거의 실시간으로 제공되는 CloudWatch 상의 공격 유형에 대한 지표 및 DDoS 감지 여부에 대한 지표를 통한 공격 가시성, 웹 애플리케이션 방화벽인 AWS WAF를 무료로 통합하여 제공하고 있습니다. 또한, AWS에서 DDoS 방어를 전담하는 팀인 AWS DDoS Response Team (DRT) 와 연결되어 각 리소스 별 사용자 지정 완화 정책을 제공받을 수 있습니다.

DDoS로 인하여 리소스 사용이 증가할 경우, EC2, ELB, CF, AWS Global Accelerator, Route53에 대한 요금 보호를 제공합니다. 

서비스 메뉴를 통하여 현재 보호되고 있는 리소스에 대한 정보, 현재 발생하고 있는 공격 상황과 최근의 공격 받았던 기록 등의 정보를 제공하여 DDoS에 대한 가시성을 제공합니다. 또한, 글로벌 위협 환경 대시보드를 통해 전체 AWS에서 확인되는 DDoS 위협 환경을 파악할 수 있습니다.

실제 공격 발생 시 Business Support 이상의 Support Plan을 가지고 있는 경우 AWS 내의 DDoS 대응 팀 (DRT)의 지원을 받을 수 있습니다.

Shield Advanced의 경우 최소 1년 이상의 사용 약정이 요구되지만, PoC (Proof of Concept)를 원하시는 경우, 별도의 신청 절차를 통해 2달 동안만 사용하고 구독을 취소할 수 있으며, 본사 담당자의 승인을 통해 테스트 크레딧을 지원받으실 수 있습니다.

비용구조는 기본 월 사용료 ($3,000)와 데이터 송신 사용 요금 (region 별 상이)으로 구성되어 있으며, 여러 개의 region 및 계정을 운영하고 있더라도 기본 사용료는 ($3,000) 매달 한 번만 납부하면 됩니다.

따라서, 게임 종류에 따라 AWS 계정을 여러 개 사용하고 있고 글로벌 서비스 지역에 따라 다양한 region을 사용하고 있을 경우, 데이터 송신 사용 요금 이 외 기본 월 사용료는 $3,000만 납부하면 됩니다. 또한, Shield Advanced를 통해 보호되는 리소스들에 대해서는 AWS WAF가 무료로 제공합니다.



2) AWS Web Application Firewall

AWS WAF는 API Gateway, Application Load Balancer, CloudFront의 앞에 적용할 수 있는 웹 애플리케이션 방화벽 서비스입니다. 웹 애플리케이션이나 API 서비스의 경우 DDoS 외에도 SQL injection이나 Cross Site Scripting 등 애플리케이션의 취약점에 대한 보안 공격을 많이 받습니다. 

일반적인 공격 패턴을 차단하는 보안 규칙을 제공하며, 사용자가 정의한 특정 패턴을 필터링하는 규칙을 생성할 수도 있습니다. 

AWS WAF를 사용하게 되면 Web ACL을 구성하여 규칙에 따라 요청을 허용, 혹은 거부, 아니면 매칭된 요청의 개수만 집계 처리할 수 있습니다. 규칙은 IP 주소, HTTP 헤더, HTTP 본문, URI 문자열, SQL 명령어 주입 및 교차 사이트 스크립팅 등의 조건을 활용하여 만들 수 있고, 과도한 요청을 막기 위한 속도 기반 규칙도 추가할 수 있습니다.

규칙을 직접 생성하지 않고도 사용할 수 있도록 관리형 규칙도 제공하고 있습니다. 

최근 WAF의 기능 추가를 통하여 AWS에서 제공하는 관리형 규칙을 추가하여 QWASP 10대 웹 애플리케이션 취약점에 대한 규칙과 Common Vulnerabilities and Exposure (CVE)에 대한 규칙 등을 자동으로 갱신하여 제공하고 있습니다. 또한, AWS 마켓플레이스에서 보안 전문 서드파티 업체의 관리형 규칙을 구매하여 사용할 수도 있습니다. 그 외에 사용자 지정 규칙을 추가하여 특정 국가의 요청을 거부 혹은 해당 국가의 요청만 허용할 수도 있으며, 동일 원본에서부터 일정 시간 간격에 요청 수를 제한하는 규칙을 적용할 수도 있습니다.

적용된 규칙들에 대해서는 실시간으로 지표를 허용 그리고 거부하는 내용에 대한 지표를 확인할 수 있습니다. WAF에 의해서 막히게 되는 요청의 경우에는 샘플 요청 정보를 제공하여 더욱 효과적인 필터링을 적용할 수 있습니다. 

본 서비스의 요금은 생성한 웹 접근 제어 목록 (ACL)의 수, 웹 ACL에 추가한 규칙의 수 그리고 수신한 웹 요청의 수를 기준으로 부과되며 약정의 조건은 따로 없습니다. 실제 해당 비용을 직접 계산해보실 수도 있습니다.



3) AWS Global Accelerator

AWS Global Accelerator는 AWS의 글로벌 네트워크를 통해 사용자에게 애플리케이션으로 이어진 경로를 최적화하여 TCP 및 UDP 트래픽의 성능을 개선하는 서비스입니다.

AWS Global Accelerator는 애플리케이션 엔드포인트를 단일 또는 여러 AWS 지역에 배포하고, 고정된 진입점으로 정적 IP를 제공한 후 각 엔드포인트의 상태를 모니터링하고 비정상적인 엔드포인트의 트래픽을 30초 안에 정상 엔드포인트로 리다이렉션할 수 있습니다.

또한, DDoS 방어와 관련하여 본 서비스를 사용하면 내부 ALB 및 프라이빗 EC2에 대한 엔드포인트를 노출하지 않을 수 있습니다. 대규모 DDoS 공격이 들어오더라도 AWS 글로벌 인프라를 활용한 AWS Shield 자동화 및 사용자 정의 완화 정책을 사용하여 공격을 방어할 수 있습니다. 

본 서비스의 요금은 시간당 $0.025의 기본 요금과 요청을 지원하는 AWS region(소스)과 응답이 향하는 AWS 엣지로케이션(대상)에 따라 달라지는 데이터 전송 프리미엄 요금으로 구성되어 있습니다. 


DDoS 방어에 대한 자세한 내용 및 원본 글은 아래 AWS 링크 참고 부탁드립니다.

출처:
#1 AWS 기반 게임 개발자를 위한 안내서 – 1부. DDoS 공격 방어 방법 –
https://aws.amazon.com/ko/blogs/korea/anti-ddos-for-game/?nc1=b_rp


감사합니다!

Leave a Comment