[레포트]AWS WAF를 이용한 부정 행위 방지 핸즈온 #NET308-R1 #AWSreInvent

2023.12.17

안녕하세요, 클래스메소드의 서은우 입니다.

현지에서 참가 중인 AWS re:Invent 2023의 "Get hands-on with fraud prevention using AWS WAF" 세션을 듣고 그 내용을 블로그를 통해 소개하고자합니다.

본 세션은 핸즈온 형식의 세션으로, 주어지는 샘플 시나리오에 대해 직접 AWS WAF를 사용해 볼 수 있었습니다.

개요

오늘날의 경쟁적인 디지털 환경에서 고객의 신뢰를 얻고 유지하는 것은 경쟁 우위를 확보하는 데 핵심입니다. 그러나 사이트에서 생성된 모든 로그인 활동과 계정이 봇이 아닌 실제 사용자의 것임을 어떻게 보장할 수 있습니까? 이 워크샵에서는 유니콘 렌탈이 AWS WAF 및 아마존 클라우드프론트를 사용하여 모범 사례를 사용하여 사기 방지 제어를 구현하도록 지원합니다. 모니터링 및 로그 분석을 통해 통찰력을 얻고 이것이 광범위한 봇 제어 환경과 어떻게 연결되는지 이해하십시오. 참여하려면 노트북을 가져와야 합니다.

SPEAKERS

  • Diana Alvarado
  • Manuel Pata

핸즈온을 통해 배울 내용

  • AWS WAF 기본 보호 설정
  • AWS WAF Fraud Control 구성 및 사용 방법
  • 이 규칙을 조정하기 위해 로그를 탐색하는 방법
  • Web ACL을 모니터링하고 비용을 최적화하는 방법

세션 내용

AWS WAF 와 AWS WAF Fraud Control의 대해서

Threat landscape

여러가지 공격과 위협들은 크게 4가지 형태로 나눌 수 있습니다.

  • Denial of service(Dos 공격, 서비스 거부)
    • SYN floods, Reflection attacks, Web request floods
  • App vulnerabilities(앱 취약점)
    • SQL injection, Cross-site scripting (XSS), OWASP top 10, Common Vulnerabilities and Exposures (CVE)
  • Good bots(크롤링과 같은 봇들)
    • Search engine crawling, Website health monitoring, Vulnerability scanning
  • Bad bots(웹 사이트, 블로그 등에서의 나쁜 활동을 하는 봇들)
    • Comment spam, SEO spam, Fraud, Account takeover

Impact from threats

또한 이러한 위협들은 많은 영향을 끼치게 됩니다.

만약 인프라스트럭처에 대해 공격을 당하게 된다면, 인프라에 대한 비용이 증가하고, 다운 타임이나 불안정성이 발생할 수 있습니다. 또한, 어플리케이션이 공격받을 경우, 데이터가 유출이나 자격증명의 손상, 재정적인 부분까지 부정적인 영향을 끼치게 됩니다.

때문에 유저들은 이같은 위협에 대응하기 위해 보안 대책을 세우고 적용해야합니다.

Amazon Cloudfront security protections

Amazon CloudFront에 대해 손 쉽게 보안을 강화할 수 있는 기능이 있습니다. 클릭 한 번으로 손 쉽게 CloudFront에 AWS WAF 설정을 배포할 수 있으며, 여러 가지 룰의 대해서 제안받을 수 있기 때문에 유저 친화적인 옵션을 적용할 때 매우 유용한 기능이 될 것입니다.

Common Attacks

AWS WAF는 이러한 일반적인 공격들에 대해 방어할 수 있는 기능들이 있습니다.

  • AWS WAF Bot Control: 봇 공격, 각종 DDoS 공격
  • AWS WAF Fraud Control: 계정 탈취, 가짜 계정 작성 등 사기(Fraud) 공격
  • Core AWS WAF rules: OWASP top 10과 같은 어플리케이션 레벨의 공격

일반적인 웹 어플리케이션에 AWS WAF를 이용하는 경우 다음과 같은 아키텍처를 구성할수 있습니다.

트래픽들은 앞단의 WAF를 먼저 통과해야 CloudFront 혹은 ALB에 도달할 수 있습니다. (사진의 아키텍처는 CloudFront와 ALB, 각각 따로따로 WAF를 설정해 두었지만, AWS WAF + CloudFront + ALB와 같은 구성도 가능합니다.)

서버리스 어플리케이션의 경우도 마찬가지로 트래픽들은 WAF를 통과한 후 서버리스 서비스에 도달할 수 있습니다.

AWS Managed Rules (AMRs): Three options

WAF에는 트래픽을 검사하는 방법과 어떻게 트래픽을 처리할 것인지를 정의하는 규칙(Rule)들이 있으며, 다른 제공자에 의해 사전에 정의되고 제공되어지는 규칙들을 AWS Managed Rule 이라고 합니다.

AWS Managed Rule에는 3가지 옵션을 사용할 수 있습니다.

  • AWS WAF Free Rules
    • AWS에서 제공하는 무료 룰, IP reputation list, Core rule set, Known bad inputs + 5 others 과 같은 룰 사용 가능
  • AWS WAF Paid Rules
    • AWS에서 제공하는 유료 룰, 봇 컨트롤, Account takeover prevention, Account creation fraud prevention 과 같은 룰 사용 가능
  • AWS WAF Partner Paid Rules
    • AWS 파트너들이 제공하는 유료 룰, F5 managed rule groups, Fortinet managed rule groups 등등 사용 가능

How AWS WAF works

AWS WAF가 어떻게 동작하는지 간단하게 설명을 들을 수 있었습니다.

외부로 부터의 요청은 WAF webACL의 규칙에 정의 되어 있는 내용에 의해 검사되어 지고 처리되어 집니다. 그리고 이와 같은 내용들은 로그로 남겨져 CloudWatch logs나 WAF의 콘솔 화면에서 확인할 수 있습니다.

그리고 CloudWatch Logs Insights 를 통해 로그들을 분석할 수 있습니다.

What's new with AWS WAF

AWS WAF에는 다음과 같은 새로운 기능들이 추가되었습니다. 이러한 기능들을 사용자들은 유용하게 사용할 수 있으며, 더 나은 WAF 이용 경험을 제공합니다.

  • 복합 키를 사용하는 고급 속도 기반 규칙
  • 대상 봇에 대한 예측 머신 러닝
  • Amazon CloudFront 원클릭 보안 보호
  • AWS WAF 및 Amazon Cloud Front용 대시보드

워크숍 진행

아키텍처

워크숍에서 사용한 아키텍처는 다음과 같습니다.

Cloudfront로 오는 트래픽은 AWS WAF의 Account takeover Prevention 와 Account creation fraud prevention 룰에 의해 악의적인 트래픽인지 아닌지 검사를 받습니다.

그리고 Cloud Watch Logs를 통해 AWS WAF의 로그를 저장하고 분석할 수 있습니다.

워크숍을 통해 직접 다뤄 본 기능

※ 워크숍의 구체적인 내용의 대해서는 블로그에 작성할 수 없는 점 이해부탁드립니다.

워크숍에서는 다음과 같은 AWS WAF 기능들을 사용할 수 있었습니다.

AWS paid Managed Rules

유료 AWS 관리 룰을 직접 설정하고 테스트해 볼 수 있었습니다.

  • Account Creation Fraud Prevention
  • Account Takeover Prevention

Cloudfront 통합 보안 대시보드

지난 2023년 11월 10일에 릴리즈 되었던 Cloudfront 통합 보안 대시보드를 사용할 수 있었습니다. 정말 간단하게 CloudFront에 AWS WAF를 설정하고 관리하는 것이 가능했습니다.

CloudWatch Logs Insights를 이용한 로그 분석

수집한 WAF 로그를 CloudWatch Logs Insights를 통해 분석해볼 수 있었습니다. 로그를 분석하기 위해 Athena 와 같은 서비스를 이용하지 않고도 편리하게 로그를 분석할 수 있는 점이 좋았습니다.

감상

핸즈온의 가장 좋은 점은 평소에 자주 만지기 힘든 서비스를 직접 다뤄볼 수 있다는 점이라고 생각합니다.

AWS WAF의 경우에도 개인 환경에서 테스트를 해보거나 제대로 다뤄보기가 조금은 힘든 서비스 중 하나라고 생각하는데요, 특히 이번 핸즈온을 통해 Cloudfrornt의 새로운 기능인 Security dashbaord 를 직접 경험할 수 있었고 유료 AWS 관리 규칙들을 사용해 볼 수 있었던 점이 좋았습니다.