Osvědčené postupy pro ochranu tajných kódů
Tento článek obsahuje pokyny k ochraně tajných kódů a snížení rizika neoprávněného přístupu. Postupujte podle těchto pokynů a ujistěte se, že neukládáte citlivé informace, jako jsou přihlašovací údaje v kódu, úložiště GitHub, protokoly, kanály kontinuální integrace a průběžné nasazování (CI/CD) atd. Pokyny v tomto článku jsou kompilovány z doporučení jednotlivých služeb a také z srovnávacího testu Microsoft Cloud Security (MCSB).
Obecné osvědčené postupy
V dnešním digitálním prostředí je zabezpečení citlivých informací, jako jsou přihlašovací údaje aplikace a tajné kódy, klíčové. Porušení může vést k vážným důsledkům, včetně ztráty dat, finančních sankcí a poškození pověsti. Implementace komplexní strategie správy tajných kódů je nezbytná pro zmírnění těchto rizik.
Provedení auditu pro identifikaci tajných kódů
Než budete moct zabezpečit tajné kódy, musíte vědět, kde jsou. Provádění důkladného auditu systémů a aplikací pomáhá identifikovat všechny citlivé informace, které potřebují ochranu. To zahrnuje hesla, klíče rozhraní API, připojovací řetězec a další přihlašovací údaje. Pravidelné audity zajišťují, aby se nové tajné kódy zohledovaly a stávající tajné kódy byly správně spravované.
Je důležité si uvědomit, že i dynamicky vytvořené tajné kódy, jako jsou tokeny OAuth, které můžou být dočasné, je stále potřeba chránit se stejnou kategorií jako dlouhodobé tajné kódy.
Vyhněte se pevně zakódování tajných kódů
Vložení tajných kódů přímo do kódu nebo konfiguračních souborů představuje významné bezpečnostní riziko. Pokud dojde k ohrožení vašeho základu kódu, jsou to vaše tajné kódy. Místo toho použijte proměnné prostředí nebo nástroje pro správu konfigurace, které udržují tajné kódy mimo zdrojový kód. Tento postup minimalizuje riziko náhodné expozice a zjednodušuje proces aktualizace tajných kódů.
Integrace načítání tajných kódů do kanálu automatizovaného nasazení a použití vzorů injektáže tajných kódů navíc může zabránit nechtěnému zveřejnění tajných kódů v protokolech nebo správě verzí, což dále zvyšuje zabezpečení procesu nasazení.
Viz Doporučení pro ochranu tajných kódů aplikací.
Použití zabezpečených úložišť klíčů
Využívání zabezpečených úložišť klíčů zajišťuje, že jsou vaše tajné kódy uložené v zabezpečeném šifrovaném umístění. Služby jako Azure Key Vault a Azure Managed HSM poskytují robustní funkce zabezpečení, včetně řízení přístupu, protokolování a automatické obměny. Tento přístup centralizuje správu tajných kódů a snižuje riziko neoprávněného přístupu.
Pokud chcete ještě větší zabezpečení, zejména u vysoce citlivých nebo důležitých tajných kódů, zvažte šifrování tajného kódu pomocí úložišť klíčů v modelu hardwarového zabezpečení (HSM), které nabízejí vylepšenou ochranu v porovnání se softwarovými úložišti tajných kódů. Přehled všech nabídek správy klíčů v Azure a pokyny, které si vybrat, najdete v tématu Správa klíčů v Azure a výběr správného řešení pro správu klíčů.
Implementace nástrojů pro kontrolu tajných kódů
Pravidelné prohledávání základu kódu pro vložené tajné kódy může zabránit náhodnému vystavení. Nástroje, jako je Azure DevOps Credential Scanner a funkce kontroly tajných kódů GitHubu, můžou automaticky zjišťovat a upozorňovat na všechny tajné kódy nalezené v úložištích. Integrace těchto nástrojů do kanálu CI/CD zajišťuje průběžné monitorování. Je důležité zacházet s veškerým tajným kódem, který tyto nástroje pro kontrolu najdou, jako ohrožené, což znamená, že by se mělo okamžitě odvolat a nahradit, aby se zachovala integrita stavu zabezpečení.
Využití spravovaných identit
Spravované identity v Azure poskytují bezpečný způsob ověřování aplikací ve službách Azure bez uložení přihlašovacích údajů do kódu. Povolením spravovaných identit pro prostředky Azure můžete bezpečně přistupovat ke službě Azure Key Vault a dalším službám, což snižuje potřebu ručního zpracování tajných kódů. Tento přístup nejen minimalizuje vytváření tajných kódů, ale také snižuje prostor pro potenciální porušení zabezpečení, protože odpovědnost za správu přihlašovacích údajů se deleguje na platformu.
Použití podrobného řízení přístupu
Pomocí podrobného řízení přístupu u tajných kódů dodržujte zásadu nejnižšího oprávnění. Pomocí řízení přístupu na základě role v Azure (RBAC) se ujistěte, že k určitým tajným kódům mají přístup jenom autorizované entity. Pravidelně kontrolujte a aktualizujte přístupová oprávnění, abyste zabránili neoprávněnému přístupu. Je také vhodné implementovat různé role, jako je uživatel, správce a auditor, ke správě přístupu k tajným kódům, a zajistit tak, aby měly odpovídající úroveň oprávnění jenom důvěryhodné identity.
Prohlédnou si průvodce RBAC pro Azure Key Vault.
Pravidelné obměna tajných kódů
Tajné kódy jsou náchylné k úniku nebo expozici v průběhu času. Pravidelné obměně tajných kódů snižuje riziko neoprávněného přístupu. Tajné kódy ve službě Azure Key Vault můžete obměňovat pro určité tajné kódy. U těch, které nelze automaticky otočit, vytvořte proces ručního obměny a ujistěte se, že se vyprázdní, když se už nepoužívají.
Automatizace procesu obměně tajných kódů a vytvoření redundance do správy tajných kódů může zajistit, aby obměně nenarušila dostupnost služby. Implementace logiky opakování a vzorů souběžného přístupu v kódu může pomoct minimalizovat problémy během okna rotace.
Monitorování a přístup k protokolům
Povolte protokolování a monitorování pro váš systém pro správu tajných kódů, abyste mohli sledovat přístup a využití. K monitorování všech aktivit souvisejících s vašimi tajnými klíči použijte protokolování služby Key Vault nebo služby, jako je Azure Monitor a Azure Event Grid. Tím získáte přehled o tom, kdo přistupoval k vašim tajným kódům, a pomáhá zjišťovat podezřelé chování nebo potenciální incidenty zabezpečení. Udržování podrobných tras auditu je důležité pro kontrolu a ověřování přístupu k tajným kódům, což může pomoct zabránit krádeži identity, vyhnout se zneužívání a snížit nepotřebnou expozici.
Implementace izolace sítě
Omezte vystavení tajných kódů implementací izolace sítě. Nakonfigurujte brány firewall a skupiny zabezpečení sítě, abyste omezili přístup k trezorům klíčů. Povolte přístup k tajným kódům jenom důvěryhodným aplikacím a službám, minimalizaci prostoru pro útoky a zabránění neoprávněnému přístupu. Kromě toho zvažte použití několika trezorů klíčů k vytvoření hranic izolace pro různé komponenty, abyste zajistili, že pokud dojde k ohrožení zabezpečení jedné komponenty, nemůže získat kontrolu nad jinými tajnými kódy nebo celou úlohou.
Šifrování neaktivních uložených a přenášených tajných kódů
Ujistěte se, že jsou vaše tajné kódy šifrované v klidovém stavu i při přenosu. Azure Key Vault bezpečně ukládá tajné kódy pomocí šifrování obálky, kde jsou šifrovací klíče dat (DEKs) šifrované pomocí šifrovacích klíčů klíčů (KEK) a poskytují další vrstvu zabezpečení. Tento přístup vylepšuje ochranu před neoprávněným přístupem. Kromě toho používejte zabezpečené komunikační protokoly, jako je HTTPS, k šifrování přenášených dat mezi vašimi aplikacemi a trezorem klíčů, abyste zajistili ochranu tajných kódů během ukládání i přenosu.
V Azure se šifrování neaktivních uložených dat implementuje napříč různými službami pomocí šifrování AES 256, zatímco přenášená data jsou zabezpečená prostřednictvím protokolu TLS a MACsec, aby se zabránilo neoprávněnému přístupu během přenosu. Tyto postupy šifrování poskytují komplexní ochranu vašich dat bez ohledu na to, jestli se ukládají nebo přenášejí mezi systémy. Další podrobnosti najdete v tématu Šifrování neaktivních uložených a přenášených dat.
Bezpečné rozdělení tajných kódů
Při distribuci tajných kódů se ujistěte, že jsou bezpečně sdíleny v rámci organizace i mimo ni. Používejte nástroje navržené pro zabezpečené sdílení a do plánů zotavení po havárii zahrňte postupy obnovení tajných kódů. Pokud dojde k ohrožení nebo úniku klíče, měl by se okamžitě znovu vygenerovat. Pokud chcete zvýšit zabezpečení, používejte místo sdílení klíčů jedinečné klíče pro každého příjemce, a to i v případě, že mají podobné vzory přístupu. Tento postup zjednodušuje správu a odvolávání klíčů a zajišťuje, aby ohrožené klíče mohly být odvolány, aniž by to mělo vliv na ostatní uživatele.
Osvědčené postupy specifické pro službu
Jednotlivé služby můžou mít další osvědčené postupy a pokyny pro ochranu tajných kódů. Několik příkladů:
- API Management: Použití pojmenovaných hodnot v zásadách služby Azure API Management s integrací služby Key Vault
- App Service: Použití odkazů služby Key Vault pro App Service a Azure Functions
- Application Gateway: Konfigurace služby Application Gateway s ukončením protokolu TLS pomocí webu Azure Portal
- Automatizace: Správa přihlašovacích údajů ve službě Azure Automation
- konfigurace Aplikace Azure: Kurz: Použití odkazů služby Key Vault v aplikaci ASP.NET Core
- Azure Bot Service: Šifrování služby Azure Bot Service pro neaktivní uložená data
- Azure Center pro řešení SAP: Azure Center for SAP Solutions – Nasazení – Příprava sítě na nasazení
- Azure Communications Gateway: Vytváření a ukládání tajných kódů
- Azure Communications Service: Vytváření a správa přístupových tokenů
- Flexibilní server Azure Database for PostgreSQL: Azure Database for PostgreSQL – Šifrování dat flexibilního serveru pomocí klíče spravovaného zákazníkem
- Azure Databricks: Integrace služby Key Vault v Databricks
- Azure DevTest Labs: Povolení spravovaných identit přiřazených uživatelem na virtuálních počítačích testovacího prostředí v Azure DevTest Labs
- Azure Front Door: Tajné kódy služby Azure Front Door
- Azure HDInsight v AKS: Požadavky na prostředky – Vytvoření služby Azure Key Vault
- Azure Information Protection: Podrobnosti o podpoře služby Azure Information Protection key Vault
- Azure Kubernetes Service (AKS): Úložiště tajných kódů CSI
- Spravované aplikace Azure: Přístup k tajnému kódu služby Key Vault při nasazování spravovaných aplikací Azure
- Azure OpenAI: Vývoj aplikací služeb Azure AI pomocí služby Key Vault
- Azure Pipelines: Ochrana tajných kódů ve službě Azure Pipelines
- Azure Purview: Přihlašovací údaje pro ověřování zdroje v Microsoft Purview
- Služba Azure SignalR: Referenční informace ke tajným kódům služby Key Vault v nastavení šablony adresy URL
- Azure Service Bus: Ověřování a autorizace aplikace pomocí ID Microsoft Entra pro přístup k entitě služby Azure Service Bus
- Azure Stack Edge: Správa tajných kódů Azure Stack Edge pomocí služby Azure Key Vault
- Azure Stack Hub: Obměna tajných kódů
- Azure Web PubSub: Přidání vlastního certifikátu
- Zálohování: Konfigurace trezoru pro šifrování pomocí klíčů spravovaných zákazníkem
- Cognitive Services: Vývoj aplikací Azure Cognitive Services pomocí služby Key Vault
- Data Factory: Ukládání přihlašovacích údajů ve službě Azure Key Vault
- ExpressRoute: Nakonfigurujte šifrování MACsec pro ExpressRoute Direct.
- Funkce: Použití odkazů služby Key Vault pro App Service a Azure Functions
- Key Vault: Informace o tajných klíči služby Azure Key Vault
- Logic Apps: Standardní nastavení aplikace Logic Apps
- Machine Learning Service: Použití tajných kódů přihlašovacích údajů ověřování v úlohách Azure Machine Learning
- SQL IaaS: Konfigurace integrace služby Azure Key Vault pro SQL Server na virtuálních počítačích Azure (Resource Manager)
- Úložiště: Správa klíčů účtu úložiště pomocí služby Key Vault a Azure CLI
Další kroky
Minimalizace rizika zabezpečení je sdílená odpovědnost. Musíte být proaktivní při provádění kroků pro zabezpečení úloh. Přečtěte si další informace o sdílené odpovědnosti v cloudu.
Podívejte se na osvědčené postupy a vzory zabezpečení Azure, kde najdete další osvědčené postupy zabezpečení, které můžete použít při navrhování, nasazování a správě cloudových řešení pomocí Azure.