review-checklists/checklists-ext/azureapplicationgateway_sg_...

306 строки
21 KiB
JSON
Исходник Постоянная ссылка Ответственный История

Этот файл содержит неоднозначные символы Юникода!

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

{
"$schema": "https://raw.githubusercontent.com/Azure/review-checklists/main/checklists/checklist.schema.json",
"categories": [],
"items": [
{
"description": "在存取應用程式閘道或進行進一步更改之前,請計劃足夠的更新時間。例如,從後端池中刪除伺服器可能需要一些時間,因為它們必須耗盡現有連接。",
"guid": "9a17eb2b-c5e3-428b-9e45-73dead45c4f9",
"service": "Azure Application Gateway",
"text": "規劃規則更新",
"type": "recommendation",
"waf": "可靠性"
},
{
"description": "如果使用應用程式閘道對多個後端實例上的傳入流量進行負載均衡,我們建議使用運行狀況探測。這將確保流量不會路由到無法處理流量的後端。",
"guid": "5bfa95df-20d8-4452-a6c1-79c88b07d4cc",
"service": "Azure Application Gateway",
"text": "使用運行狀況探測檢測後端不可用",
"type": "recommendation",
"waf": "可靠性"
},
{
"description": "運行狀況探測以設定的時間間隔向配置的終端節點發送請求。此外,在後端標記為運行狀況不佳之前,將容忍一個失敗請求的閾值。這些數位表示權衡。- 設置較高的間隔會給您的服務帶來更高的負載。每個應用程式閘道實例都會發送自己的運行狀況探測因此每30秒100個實例意味著每30秒100個請求。- 設置較低的間隔會留出更多時間,然後才能檢測到中斷。- 設置較低的不正常閾值可能意味著短暫的暫時性故障可能會使後端癱瘓。- 設置較高的閾值,可能需要更長的時間才能使後端退出輪換。",
"guid": "ec5bc6c4-6176-44a2-860e-8654f588effd",
"service": "Azure Application Gateway",
"text": "查看間隔和閾值設置對運行狀況探測的影響",
"type": "recommendation",
"waf": "可靠性"
},
{
"description": "假設每個後端都有自己的依賴項,以確保隔離故障。例如,託管在應用程式閘道後面的應用程式可能有多個後端,每個後端都連接到不同的資料庫(副本)。當此類依賴項失敗時,應用程式可能正在運行,但不會返回有效結果。因此,理想情況下,運行狀況終結點應驗證所有依賴項。請記住,如果對運行狀況終端節點的每次調用都有直接依賴項調用,則該資料庫將每 30 秒收到 100 個查詢,而不是 1 個查詢。為避免這種情況,運行狀況終端節點應將依賴項的狀態緩存一小段時間。",
"guid": "78bc5274-ca88-4e2a-8d3a-7b6a5ed1ccd6",
"service": "Azure Application Gateway",
"text": "通過運行狀況終端節點驗證下游依賴項",
"type": "recommendation",
"waf": "可靠性"
},
{
"description": "某些方案可能會強制你專門在Application Gateway上實施規則。例如如果需要ModSec CRS 2.2.9、CRS 3.0或 CRS 3.1 規則,則這些規則只能在應用程式閘道上實施。相反,速率限制和異地篩選僅在 Azure Front Door 上可用,在 AppGateway 上不可用。",
"guid": "da7234f3-70a7-47d2-b685-3e47843003e9",
"service": "Azure Application Gateway",
"text": "使用 Azure Front Door 和應用程式閘道保護 HTTP/S“應用程式時請在 Front Door 中使用 WAF 策略並鎖定應用程式閘道以僅接收來自 Azure Front Door 的流量。",
"type": "recommendation",
"waf": "可靠性"
},
{
"description": "設置 TLS 策略以提高安全性。確保您始終使用可用的最新 TLS 策略版本。這將強制使用 TLS 1.2 和更強的密碼。",
"guid": "9e5ba3b9-3512-425b-95e3-d5009e7630f3",
"service": "Azure Application Gateway",
"text": "設置 TLS 策略以增強安全性",
"type": "recommendation",
"waf": "安全"
},
{
"description": "使用應用程式閘道進行 TLS 終止有以下優點:- 性能提高,因為請求發送到不同的後端必須重新進行身份驗證。- 更好地利用後端伺服器,因為它們不必執行 TLS 處理- 通過訪問請求內容實現智慧路由- 證書管理更輕鬆,因為證書只需要安裝在應用程式閘道上。",
"guid": "5cbd84eb-56a7-4d18-9f50-de47d3b29a8f",
"service": "Azure Application Gateway",
"text": "使用 AppGateway 終止 TLS",
"type": "recommendation",
"waf": "安全"
},
{
"description": "應用程式閘道可以與 Key Vault 整合。這提供了更強的安全性、更輕鬆的角色和職責分離、對託管證書的支援以及更輕鬆的證書續訂和輪換過程。",
"guid": "c1e7b351-a459-49d1-b473-a1f663310205",
"service": "Azure Application Gateway",
"text": "使用 Azure Key Vault 儲存 TLS 證書",
"type": "recommendation",
"waf": "安全"
},
{
"description": "後端伺服器的 TLS 證書必須由知名 CA 頒發。如果證書不是由受信任的 CA 頒發的,則應用程式閘道會檢查證書是否由受信任的 CA 頒發,依此類推,直到找到受信任的 CA 證書。只有這樣,才會建立安全連接。否則,應用程式閘道會將後端標記為運行狀況不佳。",
"guid": "1f53df88-090e-4f67-8a41-866ea4938cb1",
"service": "Azure Application Gateway",
"text": "重新加密後端流量時,請確保後端伺服器證書同時包含根證書頒發機構 CA 和中間證書頒發機構 CA",
"type": "recommendation",
"waf": "安全"
},
{
"description": "當後端池包含可解析的 FQDN 時DNS 解析基於專用 DNS 區域或自定義 DNS 伺服器(如果在 VNet 上配置),或者它使用 Azure 提供的預設 DNS。",
"guid": "0e1af02a-017b-4a41-a7e5-98b47d7b1fd7",
"service": "Azure Application Gateway",
"text": "對後端池資源使用適當的 DNS 伺服器",
"type": "recommendation",
"waf": "安全"
},
{
"description": "應用程式閘道子網支援 NSG但存在一些限制。例如禁止與某些埠範圍進行某些通信。確保您了解這些限制的含義。有關詳細資訊請參閱網路安全組。",
"guid": "75da1adb-f8a2-4ad5-879a-a8552d1c836a",
"service": "Azure Application Gateway",
"text": "遵守應用程式閘道的所有 NSG 限制",
"type": "recommendation",
"waf": "安全"
},
{
"description": "在應用程式閘道子網上使用使用者定義的路由 UDR 可能會導致一些問題。後端的運行狀況可能未知。應用程式網關日誌和指標可能無法生成。建議不要在應用程式閘道子網上使用UDR以便查看後端運行狀況、日誌和指標。如果您的組織需要在應用程式閘道子網中使用 UDR請確保查看支援的方案。有關更多資訊請參閱支援的使用者自定義路由。",
"guid": "7776e1c9-a0a7-4fd5-8fe9-1b2b9c56cf31",
"service": "Azure Application Gateway",
"text": "避免在應用程式閘道子網上使用UDR",
"type": "recommendation",
"waf": "安全"
},
{
"description": "啟用WAF后應用程式閘道必須緩衝每個請求直到它完全到達檢查請求是否與其核心規則集中的任何規則衝突匹配然後將數據包轉發到後端實例。當有大檔上傳大小為 30MB+)時,可能會導致明顯的延遲。由於應用程式閘道容量要求與 WAF 不同,因此我們不建議在未進行適當測試和驗證的情況下在應用程式閘道上啟用 WAF。",
"guid": "7c173790-6fac-43bc-b1b4-e787fdbb904f",
"service": "Azure Application Gateway",
"text": "啟用 WAF 時請注意應用程式閘道容量的變化",
"type": "recommendation",
"waf": "安全"
},
{
"description": "有關應用程式閘道定價的資訊,請參閱瞭解 Azure 應用程式閘道和 Web 應用程式防火牆的定價。您還可以利用定價計算機。確保選項的大小足以滿足容量需求,並在不浪費資源的情況下提供預期的性能。",
"guid": "13adc786-048a-4720-9aad-610419507199",
"service": "Azure Application Gateway",
"text": "熟悉應用程式閘道定價",
"type": "recommendation",
"waf": "成本"
},
{
"description": "識別並刪除具有空後端池的應用程式閘道實例,以避免不必要的成本。",
"guid": "8d3979f9-bd25-4455-9e2f-2cc7e0deaf5e",
"service": "Azure Application Gateway",
"text": "查看未充分利用的資源",
"type": "recommendation",
"waf": "成本"
},
{
"description": "當應用程式閘道處於 stopped 狀態時不會向你收費。持續運行應用程式閘道實例可能會產生額外成本。評估使用模式並在不需要實例時停止實例。例如在Dev/Test環境中下班後的使用率預計會很低。有關如何停止和啟動實例的資訊請參閱以下文章。- Stop-AzApplicationGateway- Start-AzApplicationGateway",
"guid": "fc01794b-1808-4152-a82c-95b43b2a4c45",
"service": "Azure Application Gateway",
"text": "在不使用時停止應用程式閘道實例",
"type": "recommendation",
"waf": "成本"
},
{
"description": "橫向擴展策略可確保有足夠的實例來處理傳入流量和峰值。此外,制定縮減策略,確保在需求下降時減少實例數量。考慮實例大小的選擇。大小會顯著影響成本。估計應用程式閘道實例計數中介紹了一些注意事項。有關詳細資訊,請參閱什麼是 Azure 應用程式閘道 v2",
"guid": "4e5743d9-44ec-4a09-9c80-d77056109fc6",
"service": "Azure Application Gateway",
"text": "具有橫向縮減和橫向擴展策略",
"type": "recommendation",
"waf": "成本"
},
{
"description": "根據 Azure 跟蹤的指標,根據應用程式閘道的計量實例向你收費。評估各種指標和容量單位,並確定成本驅動因素。有關更多資訊,請參閱 Microsoft 成本管理和計費。以下指標是應用程式閘道的關鍵。此資訊可用於驗證預配的實例計數是否與傳入流量量匹配。- 估計的計費容量單位 - 固定的計費容量單位 - 當前容量單位有關詳細資訊,請參閱應用程式網關指標。確保考慮頻寬成本。",
"guid": "30129a61-cd84-4085-9533-5d42f89372d9",
"service": "Azure Application Gateway",
"text": "查看不同參數的消耗量指標",
"type": "recommendation",
"waf": "成本"
},
{
"description": "使用這些指標作為預配的應用程式閘道容量利用率的指標。我們強烈建議您設置容量警報。有關詳細資訊,請參閱應用程式網關高流量支援。",
"guid": "57cc0c49-939f-46d9-864e-d7ce31733771",
"service": "Azure Application Gateway",
"text": "監控容量指標",
"type": "recommendation",
"waf": "操作"
},
{
"description": "還有其他指標可以指示應用程式閘道或後端存在問題。我們建議評估以下警報:- 不正常的主機計數 - 回應狀態(維度 4xx 和 5xx- 後端回應狀態(維度 4xx 和 5xx- 後端最後一個字節回應時間 - 應用程式網關總時間有關詳細資訊,請參閱應用程式閘道的指標。",
"guid": "071e5241-c008-41a2-9e62-c056081158d2",
"service": "Azure Application Gateway",
"text": "使用指標進行故障排除",
"type": "recommendation",
"waf": "操作"
},
{
"description": "診斷日誌允許您查看防火牆日誌、性能日誌和訪問日誌。使用這些日誌來管理和排查應用程式閘道實例的問題。有關詳細資訊,請參閱應用程式網關的後端運行狀況和診斷日誌。",
"guid": "7e160588-dc1c-48d5-9a56-4ddc6aeb8fc2",
"service": "Azure Application Gateway",
"text": "在應用程式閘道和 Web 應用程式防火牆 WAF 上啟用診斷",
"type": "recommendation",
"waf": "操作"
},
{
"description": "Azure Monitor 網路見解提供網路資源(包括應用程式閘道)的運行狀況和指標的全面檢視。有關應用程式閘道的其他詳細資訊和支援的功能,請參閱 Azure Monitor 網路見解。",
"guid": "260dc49f-05b9-4c43-9cda-afc5b1923c89",
"service": "Azure Application Gateway",
"text": "使用 Azure Monitor 網路見解",
"type": "recommendation",
"waf": "操作"
},
{
"description": "確保您已配置 IdleTimeout 設定以符合後端應用程式的偵聽器和流量特徵。默認值設置為 4 分鐘,最多可配置為 30。有關更多資訊請參閱負載均衡器 TCP 重置和空閒超時。有關工作負載注意事項,請參閱監控應用程式運行狀況的可靠性。",
"guid": "8c5e5e8f-44d7-4494-8819-c1d765838fec",
"service": "Azure Application Gateway",
"text": "將超時設置與後端應用程式匹配",
"type": "recommendation",
"waf": "操作"
},
{
"description": "應用程式閘道每隔 4 小時檢查一次連結的 Key Vault 中續訂的證書版本。如果由於任何不正確的 Key Vault 配置而無法訪問它,它會記錄該錯誤並推送相應的顧問建議。您必須將 Advisor 警報配置為保持更新並立即修復此類問題,以避免任何與控制或數據平面相關的問題。有關更多資訊,請參閱調查和解決 Key Vault 錯誤。要針對此特定情況設置警報,請使用 Recommendation Type (建議類型) 作為 Resolve Azure Key Vault issue (解決應用程式閘道的 Azure Key Vault 問題)。",
"guid": "4123369e-cbd7-472d-9879-e155476c2595",
"service": "Azure Application Gateway",
"text": "使用 Azure 顧問監視 Key Vault 配置問題",
"type": "recommendation",
"waf": "操作"
},
{
"description": "SNAT 埠限制對於應用程式閘道上的後端連接非常重要。有單獨的因素會影響應用程式閘道達到 SNAT 埠限制的方式。例如如果後端是公有IP位址則需要自己的SNAT埠。為了避免 SNAT 埠限制,可以增加每個應用程式閘道的實例數,橫向擴展後端以擁有更多 IP 位址,或者將後端移動到同一虛擬網路中,並將專用 IP 位址用於後端。如果達到 SNAT 埠限制,應用程式閘道上的每秒請求數 RPS 將受到影響。例如,如果應用程式閘道達到 SNAT 埠限制,則它將無法打開與後端的新連接,並且請求將失敗。",
"guid": "d2713c48-1e6f-4ee8-b91c-8499e7146945",
"service": "Azure Application Gateway",
"text": "在設計中考慮 SNAT 埠限制",
"type": "recommendation",
"waf": "操作"
},
{
"description": "對於應用程式閘道 v2 SKU自動縮放需要一些時間大約 6 到 7 分鐘),然後額外的實例集才能準備好提供流量。在此期間,如果流量出現短暫的峰值,則預計會出現暫時性延遲或流量丟失。我們建議您將最小實例計數設置為最佳水準。估計平均實例計數並確定應用程式閘道自動縮放趨勢後,請根據應用程式模式定義最小實例計數。有關資訊,請參閱應用程式閘道高流量支援。檢查過去一個月的 Current Compute Units當前計算單位。此指標表示閘道的CPU利用率。要定義最小實例計數請將峰值使用量除以 10。例如如果您在過去一個月的平均當前計算單位數為50請將最小實例計數設置為5。",
"guid": "8bba115b-e086-458e-beca-ae9d8144a1f6",
"service": "Azure Application Gateway",
"text": "定義最小實例計數",
"type": "recommendation",
"waf": "性能"
},
{
"description": "我們建議將 125 作為最大自動縮放實例計數。確保具有應用程式閘道的子網具有足夠的可用IP位址來支援縱向擴展的實例集。將最大實例計數設置為125不會影響成本因為您只需為使用的容量付費。",
"guid": "1250aa80-2761-4138-9565-57735472779b",
"service": "Azure Application Gateway",
"text": "定義最大實例計數",
"type": "recommendation",
"waf": "性能"
},
{
"description": "應用程式閘道需要在虛擬網路中有一個專用子網。子網可以包含已部署的應用程式閘道資源的多個實例。還可以在該子網、v1 或 v2 SKU 中部署其他應用程式閘道資源。下面是定義子網大小的一些注意事項:- 應用程式閘道為每個實例使用一個專用IP位址如果配置了專用前端IP則使用另一個專用IP位址。- Azure 在每個子網中保留5個IP位址供內部使用。- 應用程式閘道(標準或 WAF SKU最多可支援 32 個實例。以 32 個實例 IP 位址 + 1 個專用前端 IP + 5 個 Azure 預留位址為例,建議最小子網大小為 /26。由於 Standard_v2 SKU 或 WAF_v2 SKU 最多可以支援 125 個實例,因此使用相同的計算方法,建議使用 /24 的子網大小。如果要在同一子網中部署其他應用程式網關資源,請考慮標準和標準 v2 的最大實例計數所需的其他 IP 位址。",
"guid": "dbf3ca82-d3a8-431e-a86e-65df49c72032",
"service": "Azure Application Gateway",
"text": "定義應用程式閘道子網大小",
"type": "recommendation",
"waf": "性能"
},
{
"description": "v2 SKU 提供自動縮放功能,以確保應用程式閘道可以隨著流量的增加而縱向擴展。與 v1 SKU 相比v2 具有增強工作負載性能的功能。例如,更好的 TLS 卸載性能、更快的部署和更新時間、區域冗餘等。有關自動縮放功能的更多資訊,請參閱擴展應用程式閘道 v2 和 WAF v2。如果運行的是 v1 SKU 應用程式閘道,請考慮遷移到應用程式閘道 v2 SKU。有關詳細資訊請參閱將 Azure 應用程式閘道和 Web 應用程式防火牆從 v1 遷移到 v2。",
"guid": "dffdc8e9-9139-46c1-93df-638e00cb3657",
"service": "Azure Application Gateway",
"text": "利用自動擴展和性能優勢",
"type": "recommendation",
"waf": "性能"
}
],
"metadata": {
"name": "Azure Application Gateway Service Guide",
"state": "preview",
"timestamp": "October 01, 2024",
"waf": "all"
},
"status": [
{
"description": "尚未查看此檢查",
"name": "未驗證"
},
{
"description": "存在與此檢查關聯的操作項",
"name": "打開"
},
{
"description": "此檢查已經過驗證,沒有與之關聯的其他操作項",
"name": "實現"
},
{
"description": "不適用於當前設計",
"name": "不適用"
},
{
"description": "不需要",
"name": "不需要"
}
],
"waf": [
{
"name": "性能"
},
{
"name": "安全"
},
{
"name": "性能"
},
{
"name": "成本"
},
{
"name": "可靠性"
},
{
"name": "操作"
},
{
"name": "操作"
},
{
"name": "可靠性"
},
{
"name": "安全"
},
{
"name": "成本"
}
],
"yesno": [
{
"name": "是的"
},
{
"name": "不"
}
]
}