Azure Proactive Resiliency Library v2
Tools Glossary GitHub GitHub Issues Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

profiles

Summary

RecommendationImpactCategoryAutomation AvailablePG Verified
Traffic Manager と Front Door の組み合わせを避けるHighBusiness ContinuityYesVerified
オリジンへのトラフィックを制限するHighSecurityNoVerified
最新の API バージョンと SDK バージョンを使用するMediumScalabilityNoVerified
ログを構成するMediumMonitoring and AlertingNoVerified
エンドツーエンド TLS を使用するHighSecurityYesVerified
HTTP から HTTPS へのリダイレクトを使用するHighSecurityYesVerified
マネージド TLS 証明書を使用するHighSecurityNoVerified
顧客管理の証明書には最新バージョンを使用してくださいMediumHigh AvailabilityNoVerified
Front Door とオリジンで同じドメイン名を使用するMediumGovernanceNoVerified
WAFを有効にするMediumSecurityYesVerified
オリジン グループにオリジンが 1 つしかない場合、正常性プローブを無効にするLowHigh AvailabilityYesVerified
健全性プローブのエンドポイントを選択するMediumHigh AvailabilityNoVerified
HEAD ヘルス プローブを使用するMediumScalabilityNoVerified
Azure Front Door で geo フィルタリングを使用するMediumSecurityNoVerified
Azure Front Door のプライベート リンクでオリジンを保護するMediumSecurityNoVerified

Details


Traffic Manager と Front Door の組み合わせを避ける

Impact:  High Category:  Business Continuity PG Verified:  Verified

Description:

ほとんどのソリューションでは、コンテンツ キャッシュ、CDN、TLS 終端、WAF には Azure Front Door を、単純なグローバル負荷分散には Traffic Manager を選択します。

Potential Benefits:

Optimized network routing and security
Learn More:
Azure Load Balancing Options
Azure Traffic Manager
Azure Front Door
Mission-critical global content delivery

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Avoid combining Traffic Manager and Front Door
resources
| where type == "microsoft.network/trafficmanagerprofiles"
| mvexpand(properties.endpoints)
| extend endpoint=tostring(properties_endpoints.properties.target)
| project name, trafficmanager=id, matchname=endpoint, tags
| join (
    resources
    | where type =~ "microsoft.cdn/profiles/afdendpoints"
    | extend matchname= tostring(properties.hostName)
    | extend splitid=split(id, "/")
    | extend frontdoorid=tolower(strcat_array(array_slice(splitid, 0, 8), "/"))
    | project name, id, matchname, frontdoorid, type
    | union
        (cdnresources
        | where type =~ "Microsoft.Cdn/Profiles/CustomDomains"
        | extend matchname= tostring(properties.hostName)
        | extend splitid=split(id, "/")
        | extend frontdoorid=tolower(strcat_array(array_slice(splitid, 0, 8), "/"))
        | project name, id, matchname, frontdoorid, type)
    )
    on matchname
| project
    recommendationId = "9437634c-d69e-2747-b13e-631c13182150",
    name=split(trafficmanager, "/")[-1],
    id=trafficmanager,
    tags,
    param1=strcat("hostname:", matchname),
    param2=strcat("frontdoorid:", frontdoorid)



オリジンへのトラフィックを制限する

Impact:  High Category:  Security PG Verified:  Verified

Description:

Front Door の機能は、トラフィックがもっぱら Front Door を通過する場合に最適に動作します。 Front Door をバイパスするトラフィックへのアクセスを拒否するように起点を設定することをお勧めします。

Potential Benefits:

Enhances security and performance
Learn More:
Secure traffic to Azure Front Door origins

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



最新の API バージョンと SDK バージョンを使用する

Impact:  Medium Category:  Scalability PG Verified:  Verified

Description:

API、ARM テンプレート、Bicep、または SDK を通じて Azure Front Door を操作する場合、最新の API または SDK バージョンを使用することが重要です。アップデートにより、新機能、重要なセキュリティ パッチ、バグ修正が提供されます。

Potential Benefits:

Enhanced security and features
Learn More:
REST API Reference
Client library for Java
SDK for Python

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



ログを構成する

Impact:  Medium Category:  Monitoring and Alerting PG Verified:  Verified

Description:

Front Door ログは、各要求に関する包括的なテレメトリを提供します。これは、特にキャッシュが有効になっている場合、オリジン サーバーがすべての要求を受信するとは限らないため、ソリューションのパフォーマンスと応答を理解するために重要です。

Potential Benefits:

Enhanced insights and solution monitoring
Learn More:
Monitor metrics and logs in Azure Front Door
WAF logs
Configure Azure Front Door logs

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



エンドツーエンド TLS を使用する

Impact:  High Category:  Security PG Verified:  Verified

Description:

Front Door は、クライアントからの TCP および TLS 接続を終了し、各 PoP から起点への新しい接続を確立します。これらの接続を TLS で保護すると、Azure でホストされているオリジンであっても、転送中にデータが常に暗号化されます。

Potential Benefits:

Ensures data encryption in transit
Learn More:
End-to-end TLS with Azure Front Door

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Use end-to-end TLS
cdnresources
| where type == "microsoft.cdn/profiles/afdendpoints/routes"
| extend forwardingProtocol=tostring(properties.forwardingProtocol),supportedProtocols=properties.supportedProtocols
| project id,name,forwardingProtocol,supportedProtocols,tags
| where forwardingProtocol !~ "httpsonly" or supportedProtocols has "http"
| project recommendationId= "d9bd6780-0d6f-cd4c-bc66-8ddcab12f3d1", name,id,tags,param1=strcat("forwardingProtocol:",forwardingProtocol),param2=strcat("supportedProtocols:",supportedProtocols)



HTTP から HTTPS へのリダイレクトを使用する

Impact:  High Category:  Security PG Verified:  Verified

Description:

HTTPS の使用は、安全な接続に最適です。ただし、古いクライアントとの互換性のために、HTTP リクエストが必要になる場合があります。 Azure Front Door では、HTTP から HTTPS への自動リダイレクトが可能になり、アクセシビリティを犠牲にすることなくセキュリティが強化されます。

Potential Benefits:

Enhances security and compliance
Learn More:
Create HTTP to HTTPS redirect rule

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Use HTTP to HTTPS redirection
cdnresources
| where type == "microsoft.cdn/profiles/afdendpoints/routes"
| extend httpsRedirect=tostring(properties.httpsRedirect)
| project id,name,httpsRedirect,tags
| where httpsRedirect !~ "enabled"
| project recommendationId= "24ab9f11-a3e4-3043-a985-22cf94c4933a", name,id,tags,param1=strcat("httpsRedirect:",httpsRedirect)



マネージド TLS 証明書を使用する

Impact:  High Category:  Security PG Verified:  Verified

Description:

Front Door が TLS 証明書を管理すると、運用コストが削減され、証明書の更新忘れによるコストのかかる停止を回避できます。 Front Door は、管理された TLS 証明書を自動的に発行し、ローテーションします。

Potential Benefits:

Lowers costs, avoids outages
Learn More:
Configure HTTPS on an Azure Front Door custom domain using the Azure portal

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



顧客管理の証明書には最新バージョンを使用してください

Impact:  Medium Category:  High Availability PG Verified:  Verified

Description:

独自の TLS 証明書を使用する場合は、新しい証明書バージョンに合わせて Azure Front Door を再構成したり、Front Door の環境全体で展開を待機したりすることを避けるために、Key Vault 証明書のバージョンを "最新" に設定します。

Potential Benefits:

Saves time and automates TLS updates
Learn More:
Select the certificate for Azure Front Door to deploy

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



Front Door とオリジンで同じドメイン名を使用する

Impact:  Medium Category:  Governance PG Verified:  Verified

Description:

Front Door は、単一の起点にルーティングされるカスタム ドメイン名のホスト ヘッダーを書き換えることができます。これは、Front Door と起点の両方でカスタム ドメイン構成を回避するのに役立ちます。

Potential Benefits:

Improves session/auth handling
Learn More:
Preserve the original HTTP host name between a reverse proxy and its back-end web application

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



WAFを有効にする

Impact:  Medium Category:  Security PG Verified:  Verified

Description:

インターネットに接続するアプリケーションの場合、Microsoft 管理ルールを使用した幅広い攻撃から保護するために、Front Door Web アプリケーション ファイアウォール (WAF) を有効にし、管理ルールを使用するように構成することをお勧めします。

Potential Benefits:

Enhances web app security
Learn More:
Web Application Firewall on Azure Front Door

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Enable the WAF

resources
| where type =~ "microsoft.cdn/profiles" and sku has "AzureFrontDoor"
| project name, cdnprofileid=tolower(id), tostring(tags), resourceGroup, subscriptionId,skuname=tostring(sku.name)
| join kind= fullouter (
    cdnresources
    | where type == "microsoft.cdn/profiles/securitypolicies"
    | extend wafpolicyid=tostring(properties['parameters']['wafPolicy']['id'])
    | extend splitid=split(id, "/")
    | extend cdnprofileid=tolower(strcat_array(array_slice(splitid, 0, 8), "/"))
    | project secpolname=name, cdnprofileid, wafpolicyid
    )
    on cdnprofileid
| project name, cdnprofileid, secpolname, wafpolicyid,skuname
| join kind = fullouter (
    resources
    | where type == "microsoft.network/frontdoorwebapplicationfirewallpolicies"
    | extend
        managedrulesenabled=iff(tostring(properties.managedRules.managedRuleSets) != "[]", true, false),
        enabledState = tostring(properties.policySettings.enabledState)
    | project afdwafname=name, managedrulesenabled, wafpolicyid=id, enabledState, tostring(tags)
    )
    on wafpolicyid
| where name != ""
| summarize
    associatedsecuritypolicies=countif(secpolname != ""),
    wafswithmanagedrules=countif(managedrulesenabled == 1)
    by name, id=cdnprofileid, tags,skuname
| where associatedsecuritypolicies == 0 or wafswithmanagedrules  == 0
| project
    recommendationId = "1bd2b7e8-400f-e64a-99a2-c572f7b08a62",
    name,
    id,
    todynamic(tags),
    param1 = strcat("associatedsecuritypolicies:", associatedsecuritypolicies),
    param2 = strcat("wafswithmanagedrules:", wafswithmanagedrules),
    param3 = strcat("skuname:",skuname)



オリジン グループにオリジンが 1 つしかない場合、正常性プローブを無効にする

Impact:  Low Category:  High Availability PG Verified:  Verified

Description:

Front Door 正常性プローブは、利用できない送信元または異常な送信元を検出し、必要に応じてトラフィックを別の送信元に誘導します。

Potential Benefits:

Reduces unnecessary origin traffic
Learn More:
Health probes

ARG Query:

Click the Azure Resource Graph tab to view the query

// Azure Resource Graph Query
// Disable health probes when there is only one origin in an origin group
cdnresources
| where type =~ "microsoft.cdn/profiles/origingroups"
| extend healthprobe=tostring(properties.healthProbeSettings)
| project origingroupname=name, id, tags, resourceGroup, subscriptionId, healthprobe
| join (
    cdnresources
    | where type =~ "microsoft.cdn/profiles/origingroups/Origins"
    | extend origingroupname = tostring(properties.originGroupName)
    )
    on origingroupname
| summarize origincount=count(), enabledhealthprobecount=countif(healthprobe != "") by origingroupname, id, tostring(tags), resourceGroup, subscriptionId
| where origincount == 1 and enabledhealthprobecount != 0
| project
    recommendationId = "38f3d542-6de6-a44b-86c6-97e3be690281",
    name=origingroupname,
    id,
    todynamic(tags),
    param1 = strcat("origincount:", origincount),
    param2 = strcat("enabledhealthprobecount:", enabledhealthprobecount)



健全性プローブのエンドポイントを選択する

Impact:  Medium Category:  High Availability PG Verified:  Verified

Description:

Azure Front Door の正常性プローブのエンドポイントとして、正常性の監視用に特別に設計された Web ページまたは場所を選択することを検討してください。これには、運用トラフィックを効率的に処理するために、アプリケーション サーバー、データベース、キャッシュなどの重要なコンポーネントのステータスが含まれる必要があります。

Potential Benefits:

Improves traffic routing and uptime
Learn More:
Health Endpoint Monitoring pattern

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



HEAD ヘルス プローブを使用する

Impact:  Medium Category:  Scalability PG Verified:  Verified

Description:

Azure Front Door の正常性プローブでは、GET または HEAD HTTP メソッドを使用できます。正常性プローブに HEAD メソッドを使用すると、オリジンのトラフィック負荷が軽減され、リソースの消費が少なくなるため、推奨される方法です。

Potential Benefits:

Reduces traffic load on origins
Learn More:
Supported HTTP methods for health probes

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



Azure Front Door で geo フィルタリングを使用する

Impact:  Medium Category:  Security PG Verified:  Verified

Description:

WAF を介した Azure Front Door の地理フィルタリングにより、国/地域ごとにカスタム アクセス ルールを定義して、Web アプリのアクセスを制限または許可できます。

Potential Benefits:

Enhanced regional access control
Learn More:
Geo filter WAF policy - GeoMatch

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development



Azure Front Door のプライベート リンクでオリジンを保護する

Impact:  Medium Category:  Security PG Verified:  Verified

Description:

Azure Private Link を使用すると、仮想ネットワーク内のプライベート エンドポイント経由で Azure PaaS およびサービスに安全にアクセスできるようになり、トラフィックがパブリック インターネットではなく Microsoft バックボーン ネットワークを確実に通過できるようになります。

Potential Benefits:

Enhanced security and private connectivity
Learn More:
Private link for Azure Front Door

ARG Query:

Click the Azure Resource Graph tab to view the query

// under-development