Sdílet prostřednictvím


Migrace na protokol TLS (Transport Layer Security) 1.3 pro Service Fabric

Tento článek vysvětluje, jak povolit protokol TLS 1.3 v clusterech Service Fabric. Tls pomáhá spravovat koncové body HTTP vašich clusterů.

Pokud používáte jenom certifikáty a nepotřebujete definovat koncové body pro clustery, stačí povolit jenom výhradní režim ověřování. Pokud chcete tento režim povolit, stačí dokončit upgrade na nejnovější verzi modulu runtime Service Fabric a povolit výhradní režim ověřování. Poznámky jsou přidány, když je to vhodné. Pokud se později rozhodnete povolit ověřování na základě tokenů, musíte dokončit přeskočené kroky.

Poznámka:

Postup v tomto článku je určený pro počítače s Windows. Linux se v tuto chvíli nepodporuje.

Poznámka:

Podpora protokolu TLS 1.3 byla zavedena v Service Fabric verze 10.1CU2 (10.1.1951.9590). Protokol TLS 1.3 se ale při použití protokolu TLS 1.3 pro koncové body přenosu Service Fabric uživatelských aplikací spuštěných v režimu kompatibility Windows 8 nepovolí. V tomto scénáři musí být režim kompatibility Windows 10 deklarován v manifestech aplikací systému Windows, aby bylo možné úspěšně povolit protokol TLS 1.3.

Požadavky

  1. Určete verzi modulu runtime Service Fabric vašeho clusteru. Verzi modulu runtime clusteru můžete zobrazit přihlášením na webu Azure Portal, zobrazením clusteru v Service Fabric Exploreru nebo připojením ke clusteru přes PowerShell.
  2. Ujistěte se, že všechny uzly v clusteru jsou upgradované na Windows Server 2022.
  3. Zjistěte, jestli používáte ověřování založené na tokenech. Manifest clusteru můžete zkontrolovat na portálu nebo zkontrolovat v Service Fabric Exploreru. Pokud používáte ověřování založené na tokenech, zobrazí se nastavení ID Microsoft Entra v manifestu clusteru.
  4. V závislosti na typu clusteru použijte správnou verzi rozhraní API pro nasazení:
    • Pro spravované clustery použijte 2023-12-01-preview nebo vyšší
    • Pro klasické clustery použijte 2023-11-01-preview nebo vyšší

Po dokončení těchto požadovaných kroků jste připraveni povolit protokol TLS 1.3 v clusterech Service Fabric.

Upgrade na nejnovější verzi modulu runtime Service Fabric

V tomto kroku upgradujete verzi modulu runtime clusteru na nejnovější verzi, která podporuje protokol TLS 1.3.

Postupujte podle kroků v části Upgrade verze Service Fabric, která běží na vašem clusteru. Až budete hotovi, vraťte se do tohoto článku.

Pokud pro ověřování v clusterech nepoužíváte ověřování na základě tokenů, měli byste přeskočit další dva kroky. Místo toho pokračujte povolením výhradního režimu ověřování. Pokud pro ověřování v clusterech používáte ověřování na základě tokenů, přejděte k dalšímu kroku.

Definování nového koncového bodu HTTP

Poznámka:

Pokud pro ověřování v clusterech nepoužíváte ověřování na základě tokenů, měli byste tento krok a další přeskočit. Místo toho pokračujte povolením výhradního režimu ověřování.

V tomto kroku definujete nový koncový bod HTTP, který se použije pro ověřování na základě tokenů pro váš cluster. Musíte definovat nový koncový bod, protože protokol TLS 1.3 jednoduše nepodporuje ověřování ve smíšeném režimu, kde se používají jak certifikáty X.509, tak i nosné tokeny OAuth 2.0. Koncové body správy clusteru Service Fabric obvykle používají ověřování ve smíšeném režimu, takže povolení protokolu TLS 1.3 bez vytvoření nového koncového bodu by přerušilo koncové body správy clusteru.

Definujte nový koncový bod výhradně vyhrazený pro ověřování na základě tokenu a proveďte to pro každý typ uzlu v clusteru. V následujícím fragmentu kódu JSON předvedeme, jak definovat koncový bod v manifestu clusteru s ukázkovým číslem portu 19079:

"nodeTypes": [
  {
    "name": "parameters('vmNodeType0Name')]",
    ...
    "httpGatewayTokenAuthEndpointPort": "19079",
    ...
  }
]

Můžete použít libovolné číslo portu. Měla by mít stejnou hodnotu v celém clusteru a měla by být vybraná z rozsahu portů vyhrazených pro modul runtime Service Fabric.

Pokud chcete nasadit nový koncový bod, máte dvě možnosti:

  • Aktualizujte konfiguraci existujícího clusteru pomocí nového manifestu
  • Definování koncového bodu v době nasazení nového clusteru

Aktualizace konfigurace clusteru pro stávající

Můžete postupovat podle kroků v části Přizpůsobení nastavení clusteru pomocí šablon Resource Manageru v části Upgrade konfigurace clusteru v Azure. Při úpravě JSON v kroku 4 nezapomeňte aktualizovat properties prvek tak, aby zahrnoval novou definici koncového bodu, která byla dříve podrobně popsaná v ukázkovém fragmentu kódu JSON.

Nasazení nového clusteru

Můžete postupovat podle kroků v příslušném rychlém startu pro typ clusteru Service Fabric, který používáte. Nezapomeňte šablonu upravit tak, aby obsahovala novou definici koncového bodu, která byla dříve podrobně popsaná v ukázkovém fragmentu kódu JSON.

Migrace na nový koncový bod ověřování tokenu

Poznámka:

Pokud pro ověřování v clusterech nepoužíváte ověřování na základě tokenů, měli byste tento krok přeskočit a předchozí krok byste měli přeskočit. Místo toho pokračujte povolením výhradního režimu ověřování.

V tomto kroku potřebujete najít a aktualizovat všechny klienty, kteří použili ověřování na základě tokenu, aby cílili na nový koncový bod ověřování tokenu. Mezi tyto klienty patří skripty, kód nebo služby. Když port brány začne přijímat připojení TLS 1.3, jakýkoli klient, který se stále pokouší připojit k starému portu brány, přestane fungovat. Všimněte si také, že tento port může být parametrizován nebo má jinou hodnotu než výchozí definovaný Service Fabric.

Některé příklady změn, které je potřeba provést:

  • Aplikace Microsoft Entra ID
  • Všechny skripty, které odkazují na existující koncový bod
  • Příchozí překlad síťových adres (NAT), sonda stavu a pravidla vyrovnavače zatížení (LB), která odkazují na stávající koncový bod
  • Pravidla skupiny zabezpečení sítě (NSG)

Musíte také migrovat provoz, který vyžaduje ověřování na základě tokenu do nového koncového bodu.

Povolení výhradního režimu ověřování

V tomto kroku povolíte výhradní režim ověřování. Jako bezpečnostní mechanismus se protokol TLS 1.3 nenabízí ve výchozím koncovém bodu brány HTTP, dokud vlastník clusteru nepovolí výhradní režim ověřování.

enableHttpGatewayExclusiveAuthMode je nové nastavení s výchozí hodnotou false. Toto nové nastavení nastavíte na true. Pokud používáte ověřování založené na tokenech, můžete nastavit enableHttpGatewayExclusiveAuthMode současně s definicí nového koncového bodu v předchozích krocích. Tato aktualizace nastavení byla zavedena pouze postupně, aby se minimalizovala pravděpodobnost přerušení.

Výstraha

Pokud uživatelé nejsou plně migrovaní do nové sady koncových bodů, jedná se o zásadní změnu.

Důležité

Modul runtime Service Fabric blokuje povolení výhradního režimu ověřování, pokud je v clusteru povolené ověřování na základě tokenu, ale ještě není zadaný samostatný koncový bod pro ověřování na základě tokenu.

Nic v clusteru však nedokáže rozpoznat přerušení u externích klientů, kteří se pokouší ověřit pomocí tokenů na nově výlučném výchozím portu brány HTTP.

Po zavedení tohoto nového nastavení konfigurace clusteru ztratíte přístup na základě tokenu k předchozímu koncovému bodu. K Service Fabric Exploreru můžete přistupovat přes nový port, který jste definovali, pokud jste dokončili krok Definovat nový koncový bod HTTP.

Pokud chcete nastavení aktualizovat enableHttpGatewayExclusiveAuthMode , máte dvě možnosti:

  • Vylepšete konfiguraci stávajícího clusteru použitím nového manifestu
  • Definování koncového bodu v době nasazení nového clusteru

Aktualizace konfigurace clusteru pro stávající systém

Můžete postupovat podle kroků v části Přizpůsobení nastavení clusteru pomocí šablon Resource Manageru v části Upgrade konfigurace clusteru v Azure. Při úpravě JSON v kroku 4 nezapomeňte aktualizovat properties prvek tak, aby zahrnoval nové nastavení zobrazené v následujícím fragmentu kódu JSON.

  "enableHttpGatewayExclusiveAuthMode": true

Nasazení nového clusteru

Můžete postupovat podle kroků v příslušném rychlém startu pro typ clusteru Service Fabric, který používáte. Nezapomeňte šablonu upravit tak, aby obsahovala novou definici koncového bodu, která byla dříve podrobně popsaná v ukázkovém fragmentu kódu JSON.

Další kroky

Po migraci clusteru na PROTOKOL TLS 1.3 není potřeba provést žádné konkrétní kroky. Některé užitečné související články ale zahrnují následující odkazy: