이 문서에서는 Azure Application Gateway에서 WAF(Azure Web Application Firewall)를 사용하는 모범 사례를 요약합니다.
일반적인 모범 사례
WAF 사용하도록 설정
인터넷 연결 애플리케이션의 경우 WAF(웹 애플리케이션 방화벽)를 사용하도록 설정하고 관리되는 규칙을 사용하도록 구성하는 것이 좋습니다. WAF 및 Microsoft 관리 규칙을 사용하면 애플리케이션이 다양한 공격으로부터 보호됩니다.
WAF 정책 사용
WAF 정책은 Application Gateway WAF를 관리하기 위한 새로운 리소스 유형입니다. WAF 구성 리소스를 사용하는 이전 WAF가 있는 경우 최신 기능을 활용하려면 WAF 정책으로 마이그레이션해야 합니다.
자세한 내용은 다음 리소스를 참조하세요.
- Azure Application Gateway WAF 정책으로 업그레이드
- Azure PowerShell을 사용하여 웹 애플리케이션 방화벽 정책 업그레이드
- Azure Firewall Manager를 사용하여 Application Gateway WAF 구성을 WAF 정책으로 업그레이드
WAF 조정
WAF의 규칙은 워크로드에 맞게 조정되어야 합니다. WAF를 조정하지 않으면 허용되어야 하는 요청이 실수로 차단될 수 있습니다. 조정에는 가양성 검색을 줄이기 위해 규칙 제외를 만드는 작업이 포함될 수 있습니다.
WAF를 조정하는 동안 WAF가 일반적으로 수행하는 요청 및 작업을 기록하는 검색 모드를 사용하는 것이 좋지만 실제로 트래픽을 차단하지는 않습니다.
자세한 내용은 Azure Application Gateway용 WAF(Web Application Firewall) 문제 해결을 참조하세요.
방지 모드 사용
WAF를 튜닝한 후 방지 모드에서 실행되도록 구성해야 합니다. 방지 모드에서 실행하면 WAF가 악의적인 것으로 감지되는 요청을 실제로 차단합니다. 검색 모드에서 실행하는 것은 WAF를 조정하고 구성하는 동안 테스트 목적으로 유용하지만 보호를 제공하지 않습니다. 트래픽을 기록하지만 허용 또는 거부와 같은 작업은 수행하지 않습니다.
WAF 구성을 코드로 정의
애플리케이션 워크로드에 대해 WAF를 조정할 때 일반적으로 가양성 검색을 줄이기 위해 일련의 규칙 제외를 만듭니다. Azure Portal을 사용하여 이러한 제외를 수동으로 구성하는 경우 최신 규칙 집합 버전을 사용하도록 WAF를 업그레이드할 때 새 규칙 집합 버전에 대해 동일한 예외를 다시 구성해야 합니다. 이 프로세스는 시간이 오래 걸리고 오류가 발생하기 쉬울 수 있습니다.
대신 AZURE CLI, Azure PowerShell, Bicep 또는 Terraform을 사용하여 WAF 규칙 제외 및 기타 구성을 코드로 정의하는 것이 좋습니다. 그런 다음 WAF 규칙 집합 버전을 업데이트해야 하는 경우 동일한 제외를 쉽게 다시 사용할 수 있습니다.
관리되는 규칙 집합 모범 사례
핵심 규칙 집합 활성화
Microsoft의 핵심 규칙 집합은 일반적인 공격을 감지하고 차단하여 애플리케이션을 보호하도록 설계되었습니다. 규칙은 OWASP 상위 10개 공격 유형 및 Microsoft 위협 인텔리전스의 정보를 비롯한 다양한 원본을 기반으로 합니다.
자세한 내용은 웹 애플리케이션 방화벽 CRS 규칙 그룹 및 규칙을 참조하세요.
봇 관리 규칙 사용
봇은 웹 애플리케이션에 대한 트래픽의 상당 부분을 담당합니다. WAF의 봇 보호 규칙 집합은 봇이 좋은지, 나쁜지, 알 수 없는지에 따라 봇을 분류합니다. 그런 다음 나쁜 봇은 차단할 수 있고 검색 엔진 크롤러와 같은 좋은 봇은 애플리케이션을 통과할 수 있습니다.
자세한 내용은 Azure Application Gateway 봇 보호 개요의 Azure Web Application Firewall을 참조하세요.
최신 규칙 집합 버전 사용
Microsoft는 현재 위협 환경을 고려하여 관리 규칙을 정기적으로 업데이트합니다. Azure 관리 규칙 집합에 대한 업데이트를 정기적으로 확인해야 합니다.
자세한 내용은 웹 애플리케이션 방화벽 CRS 규칙 그룹 및 규칙을 참조하세요.
지역 필터링 모범 사례
지역 필터링 트래픽
많은 웹 애플리케이션은 특정 지역 내의 사용자를 위해 설계되었습니다. 이 상황이 애플리케이션에 적용되는 경우 트래픽을 받을 것으로 예상되는 국가/지역 외부에서 오는 요청을 차단하도록 지역 필터링을 구현하는 것이 좋습니다.
자세한 내용은 Geomatch 사용자 지정 규칙을 참조하세요.
로깅 (로그 기록)
WAF의 로그를 저장하기 위한 진단 설정 추가
Application Gateway의 WAF는 Azure Monitor와 통합됩니다. 진단 설정을 사용하도록 설정하고 WAF 로그를 Log Analytics와 같은 대상에 저장하는 것이 중요합니다. WAF 로그를 정기적으로 검토해야 합니다. 로그를 검토하면 WAF 정책을 조정하여 오탐지를 줄이고 그리고 애플리케이션이 공격의 대상이 되었는지 여부를 파악할 수 있습니다.
자세한 내용은 Azure Web Application Firewall 모니터링 및 로깅을 참조하세요.
Microsoft Sentinel에 로그 보내기
Microsoft Sentinel은 SIEM(보안 정보 및 이벤트 관리) 시스템으로, 웹 애플리케이션 및 전체 Azure 환경에 대한 위협 환경을 이해하기 위해 여러 원본에서 로그와 데이터를 가져옵니다. 인터넷 연결 속성이 분석에 포함되도록 Application Gateway의 WAF 로그를 Microsoft Sentinel 또는 다른 SIEM으로 가져와야 합니다. Microsoft Sentinel의 경우 Azure WAF 커넥터를 사용하여 WAF 로그를 쉽게 가져올 수 있습니다.
자세한 내용은 Azure 웹 애플리케이션 방화벽에서 Microsoft Sentinel 사용을 참조하세요.
다음 단계
Application Gateway에서 WAF를 사용하도록 설정하는 방법을 알아봅니다.