Nasazení kódu
Automatizované kanály sestavení a vydání by měly aktualizovat úlohu na novou verzi bez přerušení závislostí. Rozšiřte automatizaci pomocí procesů, které umožňují rychle nasadit opravy s vysokou prioritou.
Při zabezpečování aplikací v cloudu by organizace měly využít stávající pokyny a automatizaci, a ne od nuly. Používání prostředků a lekcí získaných externími organizacemi, které jsou na začátku těchto modelů, může urychlit zlepšování zabezpečení organizací stav s nižšími náklady na úsilí a prostředky.
Klíčové body
- zapojte tým zabezpečení při plánování a navrhování procesu DevOps pro integraci preventivních a vyšetřovací nástrojch ovládacích prvků pro bezpečnostní rizika.
- Navrhněte automatizované kanály nasazení, které umožňují rychle přesměrovat a vrátit zpět nasazení, aby se vyřešily kritické chyby a aktualizace kódu mimo životní cyklus normálního nasazení.
- Integrujte nástroje pro kontrolu kódu v rámci kanálu CI/CD.
Vrácení zpět a přeposílání
Pokud dojde k nějakému problému, kanál by se měl vrátit k předchozí pracovní verzi. N-1 a N + 1 odkazují na vrácení zpět a verze s přesměrováním. Kanály automatizovaného nasazení by měly umožňovat nasazení s rychlým posunem a vrácením zpět, které řeší kritické chyby a aktualizace kódu mimo normální životní cyklus nasazení.
Je možné nasadit N-1 nebo N + 1 verze pomocí automatizovaných kanálů, kde N je aktuální verze nasazení v produkčním prostředí?
Vzhledem k tomu, že aktualizace zabezpečení jsou vysokou prioritou, navrhněte kanál, který podporuje pravidelné aktualizace a kritické opravy zabezpečení.
Verze je obvykle přidružená k procesům schvalování s více přihlašováním, branami kvality atd. Pokud je nasazení úlohy malé s minimálním schválením, můžete obvykle použít stejný postup a kanál k vydání opravy zabezpečení.
Proces schvalování, který je složitý a který provede značnou dobu, může odložit opravu. Zvažte vytvoření nouzového procesu pro urychlení oprav s vysokou prioritou. Proces může být obchodní a nebo komunikační proces mezi týmy. Dalším způsobem je vytvoření kanálu, který nemusí zahrnovat všechna ověřovaná schválení, ale měl by být schopný rychle napravit opravu. Kanál by měl umožňovat nasazení s rychlým posunem a vrácením zpět, která řeší opravy zabezpečení, kritické chyby a aktualizace kódu mimo běžný životní cyklus nasazení.
Důležité
Nasazení opravy zabezpečení je prioritní, ale nemělo by být na náklady na zavedení regrese nebo chyby. Při navrhování nouzového kanálu pečlivě zvažte, které automatizované testy lze obejít. Vyhodnotit hodnotu každého testu proti době spuštění. Například testy jednotek obvykle dokončí rychle. Integrace nebo ucelené testy mohou běžet dlouhou dobu.
zapojte tým zabezpečení při plánování a navrhování procesu DevOps. Automatický návrh kanálu by měl mít flexibilitu pro nasazení v pravidelných i naléhavých případech. To je důležité pro podporu rychlé a zodpovědné aplikace obou oprav zabezpečení a dalších naléhavých a důležitých oprav.
Navrhovaná akce
Implementací procesu automatizovaného nasazení s podporou scénářů vrácení zpět prostřednictvím slotů pro nasazení Azure App Services.
Další informace
Nastavení přípravných prostředí ve službě Azure App Service
Kontrola přihlašovacích údajů
Přihlašovací údaje, klíče a certifikáty udělují přístup k datům nebo službám používaným úlohou. Uložení přihlašovacích údajů v kódu představuje významné bezpečnostní riziko. Zajistěte, aby byly nástroje pro kontrolu statického kódu integrovanou součástí procesu kontinuální integrace (CI).
Jsou nástroje pro kontrolu kódu integrovanou součástí procesu kontinuální integrace (CI) pro tuto úlohu?
Chcete-li zabránit ukládání přihlašovacích údajů do zdrojového kódu nebo konfiguračních souborů, Integrujte nástroje pro kontrolu kódu v rámci kanálu CI/CD:
- Během doby návrhu použijte analyzátory kódu, abyste zabránili tomu, aby se přihlašovací údaje dostaly do úložiště zdrojového kódu. například analyzátory .NET Compiler Platform (Roslyn) kontrolují kód v jazyce C# nebo Visual Basic.
- Během procesu sestavení použijte doplňky kanálu k zachycení přihlašovacích údajů ve zdrojovém kódu. mezi možnosti patří GitHub pokročilé zabezpečení a nástroje pro analýzu zdrojového kódu OWASP.
- V rámci procesu CI zkontrolujte všechny závislosti, jako jsou knihovny třetích stran a komponenty architektury. Prozkoumejte ohrožené součásti, které nástroj označil příznakem. Zkombinujete tento úkol s dalšími úlohami kontroly kódu, které kontrolují změny kódu, výsledky testů a pokrytí.
- Použijte kombinaci testování dynamického zabezpečení aplikací (DAST) a testování statického zabezpečení aplikací (SAST). DAST testuje aplikaci, která se používá. SAST vyhledá zdrojový kód a detekuje chyby zabezpečení na základě jeho návrhu nebo implementace. Některé možnosti technologie poskytuje OWASP. Další informace najdete v tématu nástroje SAST a Nástroje pro kontrolu ohrožení zabezpečení.
- Používejte nástroje pro kontrolu specializované na technologie používané úlohou. Například pokud je úloha kontejnerem, spusťte nástroje pro vyhledávání s podporou kontejnerů, abyste zjistili rizika v registru kontejnerů před použitím a při použití.
Navrhované akce
zahrňte zabezpečený DevOps v sadě Azure toolkit a pokyny publikované organizací pro Web App Security Project (OWASP) nebo podobnou organizaci pro guid.
Další informace
odkazy Community
- Nástroje pro analýzu zdrojového kódu OWASP
- GitHub Rozšířené zabezpečení
- Nástroje pro kontrolu ohrožení zabezpečení
Vraťte se k hlavnímu článku: zabezpečení nasazení a testování v Azure