Azure Front Door에 대한 지역 필터링 WAF 정책 설정

이 자습서에서는 Azure PowerShell을 사용하여 간단한 지역 필터링 정책을 만들고 기존 Azure Front Door 프런트 엔드 호스트에 연결하는 방법을 알아봅니다. 이 샘플 지역 필터링 정책은 미국을 제외한 모든 국가 또는 지역으로부터의 요청을 차단합니다.

Azure 구독이 없는 경우 무료 계정을 지금 만드세요.

필수 조건

지역 필터링 정책을 설정하기 전에 PowerShell 환경을 설정하고 Azure Front Door 프로필을 만듭니다.

PowerShell 환경 설정

Azure PowerShell은 Azure 리소스를 관리하기 위해 Azure Resource Manager 모델을 사용하는 cmdlet 집합을 제공합니다.

로컬 머신에 Azure PowerShell 설치하고 모든 PowerShell 세션에서 사용할 수 있습니다. 페이지의 지침에 따라 Azure 자격 증명으로 로그인합니다. 그런 다음, Az PowerShell 모듈을 설치합니다.

로그인용 대화형 대화 상자를 사용하여 Azure에 연결

Install-Module -Name Az
Connect-AzAccount

현재 버전의 PowerShellGet이 설치되어 있는지 확인합니다. 다음 명령을 실행하고 PowerShell을 다시 엽니다.

Install-Module PowerShellGet -Force -AllowClobber

Az.FrontDoor 모듈 설치

Install-Module -Name Az.FrontDoor

Azure Front Door 프로필 만들기

빠른 시작: Azure Front Door 프로필 만들기에 설명된 지침에 따라 Azure Front Door 프로필을 만듭니다.

지역 필터링 일치 조건 정의

일치 조건을 만들 때 매개 변수에 New-AzFrontDoorWafMatchConditionObject를 사용하여 "US"에서 오지 않는 요청을 선택하는 샘플 일치 조건을 만듭니다.

국가 또는 지역 매핑에 대한 두 문자 국가 또는 지역 코드는 Azure Front Door용 도메인의 지역 필터링이란?에서 제공됩니다.

$nonUSGeoMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty GeoMatch `
-NegateCondition $true `
-MatchValue "US"

작업 및 우선 순위를 통해 지역 필터링 일치 조건을 규칙에 추가

New-AzFrontDoorWafCustomRuleObject를 사용하여 일치 조건, 작업, 우선 순위에 따라 CustomRule 개체(nonUSBlockRule)를 만듭니다. 사용자 지정 규칙에는 여러 일치 조건이 있을 수 있습니다. 이 예제에서는 ActionBlock으로 설정됩니다. Priority는 가장 높은 우선 순위인 1로 설정됩니다.

$nonUSBlockRule = New-AzFrontDoorWafCustomRuleObject `
-Name "geoFilterRule" `
-RuleType MatchRule `
-MatchCondition $nonUSGeoMatchCondition `
-Action Block `
-Priority 1

정책에 규칙 추가

Get-AzResourceGroup을 사용하여 Azure Front Door 프로필이 포함된 리소스 그룹의 이름을 찾습니다. 다음으로, Azure Front Door 프로필을 포함하는 지정된 리소스 그룹에서 New-AzFrontDoorWafPolicy를 사용하여 nonUSBlockRule을 포함하는geoPolicy 개체를 만듭니다. 지역 정책에 고유한 이름을 제공해야 합니다.

다음 예제에서는 빠른 시작: Azure Front Door 만들기에 제공된 지침을 사용하여 Azure Front Door 프로필을 만들었다는 가정하에 리소스 그룹 이름 myResourceGroupFD1을 사용합니다. 다음 예제에서는 정책 이름 geoPolicyAllowUSOnly를 고유한 정책 이름으로 바꿉니다.

$geoPolicy = New-AzFrontDoorWafPolicy `
-Name "geoPolicyAllowUSOnly" `
-resourceGroupName myResourceGroupFD1 `
-Customrule $nonUSBlockRule  `
-Mode Prevention `
-EnabledState Enabled

WAF 정책 개체를 기존 Azure Front Door 프런트 엔드 호스트에 연결합니다. Azure Front Door 속성을 업데이트합니다.

이렇게 하려면 먼저 Get-AzFrontDoor를 사용하여 Azure Front Door 개체를 검색합니다.

$geoFrontDoorObjectExample = Get-AzFrontDoor -ResourceGroupName myResourceGroupFD1
$geoFrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $geoPolicy.Id

다음으로, Set-AzFrontDoor를 사용하여 프런트 엔드 WebApplicationFirewallPolicyLink 속성을 지역 정책의 리소스 ID로 설정합니다.

Set-AzFrontDoor -InputObject $geoFrontDoorObjectExample[0]

참고 항목

WAF 정책을 Azure Front Door 프런트 엔드 호스트에 연결하려면 WebApplicationFirewallPolicyLink 속성을 한 번만 설정하면 됩니다. 이후의 정책 업데이트는 프런트 엔드 호스트에 자동으로 적용됩니다.

다음 단계