Azure Front Door의 Azure Web Application Firewall 모범 사례

이 문서에서는 Azure Front Door의 Azure Web Application Firewall을 사용하는 모범 사례를 간략히 설명합니다.

일반적인 모범 사례

이 섹션에서는 일반적인 모범 사례를 설명합니다.

WAF 사용하도록 설정

인터넷 연결 애플리케이션의 경우 WAF(웹 애플리케이션 방화벽)를 사용하도록 설정하고 관리형 규칙을 사용하도록 구성하는 것이 좋습니다. WAF 및 Microsoft 관리 규칙을 사용하면 애플리케이션이 다양한 공격으로부터 보호됩니다.

WAF 조정

WAF의 규칙은 워크로드에 맞게 조정되어야 합니다. WAF를 조정하지 않으면 허용되어야 하는 요청이 실수로 차단될 수 있습니다. 조정에는 가양성 검색을 줄이기 위해 규칙 제외를 만드는 작업이 포함될 수 있습니다.

WAF를 튜닝하는 동안에는 탐지 모드를 사용하는 것이 좋습니다. 이 모드는 WAF가 일반적으로 수행하는 요청 및 작업을 로그하지만 실제로 트래픽을 차단하지는 않습니다.

자세한 내용은 Azure Front Door의 Azure Web Application Firewall 튜닝을 참조하세요.

방지 모드 사용

WAF를 튜닝한 후에는 방지 모드에서 실행하도록 구성합니다. 방지 모드에서 실행하면 WAF가 악성으로 탐지한 요청을 차단하는지 확인할 수 있습니다. WAF를 튜닝하고 구성하는 동안에는 탐지 모드로 실행하는 것이 유용하지만 보호 기능은 없습니다.

WAF 구성을 코드로 정의

애플리케이션 워크로드에 대해 WAF를 조정할 때 일반적으로 가양성 검색을 줄이기 위해 일련의 규칙 제외를 만듭니다. Azure Portal을 사용하여 이러한 제외를 수동으로 구성하는 경우, 최신 규칙 집합 버전을 사용하도록 WAF를 업그레이드할 때 새 규칙 집합 버전에 대해 동일한 예외를 다시 구성해야 합니다. 이 프로세스는 시간이 많이 걸리고 오류가 발생하기 쉽습니다.

대신 Azure CLI, Azure PowerShell, Bicep 또는 Terraform을 사용하여 WAF 규칙 제외 및 기타 구성을 코드로 정의하는 것이 좋습니다. WAF 규칙 집합 버전을 업데이트해야 할 때 동일한 제외를 손쉽게 재사용할 수 있습니다.

관리형 규칙 집합 모범 사례

이 섹션에서는 규칙 집합의 모범 사례를 설명합니다.

기본 규칙 집합 사용

Microsoft의 기본 규칙 집합은 일반적인 공격을 검색하고 차단하여 애플리케이션을 보호하도록 설계되었습니다. 규칙은 OWASP 상위 10개 공격 형식 및 Microsoft 위협 인텔리전스의 정보를 비롯한 다양한 원본을 기반으로 합니다.

자세한 내용은 Azure Managed 규칙 집합을 참조하세요.

봇 관리 규칙 사용

봇은 웹 애플리케이션에 대한 트래픽의 상당 부분을 담당합니다. WAF의 봇 보호 규칙 집합은 봇이 좋은지, 나쁜지, 알 수 없는지에 따라 봇을 분류합니다. 그런 다음 나쁜 봇은 차단할 수 있고 검색 엔진 크롤러와 같은 좋은 봇은 애플리케이션을 통과할 수 있습니다.

자세한 내용은 봇 보호 규칙 집합을 참조하세요.

최신 규칙 집합 버전 사용

Microsoft는 현재 위협 환경을 고려하여 관리 규칙을 정기적으로 업데이트합니다. Azure 관리 규칙 집합에 대한 업데이트를 정기적으로 확인해야 합니다.

자세한 내용은 Azure Web Application Firewall DRS 규칙 그룹 및 규칙을 참조하세요.

속도 제한 모범 사례

이 섹션에서는 속도 제한의 모범 사례를 설명합니다.

속도 제한 추가

Azure Front Door WAF를 사용하면 일정 기간 동안 각 클라이언트의 IP 주소에서 허용되는 요청 수를 제어할 수 있습니다. Retry Storm과 같이 클라이언트가 실수로 또는 의도적으로 많은 양의 트래픽을 서비스에 보내는 영향을 줄이기 위해 속도 제한을 추가하는 것이 좋습니다.

자세한 내용은 다음 리소스를 참조하세요.

속도 제한에 높은 임계값 사용

일반적으로 속도 제한 임계값은 높게 설정하는 것이 좋습니다. 예를 들어 단일 클라이언트 IP 주소가 1분에 약 10개의 요청을 서버로 보낼 수 있다는 것을 알고 있다면 분당 20개의 요청 임계값을 지정하는 것이 좋습니다.

속도 제한 임계값이 높으면 합법적인 트래픽을 차단하지 않습니다. 이러한 임계값은 계속 인프라를 압도할 수 있는 매우 많은 수의 요청에 대한 보호를 제공합니다.

지역 필터링 모범 사례

이 섹션에서는 지역 필터링의 모범 사례를 설명합니다.

지역 필터링 트래픽

많은 웹 애플리케이션은 특정 지역 내의 사용자를 위해 설계되었습니다. 이러한 상황이 애플리케이션에 적용되는 경우 지역 필터링을 구현하여 트래픽을 수신할 것으로 예상되는 국가 또는 지역 외부에서 들어오는 요청을 차단하는 것이 좋습니다.

자세한 내용은 Azure Front Door용 도메인의 지역 필터링이란?을 참조하세요.

알 수 없는(ZZ) 위치 지정

일부 IP 주소는 데이터 세트의 위치에 매핑되지 않습니다. IP 주소를 위치에 매핑할 수 없는 경우 WAF는 알 수 없는(ZZ) 국가 또는 지역에 트래픽을 할당합니다. 이러한 IP 주소의 유효한 요청을 차단하지 않으려면 지역 필터링을 통해 알 수 없는(ZZ) 국가 또는 지역을 허용하는 것이 좋습니다.

자세한 내용은 Azure Front Door용 도메인의 지역 필터링이란?을 참조하세요.

로깅

이 섹션에서는 로깅을 설명합니다.

WAF의 로그를 저장하기 위한 진단 설정 추가

Azure Front Door WAF는 Azure Monitor와 통합됩니다. WAF 로그를 Log Analytics와 같은 대상에 저장하는 것이 중요합니다. WAF 로그를 정기적으로 검토해야 합니다. 로그를 검토하면 가양성을 줄이기 위해 WAF 정책을 튜닝하고 애플리케이션이 공격 대상이 되었는지 여부를 파악할 수 있습니다.

자세한 내용은 Azure Web Application Firewall 모니터링 및 로깅을 참조하세요.

Microsoft Sentinel에 로그 보내기

Microsoft Sentinel은 SIEM(보안 정보 및 이벤트 관리) 시스템으로, 웹 애플리케이션 및 전체 Azure 환경에 대한 위협 환경을 이해하기 위해 여러 원본에서 로그와 데이터를 가져옵니다. Azure Front Door WAF 로그는 인터넷 연결 속성이 분석에 포함되도록 Microsoft Sentinel 또는 다른 SIEM으로 가져와야 합니다. Microsoft Sentinel의 경우 Azure WAF 커넥터를 사용하여 WAF 로그를 쉽게 가져올 수 있습니다.

자세한 내용은 Azure Web Application Firewall과 함께 Microsoft Sentinel 사용을 참조하세요.

다음 단계

Azure Front Door WAF 정책을 만드는 방법을 알아봅니다.