다음을 통해 공유


Azure WAF Geomatch 사용자 지정 규칙을 사용하여 네트워크 보안 강화

WAF(웹 애플리케이션 방화벽)는 유해한 공격으로부터 웹 애플리케이션을 보호하는 데 도움이 되는 중요한 도구입니다. 미리 설정된 규칙과 사용자 지정 규칙을 모두 사용하여 웹 트래픽을 필터링, 모니터링 및 중지할 수 있습니다. WAF가 들어오는 모든 요청을 확인하도록 규칙을 직접 만들 수 있습니다. 사용자 지정 규칙은 관리되는 규칙보다 우선 순위가 높으며 먼저 확인됩니다.

Azure Web Application Firewall의 가장 강력한 기능 중 하나는 Geomatch 사용자 지정 규칙입니다. 이러한 규칙을 사용하면 웹 요청을 해당 요청이 발생한 지리적 위치에 맞게 조정할 수 있습니다. 유해한 작업이 있는 것으로 알려진 특정 장소에서의 요청을 차단할 수도 있고, 비즈니스에 중요한 장소에서의 요청을 허용할 수도 있습니다. Geomatch 사용자 지정 규칙은 사용자의 위치에 따라 웹 애플리케이션에 대한 액세스를 제한함으로써 데이터 소버린 및 개인 정보 보호법을 준수하는 데 도움이 될 수도 있습니다.

불필요한 처리나 충돌을 피하기 위해 Geomatch 사용자 지정 규칙을 사용할 때 우선 순위 매개 변수를 현명하게 사용합니다. Azure WAF는 우선 순위 매개 변수에 따라 결정된 순서대로 규칙을 평가합니다. 우선 순위 매개 변수는 1~100의 숫자 값이며, 값이 낮을수록 우선 순위가 높습니다. 우선 순위는 모든 사용자 지정 규칙에서 고유해야 합니다. 웹 애플리케이션 보안을 위해 중요하거나 구체적인 규칙에는 더 높은 우선 순위를 지정하고, 덜 중요하거나 일반적인 규칙에는 낮은 우선 순위를 지정합니다. 이렇게 하면 WAF가 웹 트래픽에 가장 적절한 작업을 적용할 수 있습니다. 예를 들어, 명시적 URI 경로를 식별하는 시나리오는 가장 구체적이며 다른 형식의 패턴보다 더 높은 우선 순위 규칙을 가져야 합니다. 우선 순위가 가장 높으면 애플리케이션에서 중요한 경로를 보호하는 동시에 다른 사용자 지정 규칙 또는 관리되는 규칙 집합에서 더 많은 일반 트래픽을 평가할 수 있습니다.

항상 규칙을 프로덕션 환경에 적용하기 전에 테스트하고 성능 및 영향을 정기적으로 모니터링합니다. 이러한 모범 사례를 따르면 지오매치 사용자 지정 규칙의 기능을 사용하여 웹 애플리케이션 보안을 강화할 수 있습니다.

이 문서에서는 Azure WAF 지오매치 사용자 지정 규칙을 소개하고 Azure Portal, Bicep 및 Azure PowerShell을 사용하여 만들고 관리하는 방법을 보여 줍니다.

Geomatch 사용자 지정 규칙 패턴

Geomatch 사용자 지정 규칙을 사용하면 위험도가 높은 지역의 요청을 차단하고 신뢰할 수 있는 위치의 요청을 허용하는 등 다양한 보안 목표를 충족할 수 있습니다. 분산 서비스 거부(DDoS) 공격을 완화하는 데 효과적이며, 이는 다양한 출처에서 오는 다수의 요청으로 웹 애플리케이션을 공격하는 것을 목표로 합니다. Geomatch 사용자 지정 규칙을 사용하면 합법적인 사용자에게 액세스 권한을 부여하는 동시에 가장 많은 DDoS 트래픽을 생성하는 지역을 신속하게 찾아내 차단할 수 있습니다. 이 문서에서는 Geomatch 사용자 지정 규칙을 사용하여 Azure WAF를 최적화하는 데 사용할 수 있는 다양한 사용자 지정 규칙 패턴에 대해 알아봅니다.

시나리오 1 - "x"를 제외한 모든 국가 또는 지역의 트래픽 차단

모든 국가나 지역에서 트래픽을 차단하려는 경우 Geomatch 사용자 지정 규칙이 유용합니다. 예를 들어, 웹 애플리케이션이 미국 내 사용자에게만 서비스를 제공하는 경우 미국에서 시작되지 않은 모든 요청을 차단하는 Geomatch 사용자 지정 규칙을 만들 수 있습니다. 이 전략은 웹 애플리케이션의 공격 표면을 효과적으로 최소화하고 다른 지역에서의 무단 액세스를 차단합니다. 이 특정 기술은 이러한 트래픽 패턴을 용이하게 하기 위해 부정 조건을 채택합니다. 미국을 제외한 모든 국가 또는 지역의 트래픽을 방해하는 지오매치 사용자 지정 규칙을 만들려면 다음 포털, PowerShell 또는 Bicep 예제를 참조하세요.

Application Gateway WAF에서 사용자 지정 규칙 추가 화면을 보여 주는 스크린샷.

Front Door WAF에서 사용자 지정 규칙 추가 화면을 보여 주는 스크린샷.

참고

Azure Front Door WAF에서 SocketAddr를 일치 변수로 사용하고, RemoteAddr는 사용하지 않습니다. RemoteAddr 변수는 일반적으로 X-Forwarded-For 요청 헤더를 통해 전송되는 원래 클라이언트 IP 주소입니다. SocketAddr 변수는 WAF에서 확인하는 원본 IP 주소입니다.

시나리오 2 - URI "foo" 또는 "bar"를 대상으로 하는 "x" 및 "y"를 제외한 모든 국가 또는 지역의 트래픽 차단

두 개 이상의 특정 국가 또는 지역을 제외한 모든 국가 또는 지역에서 특정 URI를 대상으로 하는 트래픽을 차단하기 위해 Geomatch 사용자 지정 규칙을 사용해야 하는 시나리오를 생각해 보세요. 웹 애플리케이션에 미국과 캐나다의 사용자만을 위한 특정 URI 경로가 있다고 가정해 보겠습니다. 이 경우, 해당 국가나 지역에서 발생하지 않은 모든 요청을 차단하는 Geomatch 사용자 지정 규칙을 만듭니다.

이 패턴은 관리되는 규칙 집합을 통해 미국과 캐나다에서 오는 요청 페이로드를 처리하여 악성 공격을 포착하는 동시에 다른 모든 국가나 지역에서 오는 요청을 차단합니다. 이 방식을 사용하면 다른 지역에서 발생하는 원치 않는 트래픽을 방지하여 대상 그룹 고객만 웹 애플리케이션에 액세스할 수 있습니다.

잠재적인 가양성을 최소화하려면 Azure 데이터 세트의 국가 또는 지역에 아직 매핑되지 않은 IP 주소를 캡처하기 위해 목록에 국가 번호 ZZ를 포함합니다. 이 기술은 지리적 위치 유형에 대해 부정 조건을 사용하고 URI 일치에 대해 부정이 아닌 조건을 사용합니다.

미국과 캐나다를 제외한 모든 국가 또는 지역에서 지정된 URI로의 트래픽을 차단하는 지오매치 사용자 지정 규칙을 만들려면 포털, PowerShell 및 Bicep 예제를 참조하세요.

시나리오 3 - 특히 국가 또는 지역 "x"에서 트래픽 차단

Geomatch 사용자 지정 규칙을 사용하면 특정 국가나 지역의 트래픽을 차단할 수 있습니다. 예를 들어, 웹 애플리케이션이 국가 또는 지역 "x"에서 많은 악성 요청을 받는 경우 해당 국가 또는 지역에서 발생하는 모든 요청을 차단하는 Geomatch 사용자 지정 규칙을 만듭니다. 이렇게 하면 웹 애플리케이션을 잠재적인 공격으로부터 보호하고 리소스 부하를 줄일 수 있습니다. 이 패턴을 적용하면 여러 악의적이거나 적대적인 국가나 지역을 차단할 수 있습니다. 이 기술을 사용하려면 트래픽 패턴에 대한 일치 조건이 필요합니다. 국가 또는 지역 "x"의 트래픽을 차단하려면 다음 포털, PowerShell 및 Bicep 예제를 참조하세요.

애플리케이션 게이트웨이에서 사용자 지정 규칙을 추가하는 화면을 보여 주는 스크린샷.

Front Door에 사용자 지정 규칙 화면을 추가하는 모습을 보여 주는 스크린샷.

Geomatch 사용자 지정 규칙 안티 패턴

Geomatch 사용자 지정 규칙을 사용할 때 안티 패턴을 방지합니다. 예를 들어, 사용자 지정 규칙 작업을 allow 대신 block로 설정합니다. 이는 의도치 않은 결과를 초래할 수 있습니다. 예를 들어, 트래픽이 WAF를 바이패스하여 웹 애플리케이션을 다른 위협에 노출시킬 가능성이 있습니다.

allow 작업을 사용하는 대신 이전 패턴에서 보여준 것처럼 부정 조건이 있는 block 작업을 사용합니다. 이렇게 하면 원하는 국가나 지역의 트래픽만 허용되고 WAF는 다른 모든 트래픽을 차단합니다.

시나리오 4 - 국가 또는 지역 "x"에서 트래픽 허용

특정 국가나 지역의 트래픽을 허용하도록 Geomatch 사용자 지정 규칙을 설정하지 마세요. 예를 들어, 대규모 고객 기반 때문에 미국에서의 트래픽을 허용하려는 경우 작업 allow와 값 United States를 사용하여 사용자 지정 규칙을 만드는 것이 솔루션처럼 보일 수 있습니다. 그러나 이 규칙은 allow 작업이 관리되는 규칙 집합의 추가 규칙 처리를 바이패스하기 때문에 악성 페이로드가 있는지 여부에 관계없이 미국에서 발생하는 모든 트래픽을 허용합니다. 또한 WAF는 여전히 다른 모든 국가나 지역의 트래픽을 처리하여 리소스를 소모합니다. 이렇게 하면 WAF가 차단하는 미국의 악성 요청에 웹 애플리케이션이 노출됩니다.

시나리오 5 - "x"를 제외한 모든 카운티의 트래픽 허용

Geomatch 사용자 지정 규칙을 사용할 때 규칙 작업을 allow로 설정하고 제외할 국가 또는 지역 목록을 지정하지 마세요. 예를 들어, 악의적인 작업이 의심되는 모든 국가 또는 지역(미국 제외)의 트래픽을 허용하려는 경우, 이러한 방식은 의도치 않은 결과를 초래할 수 있습니다. 검증되지 않았거나 안전하지 않은 국가/지역 또는 보안 표준이 낮거나 전혀 없는 국가/지역의 트래픽을 허용하여 웹 애플리케이션을 잠재적인 취약성이나 공격에 노출시킬 수 있습니다. 미국을 제외한 모든 국가 또는 지역에 대해 allow 작업을 사용하면 WAF에서 관리되는 규칙 집합에 대한 요청 페이로드 처리를 중지하도록 지시합니다. allow가 포함된 사용자 지정 규칙이 처리되면 모든 규칙 평가가 중단되어 애플리케이션이 원치 않는 악성 공격에 노출됩니다.

대신, 차단과 같은 더 제한적이고 구체적인 규칙 작업을 사용하고, 거부 조건과 함께 허용할 국가 또는 지역 목록을 지정합니다. 이를 통해 신뢰할 수 있고 검증된 원본의 트래픽만 웹 애플리케이션에 액세스할 수 있으며, 의심스럽거나 원치 않는 트래픽은 차단됩니다.