Osvědčené postupy zabezpečení Azure Service Fabric
Nasazení aplikace v Azure je rychlé, jednoduché a nákladově efektivní. Před nasazením cloudové aplikace do produkčního prostředí si Projděte 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 je vysvětleno:
- Co je nejlepší postup.
- Proč byste měli implementovat osvědčené postupy.
- Co se může stát, když neimplementujete osvědčený postup.
- Způsob, jakým se naučíte implementovat osvědčené postupy.
doporučujeme následující osvědčené postupy zabezpečení pro Azure Service Fabric:
- k vytváření zabezpečených clusterů použijte Azure Resource Manager šablony a modul Service Fabric PowerShell.
- Použijte certifikáty X. 509.
- Nakonfigurujte zásady zabezpečení.
- Implementujte konfiguraci zabezpečení Reliable Actors.
- Nakonfigurujte TLS pro Azure Service Fabric.
- Použijte izolaci sítě a zabezpečení pomocí Service Fabric Azure.
- Nakonfigurujte Azure Key Vault pro zabezpečení.
- Přiřaďte uživatele k rolím.
Osvědčené postupy pro zabezpečení clusterů
Vždy používat zabezpečený cluster:
- Implementujte zabezpečení clusteru pomocí certifikátů.
- Poskytněte klientský přístup (správce a jen pro čtení) pomocí Azure Active Directory (Azure AD).
Používat automatizovaná nasazení:
- Pomocí skriptů vygenerujte, nasaďte a převeďte tajné klíče.
- Uložte tajné kódy do Azure Key Vault a použijte Azure AD pro všechny ostatní klientské přístupy.
- Vyžadovat ověřování pro lidské přístup k tajným klíčům.
Kromě toho vezměte v úvahu následující možnosti konfigurace:
- Pomocí skupin zabezpečení sítě Azure (skupin zabezpečení sítě) vytvořte hraniční sítě (označované také jako zóny demilitarizovaná, zóny DMZ a monitorované podsítě).
- Přístup k virtuálním počítačům clusteru nebo Správa clusteru pomocí serverů pro odkazy s Připojení ke vzdálené ploše.
Vaše clustery musí být zabezpečené, aby se zabránilo neautorizovaným uživatelům v připojení, zejména když cluster běží v produkčním prostředí. I když je možné vytvořit nezabezpečený cluster, můžou se anonymní uživatelé připojit ke clusteru, Pokud cluster zpřístupňuje koncové body správy k 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 aplikace a služby v clusteru můžou hostovat jenom ty počítače, které jsou autorizované pro připojení ke clusteru. v tomto scénáři můžou clustery spuštěné v Azure nebo samostatné clustery, které běží na Windows, používat zabezpečení certifikátů nebo zabezpečení Windows pro Windows serverových počítačů.
- zabezpečení typu klient-uzel: tento scénář zabezpečuje komunikaci mezi klientem Service Fabric a jednotlivými uzly v clusteru.
- Service Fabric řízení přístupu na základě role (Service Fabric RBAC): tento scénář používá samostatné identity (certifikáty, Azure AD atd.) pro každou roli správce a klienta, která přistupuje ke clusteru. Identity role se určují při vytváření clusteru.
Poznámka
Doporučení zabezpečení pro clustery Azure: Použijte zabezpečení Azure AD k ověřování klientů a certifikátů pro zabezpečení mezi uzly.
pokud chcete nakonfigurovat samostatný cluster Windows, přečtěte si téma konfigurace nastavení samostatného clusteru Windows.
pomocí šablon Azure Resource Manager a modulu Service Fabric powershellu vytvořte zabezpečený cluster. podrobné pokyny k vytvoření zabezpečeného Service Fabric clusteru pomocí šablon Azure Resource Manager najdete v tématu vytvoření clusteru Service Fabric.
Použijte šablonu Azure Resource Manager:
- Přizpůsobte si cluster pomocí šablony a nakonfigurujte spravované úložiště pro virtuální pevné disky virtuálních počítačů (VHD).
- Proveďte změny ve své skupině prostředků pomocí šablony pro jednoduchou správu konfigurace a auditování.
Zacházet s konfigurací clusteru jako s kódem:
- Při kontrole konfigurací nasazení důkladně poznáte.
- Nepoužívejte implicitní příkazy pro přímou úpravu prostředků.
mnoho aspektů životního cyklu aplikace Service Fabric lze automatizovat. modul Service Fabric PowerShell automatizuje běžné úlohy pro nasazení, upgrade, odebrání a testování aplikací Azure Service Fabric. K dispozici jsou také spravovaná rozhraní API a rozhraní API protokolu HTTP pro správu aplikací.
Použití certifikátů X. 509
vždy zabezpečte své clustery pomocí certifikátů X. 509 nebo zabezpečení Windows. Zabezpečení je konfigurováno pouze při vytváření clusteru. Po vytvoření clusteru není možné zapnout zabezpečení.
Chcete-li zadat certifikát clusteru, nastavte hodnotu vlastnosti ClusterCredentialType na hodnotu x509. Chcete-li zadat certifikát serveru pro vnější připojení, nastavte vlastnost ServerCredentialType na hodnotu x509.
Kromě toho postupujte podle těchto postupů:
- vytvořte certifikáty pro produkční clustery pomocí správně nakonfigurované služby Windows Server certificate. Můžete také získat certifikáty od schválené certifikační autority (CA).
- Pro produkční clustery nikdy nepoužívejte dočasný nebo testovací certifikát, 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 provozní clustery pomocí certifikátů X. 509 nebo zabezpečení 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čují prostředky používané aplikacemi. Prostředky, jako jsou soubory, adresáře a certifikáty, se při nasazení aplikace ukládají v rámci uživatelských účtů. Tato funkce usnadňuje spouštění aplikací mezi sebou, dokonce i ve sdíleném hostovaném prostředí.
Použít skupinu domény nebo uživatele služby Active Directory: Spusťte službu pod pověřeními pro účet uživatele nebo skupiny služby Active Directory. Nezapomeňte použít místní službu Active Directory v rámci vaší domény a neAzure Active Directory. Přístup k dalším prostředkům v doméně, kterým bylo uděleno oprávnění, pomocí uživatele domény nebo skupiny. Například prostředky, jako jsou sdílené soubory.
Přiřaďte zásadu zabezpečení přístupu pro koncové body HTTP a HTTPS: Určete vlastnost SecurityAccessPolicy , která použije zásadu runas na 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 RunAs, pod kterým služba běží. Když zásada není nastavená, http.sys nemá přístup ke službě, a můžete získat chyby s voláními z klienta.
informace o tom, jak používat zásady zabezpečení v Service Fabricm clusteru, 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 se rozhodnutí o použití konkrétního vzoru vychází z toho, jestli problém se softwarem vyhovuje.
Obecně platí, že pomocí vzoru návrhu objektu actor můžete namodelovat řešení pro následující problémy se softwarem nebo scénáře zabezpečení:
- Vaše místo na problému zahrnuje velký počet (tisíců 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ě stavu dotazování v rámci sady aktérů.
- Instance objektu actor neblokují volající s nepředvídatelnými zpožděními vydávajících vstupně-výstupních operací.
v Service Fabric jsou objekty actor implementovány v Reliable Actors aplikačním rozhraní. tato architektura je založená na vzoru objektu actor a postavená nad Service Fabric Reliable Services. Každá služba Reliable Actors, kterou píšete, je spolehlivý stavová služba typu dělená.
Každý objekt actor je definován jako instance typu objektu actor, která je shodná se způsobem, jakým objekt .NET je instancí typu .NET. Například typ objektu actor , který implementuje funkce kalkulačky, může mít mnoho aktérů tohoto typu, které jsou distribuovány na různých uzlech v rámci clusteru. Každý z distribuovaných objektů actor 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á při replikaci. Tato konfigurace brání službám zobrazovat provoz replikace mezi sebou a zajišťuje zabezpečení vysoce dostupných dat. Ve výchozím nastavení se v prázdném oddílu konfigurace zabezpečení zabrání zabezpečení replikace. Konfigurace replikátoru konfigurují Replikátor, který zodpovídá za vysoce spolehlivý stav poskytovatele stavu objektu actor.
Konfigurace TLS pro Azure Service Fabric
Proces ověřování serveru ověřuje koncové body správy clusteru pro klienta pro správu. Klient pro správu pak rozpozná, že se jedná o skutečný cluster. tento certifikát taky poskytuje TLS pro rozhraní API pro správu HTTPS a pro Service Fabric Explorer přes HTTPS. Pro svůj cluster musíte získat název vlastní domény. Když vyžádáte certifikát od certifikační autority, název subjektu certifikátu se musí shodovat s názvem vlastní domény, který používáte pro svůj cluster.
Pokud chcete nakonfigurovat TLS pro aplikaci, musíte nejdřív získat certifikát SSL/TLS, který je podepsaný certifikační autoritou. CA je důvěryhodná třetí strana, která vydává certifikáty pro účely zabezpečení 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 pro certifikáty SSL/TLS v Azure:
Certifikát musí obsahovat privátní klíč.
Certifikát se musí vytvořit pro výměnu klíčů a exportovatelné do souboru Personal Information Exchange (. 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ě.
- Vyžádejte si certifikát od certifikační autority s názvem subjektu, který se shoduje s názvem vlastní domény vaší služby. Pokud například vlastní název domény je Contoso. com, měl by certifikát z vaší certifikační autority mít název subjektu . contoso.com nebo www. contoso.com.
Poznámka
Nemůžete získat certifikát SSL/TLS z certifikační autority pro doménu cloudapp.NET .
Certifikát musí používat minimálně 2 048 bitů šifrování.
Protokol HTTP není zabezpeč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 do jiných koncových bodů. Útočníci mohou zachytit a zobrazit citlivá data, která jsou odesílána prostřednictvím protokolu HTTP, například Podrobnosti o kreditních kartách a přihlášení účtu. Pokud jsou data odesílána nebo odeslána prostřednictvím prohlížeče prostřednictvím protokolu HTTPS, protokol SSL zajišťuje šifrování citlivých informací a jejich zabezpečení před zachytáváním.
Další informace o používání certifikátů SSL/TLS najdete v tématu Konfigurace TLS pro aplikaci v Azure.
Použití izolace a zabezpečení sítě s využitím Azure Service Fabric
Pomocí šablony Azure Resource Manager jako ukázku nastavte clusterový zabezpečený cluster s protokolem NodeType. Řízení příchozího a odchozího síťového provozu pomocí šablony a skupin zabezpečení sítě.
Šablona má NSG pro každou sadu škálování virtuálních počítačů a slouží k řízení provozu v a ze sady. Pravidla jsou ve výchozím nastavení nakonfigurována tak, aby umožňovala veškerý provoz potřebný pro systémové služby a porty aplikací zadané v šabloně. Zkontrolujte tato pravidla a proveďte jakékoli změny, které odpovídají vašim potřebám, včetně přidání nových pravidel pro aplikace.
Další informace najdete v tématu běžné síťové scénáře pro Azure Service Fabric.
Nastavit Azure Key Vault pro zabezpečení
Service Fabric používá certifikáty k poskytování ověřování a šifrování pro zabezpečení clusteru a jeho aplikací.
Service Fabric pomocí certifikátů X. 509 zabezpečuje cluster a poskytuje funkce zabezpečení aplikací. pomocí Azure Key Vault můžete spravovat certifikáty pro Service Fabric clustery v Azure. Poskytovatel prostředků Azure, který vytvoří clustery, vyžádá certifikáty z trezoru klíčů. Poskytovatel pak nainstaluje certifikáty na virtuální počítače, když je cluster nasazený v Azure.
mezi Azure Key Vault, clusterem Service Fabric a poskytovatelem prostředků, který používá certifikáty, existuje vztah certifikátu. Po vytvoření clusteru se informace o vztahu certifikátu ukládají do trezoru klíčů.
Existují dva základní kroky nastavení trezoru klíčů:
Vytvořte skupinu prostředků specificky pro Trezor klíčů.
Doporučujeme, abyste do vlastní skupiny prostředků umístili Trezor klíčů. Tato akce pomáhá zabránit ztrátě klíčů a tajných kódů v případě, že se odeberou jiné skupiny prostředků, například úložiště, výpočetní prostředky nebo skupina obsahující váš cluster. Skupina prostředků, která obsahuje váš Trezor klíčů, musí být ve stejné oblasti jako cluster, který ho používá.
Vytvořte Trezor klíčů v nové skupině prostředků.
Pro nasazení musí být povolený Trezor klíčů. Poskytovatel výpočetních prostředků pak může získat certifikáty z trezoru a nainstalovat je na instance 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é reprezentují váš cluster, přiřaďte uživatele k rolím, které jsou podporovány nástrojem Service Fabric: jen pro čtení a správce. Tyto role můžete přiřadit pomocí Azure Portal.
Poznámka
další informace o použití rolí v Service Fabric najdete v tématu Service Fabric řízení přístupu na základě role pro Service Fabric klienty.
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 zajišťuje bezpečnější cluster.
Další kroky
- kontrolní seznam zabezpečení Service Fabric
- nastavte vývojové prostředíService Fabric.
- přečtěte si o možnostech podpory Service Fabric.