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ů:

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.