Osvědčené postupy zabezpečení Azure Service Fabric

Kromě tohoto článku si projděte také kontrolní seznam zabezpečení Service Fabric, kde najdete další informace.

Nasazení aplikace v Azure je rychlé, snadné a nákladově efektivní. Než nasadíte cloudovou aplikaci do produkčního prostředí, projděte si náš seznam základních a doporučených osvědčených postupů pro implementaci zabezpečených clusterů ve vaší aplikaci.

Azure Service Fabric je platforma distribuovaných systémů usnadňující balení, nasazování a spravování škálovatelných a spolehlivých mikroslužeb. Service Fabric se taky zaměřuje na problematiku vývoje a správy cloudových aplikací. Vývojáři a správci se můžou vyhnout problémům se složitou infrastrukturou a místo toho se soustředit na implementaci zásadních a náročných úloh, které jsou škálovatelné, spolehlivé a spravovatelné.

Pro každý osvědčený postup vysvětlujeme:

  • Jaký je osvědčený postup.
  • Proč byste měli implementovat osvědčený postup.
  • Co se může stát, pokud neimplementujete osvědčený postup.
  • Jak se naučíte implementovat osvědčený postup.

Doporučujeme následující osvědčené postupy zabezpečení Azure Service Fabric:

  • K vytváření zabezpečených clusterů použijte šablony Azure Resource Manageru a modul Service Fabric PowerShellu.
  • Použijte certifikáty X.509.
  • Nakonfigurujte zásady zabezpečení.
  • Implementujte konfiguraci zabezpečení Reliable Actors.
  • Nakonfigurujte protokol TLS pro Azure Service Fabric.
  • Používejte izolaci sítě a zabezpečení s Azure Service Fabric.
  • Nakonfigurujte Službu Azure Key Vault pro zabezpečení.
  • Přiřaďte uživatele k rolím.
  • Co je potřeba zvážit, pokud hostování nedůvěryhodných aplikací v clusteru Service Fabric

Osvědčené postupy pro zabezpečení clusterů

Vždy používejte zabezpečený cluster:

  • Implementujte zabezpečení clusteru pomocí certifikátů.
  • Pomocí ID Microsoft Entra zadejte klientský přístup (správce a jen pro čtení).

Použití automatizovaných nasazení:

  • Pomocí skriptů můžete vygenerovat, nasadit a převést tajné kódy.
  • Ukládejte tajné kódy ve službě Azure Key Vault a pro všechny ostatní klientské přístupy použijte ID Microsoft Entra.
  • Vyžadovat ověření pro lidský přístup k tajným kódům.

Kromě toho zvažte následující možnosti konfigurace:

  • Vytvořte hraniční sítě (označované také jako demilitarizované zóny, DMZ a podsítě s obrazovkou) pomocí skupin zabezpečení sítě Azure (NSG).
  • Přístup k virtuálním počítačům clusteru nebo správě clusteru pomocí jump serverů s Připojení Vzdálené plochy

Clustery musí být zabezpečené, aby se zabránilo neoprávněným uživatelům v připojení, zejména pokud je cluster spuštěný v produkčním prostředí. I když je možné vytvořit nezabezpečený cluster, můžou se anonymní uživatelé připojit k vašemu clusteru, pokud cluster zveřejňuje koncové body správy veřejnému internetu.

Existují tři scénáře implementace zabezpečení clusteru pomocí různých technologií:

  • Zabezpečení mezi uzly: Tento scénář zabezpečuje komunikaci mezi virtuálními počítači a počítači v clusteru. Tato forma zabezpečení zajišťuje, že v clusteru můžou hostovat aplikace a služby pouze počítače, které mají oprávnění připojit se ke clusteru. V tomto scénáři můžou clustery, které běží v Azure, nebo samostatné clustery, které běží ve Windows, používat buď zabezpečení certifikátů, nebo zabezpečení Windows pro počítače s Windows Serverem.
  • Zabezpečení mezi klientem a uzlem: Tento scénář zabezpečuje komunikaci mezi klientem Service Fabric a jednotlivými uzly v clusteru.
  • Řízení přístupu na základě role Service Fabric (Service Fabric RBAC): Tento scénář používá samostatné identity (certifikáty, ID Microsoft Entra atd.) pro každou roli správce a klienta uživatele, která přistupuje ke clusteru. Identity rolí zadáte při vytváření clusteru.

Poznámka:

Doporučení zabezpečení pro clustery Azure: K ověřování klientů a certifikátů pro zabezpečení uzlů a uzlů použijte zabezpečení Microsoft Entra.

Pokud chcete nakonfigurovat samostatný cluster s Windows, přečtěte si téma Konfigurace nastavení samostatného clusteru s Windows.

K vytvoření zabezpečeného clusteru použijte šablony Azure Resource Manageru a modul Service Fabric PowerShellu. Podrobné pokyny k vytvoření zabezpečeného clusteru Service Fabric pomocí šablon Azure Resource Manageru najdete v tématu Vytvoření clusteru Service Fabric.

Použijte šablonu Azure Resource Manageru:

  • Přizpůsobte cluster pomocí šablony ke konfiguraci spravovaného úložiště pro virtuální pevné disky virtuálních počítačů (VHD).
  • Změny ve skupině prostředků můžete řídit pomocí šablony pro snadnou správu a auditování konfigurace.

Zacházet s konfigurací clusteru jako s kódem:

  • Při kontrole konfigurací nasazení buďte důkladní.
  • Nepoužívejte implicitní příkazy k přímé úpravě prostředků.

Mnoho aspektů životního cyklu aplikace Service Fabric je možné automatizovat. Modul Service Fabric PowerShell automatizuje běžné úlohy při nasazování, upgradu, odebírání a testování aplikací Azure Service Fabric. K dispozici jsou také spravovaná rozhraní API a rozhraní HTTP API pro správu aplikací.

Použití certifikátů X.509

Clustery vždy zabezpečte pomocí certifikátů X.509 nebo zabezpečení systému Windows. Zabezpečení se konfiguruje jenom při vytváření clusteru. Po vytvoření clusteru není možné zapnout zabezpečení.

Chcete-li zadat certifikát clusteru, nastavte hodnotu ClusterCredentialType vlastnost X509. Chcete-li zadat certifikát serveru pro vnější připojení, nastavte vlastnost ServerCredentialType na X509.

Kromě toho postupujte podle těchto postupů:

  • Vytvořte certifikáty pro produkční clustery pomocí správně nakonfigurované certifikační služby Systému Windows Server. Certifikáty můžete získat také od schválené certifikační autority (CA).
  • Nikdy nepoužívejte dočasný nebo testovací certifikát pro produkční clustery, pokud byl certifikát vytvořen pomocí MakeCert.exe nebo podobného nástroje.
  • Použijte certifikát podepsaný svým držitelem pro testovací clustery, ale ne pro produkční clustery.

Pokud je cluster nezabezpečený, může se kdokoli připojit ke clusteru anonymně a provádět operace správy. Z tohoto důvodu vždy zabezpečte produkční clustery pomocí certifikátů X.509 nebo zabezpečení systému Windows.

Další informace o používání certifikátů X.509 najdete v tématu Přidání nebo odebrání certifikátů pro cluster Service Fabric.

Konfigurace zásad zabezpečení

Service Fabric také zabezpečuje prostředky, které používají aplikace. Prostředky, jako jsou soubory, adresáře a certifikáty, se při nasazení aplikace ukládají do uživatelských účtů. Díky této funkci je spouštění aplikací mezi sebou bezpečnější, a to i ve sdíleném hostovaném prostředí.

  • Použijte skupinu domény nebo uživatele služby Active Directory: Spusťte službu pod přihlašovacími údaji pro účet uživatele nebo skupiny služby Active Directory. Ujistěte se, že používáte místní službu Active Directory v rámci vaší domény, a ne ID Microsoft Entra. Přístup k jiným prostředkům v doméně, kterým byla udělena oprávnění, použijte uživatele nebo skupinu domény. Například prostředky, jako jsou sdílené složky.

  • Přiřaďte zásadu přístupu zabezpečení pro koncové body HTTP a HTTPS: Zadejte vlastnost SecurityAccessPolicy , která použije zásadu Spustit jako pro službu, když manifest služby deklaruje prostředky koncového bodu pomocí protokolu HTTP. Porty přidělené koncovým bodům HTTP jsou správně řízené seznamy přístupu pro uživatelský účet Spustit jako, pod kterým služba běží. Pokud není zásada nastavená, http.sys nemá přístup ke službě a při volání z klienta se můžou zobrazit chyby.

Informace o používání zásad zabezpečení v clusteru Service Fabric najdete v tématu Konfigurace zásad zabezpečení pro vaši aplikaci.

Implementace konfigurace zabezpečení Reliable Actors

Service Fabric Reliable Actors je implementace vzoru návrhu objektu actor. Stejně jako u jakéhokoli vzoru návrhu softwaru je rozhodnutí použít konkrétní vzor na základě toho, jestli problém se softwarem odpovídá vzoru.

Obecně platí, že vzor návrhu objektu actor pomáhá modelovat řešení pro následující softwarové problémy nebo scénáře zabezpečení:

  • Váš problémový prostor zahrnuje velké množství (tisíce nebo více) malých, nezávislých a izolovaných jednotek stavu a logiky.
  • Pracujete s objekty s jedním vláknem, které nevyžadují významnou interakci z externích komponent, včetně dotazování stavu napříč sadou objektů actor.
  • Instance objektu actor neblokují volající s nepředvídatelnými zpožděními vydáváním vstupně-výstupních operací.

V Service Fabric se aktéři implementují v aplikačním rozhraní Reliable Actors. Tato architektura je založená na vzoru objektu actor a je postavená na reliable Services Service Fabric. Každá služba spolehlivého objektu actor, kterou napíšete, je dělená stavová spolehlivá služba.

Každý objekt actor je definován jako instance typu objektu actor, shodný se způsobem, jakým je objekt .NET instancí typu .NET. Například typ objektu actor, který implementuje funkce kalkulačky, může mít mnoho herců tohoto typu, které jsou distribuovány na různých uzlech v clusteru. Každý z distribuovaných herců je jedinečně charakterizován identifikátorem objektu actor.

Konfigurace zabezpečení replikátoru slouží k zabezpečení komunikačního kanálu, který se používá během replikace. Tato konfigurace brání službám v zobrazení provozu replikace mezi sebou a zajišťuje zabezpečení vysoce dostupných dat. Ve výchozím nastavení oddíl konfigurace prázdného zabezpečení brání zabezpečení replikace. Konfigurace replikátoru konfigurují replikátor, který je zodpovědný za zajištění vysoké spolehlivosti stavu zprostředkovatele stavu objektu actor.

Konfigurace protokolu TLS pro Azure Service Fabric

Proces ověřování serveru ověřuje koncové body správy clusteru klientovi pro správu. Klient pro správu pak rozpozná, že mluví se skutečným clusterem. Tento certifikát také poskytuje protokol TLS pro rozhraní API pro správu HTTPS a pro Service Fabric Explorer přes PROTOKOL HTTPS. Pro svůj cluster musíte získat název vlastní domény. Když požádáte o certifikát od certifikační autority, musí název subjektu certifikátu odpovídat názvu vlastní domény, který používáte pro váš cluster.

Pokud chcete nakonfigurovat protokol TLS pro aplikaci, musíte nejprve získat certifikát SSL/TLS podepsaný certifikační autoritou. Certifikační autorita je důvěryhodná třetí strana, která vydává certifikáty pro účely zabezpečení protokolu TLS. Pokud ještě nemáte certifikát SSL/TLS, musíte ho získat od společnosti, která prodává certifikáty SSL/TLS.

Certifikát musí splňovat následující požadavky na certifikáty SSL/TLS v Azure:

  • Certifikát musí obsahovat privátní klíč.

  • Certifikát musí být vytvořen pro výměnu klíčů a je možné ho exportovat do souboru výměny osobních informací (.pfx).

  • Název subjektu certifikátu se musí shodovat s názvem domény, který se používá pro přístup ke cloudové službě.

    • Získejte vlastní název domény, který se použije pro přístup ke cloudové službě.
    • Požádejte o certifikát od certifikační autority s názvem subjektu, který odpovídá vlastnímu názvu domény vaší služby. Pokud je například název vaší vlastní domény contoso.com, měl by mít certifikát od vaší certifikační autority název subjektu .contoso.com nebo www.contoso.com.

    Poznámka:

    Certifikát SSL/TLS nemůžete získat z certifikační autority pro doménu cloudapp.net.

  • Certifikát musí používat minimálně 2 048bitové šifrování.

Protokol HTTP je nezabezpečený a podléhá odposlouchávání útoků. Data přenášená přes protokol HTTP se odesílají jako prostý text z webového prohlížeče na webový server nebo mezi jinými koncovými body. Útočníci můžou zachytit a zobrazit citlivá data odesílaná přes protokol HTTP, jako jsou podrobnosti o platební kartě a přihlášení k účtu. Když se data odesílají nebo publikují prostřednictvím prohlížeče prostřednictvím protokolu HTTPS, SSL zajistí, že se citlivé informace zašifrují a zabezpečí před zachycením.

Další informace o používání certifikátů SSL/TLS najdete v tématu Konfigurace protokolu TLS pro aplikaci v Azure.

Použití izolace sítě a zabezpečení se službou Azure Service Fabric

Nastavte zabezpečený cluster se 3 uzly pomocí šablony Azure Resource Manageru jako ukázky. Řízení příchozího a odchozího síťového provozu pomocí šablony a skupin zabezpečení sítě

Šablona obsahuje skupinu zabezpečení sítě pro každou škálovací sadu virtuálních počítačů a používá se k řízení provozu v sadě i mimo tuto sadu. Pravidla jsou ve výchozím nastavení nakonfigurovaná tak, aby umožňovala veškerý provoz nezbytný pro systémové služby a porty aplikace zadané v šabloně. Zkontrolujte tato pravidla a proveďte všechny změny podle svých potřeb, včetně přidání nových pravidel pro vaše aplikace.

Další informace najdete v běžných scénářích sítí pro Azure Service Fabric.

Nastavení služby Azure Key Vault pro zabezpečení

Service Fabric používá certifikáty k zajištění ověřování a šifrování pro zabezpečení clusteru a jejích aplikací.

Service Fabric používá certifikáty X.509 k zabezpečení clusteru a k poskytování funkcí zabezpečení aplikací. Ke správě certifikátů pro clustery Service Fabric v Azure používáte Azure Key Vault. Poskytovatel prostředků Azure, který vytvoří clustery, načítá certifikáty z trezoru klíčů. Poskytovatel pak při nasazení clusteru v Azure nainstaluje certifikáty na virtuální počítače.

Mezi službou Azure Key Vault, clusterem Service Fabric a poskytovatelem prostředků, který certifikáty používá, existuje vztah certifikátu. Po vytvoření clusteru se informace o vztahu certifikátu ukládají do trezoru klíčů.

K nastavení trezoru klíčů existují dva základní kroky:

  1. Vytvořte skupinu prostředků speciálně pro váš trezor klíčů.

    Doporučujeme umístit trezor klíčů do vlastní skupiny prostředků. Tato akce pomáhá zabránit ztrátě klíčů a tajných kódů, pokud se odeberou jiné skupiny prostředků, jako je úložiště, výpočetní prostředky nebo skupina, která obsahuje váš cluster. Skupina prostředků, která obsahuje váš trezor klíčů, musí být ve stejné oblasti jako cluster, který ho používá.

  2. Vytvořte trezor klíčů v nové skupině prostředků.

    Trezor klíčů musí být povolený pro nasazení. Poskytovatel výpočetních prostředků pak může získat certifikáty z trezoru a nainstalovat je do instancí virtuálních počítačů.

Další informace o tom, jak nastavit trezor klíčů, najdete v tématu Co je Azure Key Vault?

Přiřazení uživatelů k rolím

Po vytvoření aplikací, které budou představovat váš cluster, přiřaďte uživatelům role, které Service Fabric podporuje: jen pro čtení a správce. Tyto role můžete přiřadit pomocí webu Azure Portal.

Poznámka:

Další informace o používání rolí v Service Fabric najdete v tématu Řízení přístupu na základě role Service Fabric pro klienty Service Fabric.

Azure Service Fabric podporuje dva typy řízení přístupu pro klienty, kteří jsou připojení ke clusteru Service Fabric: správce a uživatel. Správce clusteru může pomocí řízení přístupu omezit přístup k určitým operacím clusteru pro různé skupiny uživatelů. Řízení přístupu zvyšuje zabezpečení clusteru.

Co je potřeba zvážit, pokud hostování nedůvěryhodných aplikací v clusteru Service Fabric

Viz Hostování nedůvěryhodných aplikací v clusteru Service Fabric.

Další kroky