Azure Web Application Firewall 및 Azure Policy

Azure WAF(Web Application Firewall)를 Azure Policy와 결합하면 조직 표준을 적용하고 WAF 리소스에 대한 규정 준수를 규모에 맞게 평가할 수 있습니다. Azure Policy는 리소스별, 정책별 세분성으로 드릴다운할 수 있는 기능을 사용하여 환경의 전체 상태를 평가할 수 있는 집계된 보기를 제공하는 거버넌스 도구입니다. 또한 Azure Policy는 기존 리소스에 대한 대량 수정 및 새 리소스에 대한 자동 수정을 통해 리소스를 규정 준수 상태로 전환할 수 있습니다.

웹 애플리케이션 방화벽에 대한 Azure Policy

WAF 리소스 관리를 위한 여러 기본 제공 Azure Policy 정의가 있습니다. 정책 정의 및 해당 기능 내역은 다음과 같습니다.

WAF(Web Application Firewall) 사용

  • Azure Front Door 진입 지점에 대해 Azure Web Application Firewall을 사용해야 합니다. Azure Front Door Service는 WAF가 있는지 여부에 따라 평가됩니다. 정책 정의에는 감사, 거부, 사용 안 함이라는 세 가지 효과가 있습니다. 감사는 Azure Front Door Service에 WAF가 없을 때 추적하며 Azure Front Door Service에서 준수하지 않는 사항을 사용자가 볼 수 있도록 합니다. 거부는 WAF가 연결되지 않은 경우 Azure Front Door Service를 만들지 못하도록 합니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

  • Application Gateway에 WAF(Web Application Firewall)를 사용해야 합니다. Application Gateway는 리소스를 만들 때 WAF가 있는 경우에 평가됩니다. 정책 정의에는 감사, 거부, 사용 안 함이라는 세 가지 효과가 있습니다. 감사는 Application Gateway에 WAF가 없을 때 추적하며 Application Gateway에서 준수하지 않는 사항을 사용자가 볼 수 있도록 합니다. 거부는 WAF가 연결되지 않은 경우 Application Gateway를 만들지 못하도록 합니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

위임 탐지 또는 방지 모드

  • WAF(Web Application Firewall)는 Azure Front Door 서비스에 대해 지정된 모드를 사용해야 합니다: Azure Front Door 서비스에 대한 모든 Web Application Firewall 정책에서 '검색' 또는 '방지' 모드의 사용을 활성으로 지시합니다. 정책 정의에는 감사, 거부, 사용 안 함이라는 세 가지 효과가 있습니다. 감사는 WAF가 지정된 모드에 맞지 않을 때 추적합니다. 거부는 올바른 모드가 아닌 경우 WAF를 만들지 못하도록 합니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

  • WAF(Web Application Firewall)는 Application Gateway에 대해 지정된 모드를 사용해야 합니다: Application Gateway에 대한 모든 Web Application Firewall 정책에서 '검색' 또는 '방지' 모드의 사용을 활성으로 지시합니다. 정책 정의에는 감사, 거부, 사용 안 함이라는 세 가지 효과가 있습니다. 감사는 WAF가 지정된 모드에 맞지 않을 때 추적합니다. 거부는 올바른 모드가 아닌 경우 WAF를 만들지 못하도록 합니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

요청 검사 필요

  • Azure Front Door의 Azure Web Application Firewall에 요청 본문 검사를 사용해야 합니다. Azure Front Door와 연결된 웹 애플리케이션 방화벽에 요청 본문 검사를 사용하도록 설정되어 있는지 확인합니다. 이 기능을 사용하면 WAF가 HTTP 헤더, 쿠키 또는 URI에서 평가되지 않을 수 있는 HTTP 본문 내의 속성을 검사할 수 있습니다.

  • Azure Application Gateway의 Azure Web Application Firewall에 요청 본문 검사를 사용해야 합니다. Azure Application Gateway에 연결된 웹 애플리케이션 방화벽에 요청 본문 검사를 사용하도록 설정되어 있는지 확인합니다. 이 기능을 사용하면 WAF가 HTTP 헤더, 쿠키 또는 URI에서 평가되지 않을 수 있는 HTTP 본문 내의 속성을 검사할 수 있습니다.

리소스 로그 필요

  • Azure Front Door는 리소스 로그를 사용하도록 설정해야 합니다. WAF를 포함하여 Azure Front Door Service에서 리소스 로그 및 메트릭을 사용하도록 설정해야 합니다. 정책 정의에는 AuditIfNotExists 및 Disable이라는 두 가지 효과가 있습니다. AuditIfNotExists는 Front Door 서비스에 리소스 로그가 없고, 메트릭을 사용하도록 설정하지 않은 경우 추적하고 서비스가 규정을 준수하지 않음을 사용자에게 알립니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

  • Azure Front Door 표준 또는 프리미엄(WAF 추가)에 리소스 로그를 사용하도록 설정해야 합니다. WAF를 포함한 Azure Front Door 표준 및 프리미엄 서비스에서 리소스 로그 및 메트릭을 사용하도록 설정해야 합니다. 정책 정의에는 AuditIfNotExists 및 Disable이라는 두 가지 효과가 있습니다. AuditIfNotExists는 Front Door 서비스에 리소스 로그가 없고, 메트릭을 사용하도록 설정하지 않은 경우 추적하고 서비스가 규정을 준수하지 않음을 사용자에게 알립니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

  • Azure Application Gateway는 리소스 로그를 사용하도록 설정해야 함: WAF를 포함한 모든 Application Gateway에서 리소스 로그 및 메트릭을 사용하도록 설정해야 합니다. 정책 정의에는 AuditIfNotExists 및 Disable이라는 두 가지 효과가 있습니다. AuditIfNotExists는 Application Gateway에 리소스 로그가 없고, 메트릭이 사용하도록 설정되지 않은 경우 추적하고 Application Gateway가 규정을 준수하지 않음을 사용자에게 알립니다. 사용 안 함으로 설정하면 정책 할당을 끕니다.

  • Azure Front Door 프로필은 관리형 WAF 규칙 및 프라이빗 링크를 지원하는 프리미엄 계층을 사용해야 합니다. 모든 Azure Front Door 프로필은 표준 계층이 아닌 프리미엄 계층에 있어야 합니다. Azure Front Door 프리미엄은 보안에 최적화되어 있으며 봇 보호와 같은 최신 WAF 규칙 집합 및 기능에 대한 액세스 권한을 제공합니다.

  • 속도 제한 규칙을 사용하여 Azure Front Door WAF의 DDoS 공격으로부터 보호합니다. 속도 제한을 통해 DDoS 공격으로부터 애플리케이션을 보호할 수 있습니다. Azure Front Door에 대한 Azure WAF(Web Application Firewall) 속도 제한 규칙을 사용하면 속도 제한 기간 동안 특정 클라이언트 IP 주소에서 애플리케이션으로 허용되는 요청 수를 제어하여 DDoS 공격으로부터 보호할 수 있습니다.

  • Application Gateway의 WAF 구성에서 WAF 정책으로 WAF 마이그레이션합니다. WAF 정책 대신 WAF 구성이 있는 경우 새 WAF 정책으로 이동하는 것이 좋습니다. WAF(Web Application Firewall) 정책은 WAF 구성을 통해 다양한 고급 기능 집합을 제공하고, 더 큰 규모와 향상된 성능을 제공하며, 레거시 WAF 구성과 달리 WAF 정책을 한 번 정의하고 여러 게이트웨이, 수신기, URL 경로에서 공유할 수 있습니다. 앞으로 최신 기능 및 향후 개선 사항은 WAF 정책을 통해서만 제공됩니다.

Azure Policy 만들기

  1. Azure 홈페이지의 검색창에 정책을 입력하고 Azure Policy 아이콘을 클릭합니다.

  2. Azure Policy 서비스의 작성에서 할당을 선택합니다.

Screenshot of Assignments tab within Azure Policy.

  1. 할당 페이지 상단에 있는 정책 할당 아이콘을 선택합니다.

Screenshot of Basics tab on the Assign Policy page.

  1. 정책 할당 페이지의 기본 탭에서 다음 필드를 업데이트합니다.
    1. 범위: 정책이 적용되는 Azure 구독 및 리소스 그룹을 선택합니다.
    2. 제외 사항: 정책 할당에서 제외할 범위에서 리소스를 선택합니다.
    3. 정책 정의: 제외된 범위에 적용할 정책 정의를 선택합니다. 관련 웹 애플리케이션 방화벽 Azure Policy를 선택하려면 검색 창에 “웹 애플리케이션 방화벽”을 입력합니다.

Screenshot that shows the 'Policy Definitions' tab on the 'Available Definitions' page.

  1. 매개 변수 탭을 선택하고 정책 할당 매개 변수를 업데이트합니다. 매개 변수의 기능을 자세히 알아보려면 매개 변수 이름 옆의 정보 아이콘 위로 마우스를 가리켜 자세한 설명을 확인합니다.

  2. 검토 + 만들기를 선택하여 정책 할당을 마무리합니다. 정책 할당이 새 리소스에 대해 활성화되는 데 약 15분이 걸립니다.