오늘은 새롭게 출시된 AWS WAF Version 2 에서 제공하는 새로운 기능들과 기존 AWS WAF(Classic) 대비 개선된 사항들에 대해 살펴보도록 하겠습니다.
기존에 제공되던 AWS WAF 는 AWS WAF Classic 이라는 이름으로 이름이 변경되었고 새롭게 소개되는 AWS WAF Version 2 가 AWS WAF 이름을 갖게 되었습니다.(편의상 WAFv2 라고 부르도록 하겠습니다.) AWS WAF Classic 과 AWS WAFv2 는 모두 AWS 에서 제공하는 WAF 서비스이지만 서로 별개의 서비스이며 독립적으로 동작합니다. 즉, WAF Classic 에서 생성한 Rule 을 WAFv2 에서 활용하는 등의 상호 연관된 작업은 수행할 수 없습니다.
그리고 이 문서를 작성하는 시점(2020년 1월 7일) 기준으로 WAF Classic 의 WebACL 이나 Rule 등을 WAFv2 로 Migration 하는 자동화된 도구는 아직 제공되지 않습니다. 따라서, 기존의 WAF Classic 을 사용하는 고객이 WAFv2 를 사용하고자 한다면 사용하고 있는 WAF Classic 의 정책을 수기로 정리한 후 WAFv2 에 새롭게 Rule 들을 만들어야 합니다.
다음은 WAFv2 가 제공하는 새로운 기능들과 기존 WAF Classic 대비 장점들입니다.
1. WAF Rule 에서 “OR” 연산이 가능합니다.
WAF Classic 에서는 Rule 을 생성할 때 이미 만들어져있는 Condition 을 조합하여 사용할 수 있었습니다. 하지만 이 Condition 의 조합에서 “AND” 조건만 사용이 가능하였는데요. WAFv2 에서는 “AND” 조건 뿐만 아니라 “OR” 조건도 사용이 가능합니다.
아래는 WAF Classic 과 WAFv2 의 Rule 생성화면들입니다.
2. 2개 이상의 Text Transformation 설정을 적용할 수 있습니다.
WAF Classic 에서는 Condition 을 생성할 때 하나의 Transformation 옵션만을 사용할 수 있었습니다. 하지만 WAFv2 에서는 최대 3개까지의 Text Transformation 설정을 적용할 수 있습니다.
3. Full Range 의 CIDR Range 설정이 가능해졌습니다.
WAF Classic 에서는 IP Set 을 설정할 때 /8 비트부터 /32 비트 까지의 서브넷 범위만 설정 가능하였지만 WAFv2 에서는 /1 부터 /32 까지 가능하도록 변경되었습니다.
4. WAF Capacity Unit(WCU) 의 사용
WAF Classic 에서는 하나의 WebACL 에 적용 가능한 Rule 의 갯수가 10개로 제한이 되어 있었습니다. 따라서 Rule 의 갯수 10개를 기준으로 WebACL 을 생성하여야 하였습니다. WAFv2 에서는 Rule 갯수의 제한이 사라졌으며 대신 WAF Capacity Unit(WCU)이라는 개념을 기준으로 WebACL 에 적용가능한 최대 Rule 을 계산합니다. WCU 는 1,500 이라는 Soft Limit 값을 가지며 1,500WCU 이상의 Rule 설정이 필요한 경우 Support Team 에 Limit 증가를 요청하실 수 있습니다.
5. JSON 포맷을 이용한 Rule 생성
WAFv2 에서는 JSON 포맷을 이용한 Rule 생성이 가능합니다.
6. AWS 에서 제공하는 관리형 Rule 을 사용하실 수 있습니다.
WAF Classic 에서는 AWS 의 보안 파트너사에서 제공하는 Managed Rule 만 사용이 가능했었지만 WAFv2 에서는 보안 파트너사에서 제공하는 Managed Rule 이외에 AWS 에서 제공하는 Managed Rule 의 사용이 가능합니다. AWS Managed Rule 은 별도록 구독 비용이 청구되지 않으며 WebACL 에 Rule 을 할당하게 되면 Managed Rule 에 따라 WCU 를 소진하게 됩니다.
7. 새로운 Management Console 화면
WAFv2 는 WAF Classic 과는 다른 별도의 Management Console 화면을 이용하여 사용하실 수 있습니다. WAFv2 와 WAF Classic 의 화면은 switch 링크를 통해서 전환 가능합니다.
8. CloudFormation 의 Full Support
WAFv2 는 WAFv2 에서 제공하는 모든 기능을 CloudFormation 에서 사용가능하도록 지원하고 있습니다.
9. Rule 별 CloudWatch Metric 의 자동 생성
WAFv2 는 WebACL 을 생성할 때 해당 WebACL 과 관련한 CloudWatch Metric 을 자동으로 생성합니다. 생성되는 CloudWatch Metric 의 이름은 기본적으로 WebACL 이름과 동일하며 필요한 경우 수정이 가능합니다.
주의. AWS Marketplace 의 사용
WAF Classic 과 WAFv2 는 개별적으로 동작하는 WAF 입니다. 따라서, WAF Classic 에서 Managed Rule 을 구독하여 사용하고 계시더라도 해당 Managed Rule 을 WAFv2 에서 사용하실 수는 없습니다. WAF Classic 에서 Managed Rule 이 필요하다면 WAF Classic 에서 구독후 사용이 가능하며 WAFv2 에서는 WAFv2 에서 제공하는 Marketplace 에서 별도로 구독 후 Managed Rule 사용하여야 합니다.
감사합니다.!