Doporučení zabezpečení pro prostředky DevOps
Tento článek uvádí doporučení, která se můžou zobrazit v programu Microsoft Defender for Cloud, pokud připojíte prostředí Azure DevOps, GitHub nebo GitLab pomocí stránky Nastavení prostředí.
Doporučení, která se zobrazí ve vašem prostředí, jsou založená na prostředcích, které chráníte, a na přizpůsobené konfiguraci. Doporučení se zobrazí na portálu , která platí pro vaše prostředky.
Další informace o akcích, které můžete provést v reakci na tato doporučení, najdete v tématu Náprava doporučení v defenderu pro cloud.
Přečtěte si další informace o výhodách a funkcích zabezpečení DevOps.
Doporučení DevOps neovlivňují vaše skóre zabezpečení. Pokud se chcete rozhodnout, která doporučení se mají nejprve vyřešit, podívejte se na závažnost jednotlivých doporučení a jeho potenciální dopad na vaše skóre zabezpečení.
Doporučení Azure DevOps
Úložiště Azure DevOps by měla mít povolenou službu GitHub Advanced Security pro Azure DevOps (GHAzDO).
Popis: Zabezpečení DevOps v defenderu pro cloud používá centrální konzolu, která týmům zabezpečení umožňuje chránit aplikace a prostředky před kódem v rámci Azure DevOps. S povolením úložiště GitHub Advanced Security pro Azure DevOps (GHAzDO), včetně GitHub Advanced Security pro Azure DevOps, získáte zjištění o tajných kódech, závislostech a ohroženích zabezpečení kódu v úložištích Azure DevOps v Microsoft Defenderu pro cloud.
Závažnost: Vysoká
Úložiště Azure DevOps by měla mít vyřešená zjištění kontroly tajných kódů.
Popis: Tajné kódy byly nalezeny v úložištích kódu. Okamžitě opravte ochranu před porušením zabezpečení. Tajné kódy nalezené v úložištích můžou uniknout nebo je zjistit nežádoucí osoba, což vede k ohrožení aplikace nebo služby. Nástroj pro kontrolu přihlašovacích údajů Microsoft Security DevOps kontroluje pouze sestavení, na kterých je nakonfigurovaná ke spuštění. Výsledky proto nemusí odrážet úplný stav tajných kódů ve vašich úložištích.
Závažnost: Vysoká
V úložištích Azure DevOps by se měla vyřešit zjištění kontroly kódu.
Popis: V úložištích kódu byly nalezeny chyby zabezpečení. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
Vyřešená zjištění kontroly ohrožení zabezpečení závislostí v úložištích Azure DevOps
Popis: Ohrožení zabezpečení závislostí nalezená v úložištích kódu. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
Úložiště Azure DevOps by měla mít infrastrukturu, protože zjištěná zjištění kontroly kódu
Popis: Problémy s konfigurací zabezpečení kódu infrastruktury jako kódu nalezené v úložištích Problémy byly zjištěny v souborech šablon. Pokud chcete zlepšit stav zabezpečení souvisejících cloudových prostředků, důrazně doporučujeme tyto problémy napravit.
Závažnost: Střední
Kanály Azure DevOps by neměly mít k dispozici tajné kódy pro sestavení forků.
Popis: Ve veřejných úložištích je možné, že lidé mimo organizaci vytvářejí forky a spouštějí sestavení ve forku úložiště. V takovém případě, pokud je toto nastavení povolené, můžou externí uživatelé získat přístup k tajným kódům kanálu sestavení, které by měly být interní.
Závažnost: Vysoká
Připojení služby Azure DevOps by neměla udělovat přístup ke všem kanálům
Popis: Připojení služeb slouží k vytváření připojení z Azure Pipelines k externím a vzdáleným službám pro provádění úloh v úloze. Řízení oprávnění kanálu, které kanály mají oprávnění používat připojení služby. Aby bylo možné podporovat zabezpečení operací kanálu, připojení služeb by neměla mít udělený přístup ke všem kanálům YAML. To pomáhá zachovat princip nejnižšího oprávnění, protože útočník může použít ohrožení zabezpečení komponent používaných jedním kanálem k útoku na jiné kanály s přístupem k důležitým prostředkům.
Závažnost: Vysoká
Zabezpečené soubory Azure DevOps by neměly udělovat přístup ke všem kanálům.
Popis: Zabezpečené soubory umožňují vývojářům ukládat soubory, které se dají sdílet napříč kanály. Tyto soubory se obvykle používají k ukládání tajných kódů, jako jsou podpisové certifikáty a klíče SSH. Pokud je zabezpečený soubor udělen přístup ke všem kanálům YAML, může neoprávněný uživatel odcizit informace ze zabezpečených souborů vytvořením kanálu YAML a přístupem k zabezpečenému souboru.
Závažnost: Vysoká
Skupiny proměnných Azure DevOps s tajnými proměnnými by neměly udělovat přístup ke všem kanálům
Popis: Skupiny proměnných ukládají hodnoty a tajné kódy, které můžete chtít předat do kanálu YAML nebo zpřístupnit napříč několika kanály. Skupiny proměnných můžete sdílet a používat ve více kanálech ve stejném projektu. Pokud je skupina proměnných obsahující tajné kódy označená jako přístupná pro všechny kanály YAML, může útočník zneužít prostředky zahrnující proměnné tajných kódů vytvořením nového kanálu.
Závažnost: Vysoká
Připojení služby Azure DevOps Classic azure by se neměla používat pro přístup k předplatnému.
Popis: Pro připojení k předplatným Azure použijte typ připojení služeb Azure Resource Manageru (ARM) místo připojení ke službě Azure Classic. Model ARM nabízí několik vylepšení zabezpečení, včetně silnějšího řízení přístupu, vylepšeného auditování, nasazení a zásad správného řízení na základě ARM, přístupu ke spravovaným identitám a trezoru klíčů pro tajné kódy, ověřování založeného na oprávněních Entra a podporu značek a skupin prostředků pro zjednodušenou správu.
Závažnost: Střední
(Preview) V úložištích Azure DevOps by se měla vyřešit zjištění testů zabezpečení rozhraní API.
Popis: Ohrožení zabezpečení rozhraní API nalezená v úložištích kódu. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
(Preview) Úložiště Azure DevOps by pro nabízení kódu měla vyžadovat minimální schválení dvou revidujících.
Popis: Abyste zabránili přímému potvrzení nechtěných nebo škodlivých změn, je důležité implementovat zásady ochrany pro výchozí větev v úložištích Azure DevOps. Doporučujeme, aby před sloučením kódu s výchozí větví museli schvalovat žádosti o přijetí změn alespoň dva revidujícím kódu. Vyžadováním schválení od minimálního počtu dvou revidujících můžete snížit riziko neoprávněných úprav, což může vést k nestabilitě systému nebo ohrožení zabezpečení.
Toto doporučení je k dispozici v programu Defender for Cloud– základní stav zabezpečení, pokud jste připojili Azure DevOps k Defenderu pro cloud.
Závažnost: Vysoká
(Preview) Úložiště Azure DevOps by neměla umožnit žadatelům schvalovat vlastní žádosti o přijetí změn.
Popis: Abyste zabránili přímému potvrzení nechtěných nebo škodlivých změn, je důležité implementovat zásady ochrany pro výchozí větev v úložištích Azure DevOps. Doporučujeme tvůrcům žádostí o přijetí změn zakázat schvalování vlastních odeslání, aby zajistili, že každá změna projde objektivní kontrolou jiným uživatelem než autorem. Tímto způsobem můžete snížit riziko neoprávněných úprav, což může vést k nestabilitě systému nebo ohrožení zabezpečení.
Toto doporučení je k dispozici v programu Defender for Cloud– základní stav zabezpečení, pokud jste připojili Azure DevOps k Defenderu pro cloud.
Závažnost: Vysoká
(Preview) Projekty Azure DevOps by měly mít zakázané vytváření klasických kanálů.
Popis: Zakázání vytváření klasických kanálů sestavení a verzí zabraňuje obavám zabezpečení, které vyplývají z YAML a klasických kanálů sdílejících stejné prostředky, například stejná připojení služeb. Potenciální útočníci můžou využít klasické kanály k vytváření procesů, které vyhýbá typickým mechanismům obrany nastaveným v moderních kanálech YAML.
Závažnost: Vysoká
Doporučení GitHubu
Organizace GitHubu by neměly zpřístupnit tajné kódy akcí pro všechna úložiště
Popis: Pro tajné kódy používané v pracovních postupech GitHub Action, které jsou uložené na úrovni organizace GitHubu, můžete použít zásady přístupu k řízení, která úložiště můžou používat tajné kódy organizace. Tajné kódy na úrovni organizace umožňují sdílet tajné kódy mezi více úložišti. To snižuje potřebu vytvářet duplicitní tajné kódy. Jakmile je však tajný klíč přístupný pro úložiště, může každý, kdo má v úložišti přístup k zápisu, získat přístup k tajnému kódu z libovolné větve v pracovním postupu. Pokud chcete snížit prostor pro útoky, ujistěte se, že je tajný kód přístupný jenom z vybraných úložišť.
Toto doporučení je k dispozici v programu Defender for Cloud– základní stav zabezpečení, pokud jste připojili Azure DevOps k Defenderu pro cloud.
Závažnost: Vysoká
Úložiště GitHubu by měla mít povolenou kontrolu tajných kódů.
Popis: GitHub prohledává úložiště známých typů tajných kódů, aby se zabránilo podvodnému použití tajných kódů, které byly omylem potvrzeny do úložišť. Kontrola tajných kódů zkontroluje celou historii Gitu na všech větvích, které jsou v úložišti GitHubu, a zobrazí všechny tajné kódy. Příklady tajných kódů jsou tokeny a privátní klíče, které může poskytovatel služeb vydávat za účely ověřování. Pokud je tajný kód vrácený do úložiště, může každý, kdo má k úložišti přístup pro čtení, použít tajný kód pro přístup k externí službě s těmito oprávněními. Tajné kódy by měly být uložené ve vyhrazeném zabezpečeném umístění mimo úložiště projektu.
Závažnost: Vysoká
Úložiště GitHubu by měla mít povolenou kontrolu kódu.
Popis: GitHub používá ke kontrole kódu analýzu kódu, aby v kódu zjistil ohrožení zabezpečení a chyby. Kontrolu kódu je možné použít k vyhledání, třídění a určení priorit oprav stávajících problémů v kódu. Kontrola kódu může také zabránit vývojářům v zavedení nových problémů. Kontroly je možné naplánovat na konkrétní dny a časy nebo se můžou aktivovat kontroly, když v úložišti dojde k určité události, jako je například nabízení. Pokud kontrola kódu najde potenciální ohrožení zabezpečení nebo chybu v kódu, GitHub zobrazí v úložišti upozornění. Ohrožení zabezpečení je problém v kódu projektu, který by mohl být zneužit k poškození důvěrnosti, integrity nebo dostupnosti projektu.
Závažnost: Střední
Úložiště GitHubu by měla mít povolenou kontrolu Dependabot.
Popis: GitHub odesílá upozornění Dependabota, když detekuje ohrožení zabezpečení v závislostech kódu, které ovlivňují úložiště. Ohrožení zabezpečení je problém v kódu projektu, který by mohl být zneužit k poškození důvěrnosti, integrity nebo dostupnosti projektu nebo jiných projektů, které používají jeho kód. Ohrožení zabezpečení se liší v typu, závažnosti a metodě útoku. Pokud kód závisí na balíčku, který má ohrožení zabezpečení, může tato ohrožená závislost způsobit celou řadu problémů.
Závažnost: Střední
Úložiště GitHubu by měla mít vyřešená zjištění kontroly tajných kódů.
Popis: Tajné kódy nalezené v úložištích kódu. Mělo by se to napravit okamžitě, aby se zabránilo narušení zabezpečení. Tajné kódy nalezené v úložištích můžou být únikem nebo zjištěním nežádoucími osobami, což vede k ohrožení aplikace nebo služby.
Závažnost: Vysoká
Úložiště GitHubu by měla mít vyřešená zjištění kontroly kódu.
Popis: Chyby zabezpečení nalezené v úložištích kódu. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
Úložiště GitHubu by měla mít vyřešená zjištění kontroly ohrožení zabezpečení závislostí.
Popis: Úložiště GitHubu by měla mít vyřešená zjištění kontroly ohrožení zabezpečení závislostí.
Závažnost: Střední
Úložiště GitHubu by měla mít infrastrukturu, protože zjištěná zjištění kontroly kódu
Popis: V úložištích byly nalezeny problémy s konfigurací infrastruktury jako zabezpečení kódu. Problémy byly zjištěny v souborech šablon. Pokud chcete zlepšit stav zabezpečení souvisejících cloudových prostředků, důrazně doporučujeme tyto problémy napravit.
Závažnost: Střední
Úložiště GitHubu by měla mít povolené zásady ochrany pro výchozí větev.
Popis: Výchozí větev úložiště by měla být chráněná prostřednictvím zásad ochrany větví, aby se zabránilo přímému potvrzení nechtěných nebo škodlivých změn do úložiště.
Závažnost: Vysoká
Úložiště GitHubu by měla vynutit vložení do výchozí zakázané větve.
Popis: Vzhledem k tomu, že výchozí větev se obvykle používá pro nasazení a další privilegované aktivity, měly by se k ní přistupovat s opatrností. Povolení vynucených nabízených oznámení může ve výchozí větvi zavést neúmyslné nebo škodlivé změny.
Závažnost: Střední
Organizace GitHubu by měly mít povolenou ochranu push pro kontrolu tajných kódů.
Popis: Push Protection zablokuje potvrzení obsahující tajné kódy, čímž zabrání náhodnému vystavení tajných kódů. Aby se zabránilo riziku vystavení přihlašovacích údajů, měla by se ochrana Push Protection povolit automaticky pro každé úložiště s povolenou kontrolou tajných kódů.
Závažnost: Vysoká
Úložiště GitHub by neměla používat spouštěče v místním prostředí
Popis: Spouštěče v místním prostředí na GitHubu nemají záruky provozu v dočasných čistých virtuálních počítačích a můžou být trvale ohroženy nedůvěryhodným kódem v pracovním postupu. Proto by se pro pracovní postupy akcí neměly využívat místní spouštěče.
Závažnost: Vysoká
Organizace GitHubu by měly mít oprávnění pracovního postupu akcí nastavená jen pro čtení.
Popis: Ve výchozím nastavení by měly být pracovním postupům akcí udělena oprávnění jen pro čtení, aby uživatelé se zlými úmysly zneužili pracovní postupy s více oprávněními pro přístup k prostředkům a jejich manipulaci.
Závažnost: Vysoká
Organizace GitHubu by měly mít více než jednu osobu s oprávněními správce.
Popis: Nejméně dva správci snižují riziko ztráty přístupu správce. To je užitečné v případě scénářů účtů se zalomeným sklem.
Závažnost: Vysoká
Organizace GitHubu by měly mít základní oprávnění nastavená na žádná oprávnění nebo číst
Popis: Základní oprávnění by měla být nastavená na žádné nebo přečtené, aby organizace dodržovala zásadu nejnižších oprávnění a zabránila zbytečnému přístupu.
Závažnost: Vysoká
(Preview) Úložiště GitHubu by měla mít vyřešená zjištění testování zabezpečení rozhraní API
Popis: V úložištích kódu byly nalezeny chyby zabezpečení rozhraní API. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
(Preview) Organizace GitHubu by neměly zpřístupnit tajné kódy akcí pro všechna úložiště
Popis: Pro tajné kódy používané v pracovních postupech GitHub Action, které jsou uložené na úrovni organizace GitHubu, můžete použít zásady přístupu k řízení, která úložiště můžou používat tajné kódy organizace. Tajné kódy na úrovni organizace umožňují sdílet tajné kódy mezi více úložišti, což snižuje potřebu vytvářet duplicitní tajné kódy. Pokud je však tajný klíč přístupný pro úložiště, má každý, kdo má v úložišti přístup k zápisu, má přístup k tajnému kódu z libovolné větve pracovního postupu. Pokud chcete snížit prostor pro útoky, ujistěte se, že je tajný kód přístupný jenom z vybraných úložišť.
Závažnost: Vysoká
(Preview) Organizace GitHubu by měly blokovat návrhy Copilotu, které odpovídají veřejnému kódu.
Popis: Povolením filtru Copilotu GitHubu zablokujte návrhy kódu odpovídající veřejnému kódu na GitHubu, což zlepšuje zabezpečení a dodržování právních předpisů. Brání neúmyslnému začlenění veřejného nebo opensourcového kódu, což snižuje riziko právních otázek a zajišťuje dodržování licenčních podmínek. Kromě toho pomáhá vyhnout se potenciálním ohrožením zabezpečení z veřejného kódu do projektů organizace, čímž udržuje vyšší kvalitu kódu a zabezpečení. Když je filtr povolený, GitHub Copilot kontroluje návrhy kódu s okolním kódem přibližně 150 znaků proti veřejnému kódu na GitHubu. Pokud existuje shoda nebo blízko, návrh se nezobrazí.
Závažnost: Vysoká
(Preview) Organizace GitHubu by měly vynucovat vícefaktorové ověřování pro externí spolupracovníky.
Popis: Vynucení vícefaktorového ověřování pro externí spolupracovníky v organizaci GitHubu je bezpečnostní opatření, které vyžaduje, aby spolupracovníci použili další formu identifikace kromě hesla pro přístup k úložištím a prostředkům organizace. To zvyšuje zabezpečení tím, že chrání před neoprávněným přístupem, i když dojde k ohrožení hesla, a pomáhá zajistit dodržování oborových standardů. Zahrnuje informování spolupracovníků o požadavku a poskytování podpory pro přechod, což nakonec snižuje riziko porušení zabezpečení dat.
Závažnost: Vysoká
(Preview) Úložiště GitHubu by pro nabízení kódu měla vyžadovat minimální schválení dvou revidujících.
Popis: Abyste zabránili přímému potvrzení nezamýšlených nebo škodlivých změn, je důležité implementovat zásady ochrany pro výchozí větev v úložištích GitHubu. Doporučujeme, aby před sloučením kódu s výchozí větví museli schvalovat žádosti o přijetí změn alespoň dva revidujícím kódu. Vyžadováním schválení od minimálního počtu dvou revidujících můžete snížit riziko neoprávněných úprav, což může vést k nestabilitě systému nebo ohrožení zabezpečení.
Závažnost: Vysoká
Doporučení GitLabu
Projekty GitLabu by měly mít vyřešené závěry kontroly tajných kódů.
Popis: Tajné kódy byly nalezeny v úložištích kódu. Mělo by se to napravit okamžitě, aby se zabránilo narušení zabezpečení. Tajné kódy nalezené v úložištích můžou být únikem nebo zjištěním nežádoucími osobami, což vede k ohrožení aplikace nebo služby.
Závažnost: Vysoká
Projekty GitLabu by měly mít vyřešené zjištění kontroly kódu.
Popis: V úložištích kódu byly nalezeny chyby zabezpečení. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit.
Závažnost: Střední
Projekty GitLabu by měly mít vyřešené zjištění kontroly ohrožení zabezpečení závislostí.
Popis: Úložiště GitHubu by měla mít vyřešená zjištění kontroly ohrožení zabezpečení závislostí.
Závažnost: Střední
Projekty GitLabu by měly mít infrastrukturu, protože zjištěná zjištění kontroly kódu
Popis: V úložištích byly nalezeny problémy s konfigurací infrastruktury jako zabezpečení kódu. Zobrazené problémy byly zjištěny v souborech šablon. Pokud chcete zlepšit stav zabezpečení souvisejících cloudových prostředků, důrazně doporučujeme tyto problémy napravit.
Závažnost: Střední
Zastaralá doporučení k zabezpečení DevOps
Úložiště kódu by měla mít vyřešená zjištění kontroly kódu.
Popis: Zabezpečení DevOps v defenderu pro cloud zjistilo ohrožení zabezpečení v úložištích kódu. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit. (Žádné související zásady)
Závažnost: Střední
Úložiště kódu by měla mít vyřešená zjištění kontroly tajných kódů.
Popis: Zabezpečení DevOps v defenderu pro cloud zjistilo tajný kód v úložištích kódu. Mělo by se to napravit okamžitě, aby se zabránilo narušení zabezpečení. Tajné kódy nalezené v úložištích můžou být únikem nebo zjištěním nežádoucími osobami, což vede k ohrožení aplikace nebo služby. V případě Azure DevOps nástroj Microsoft Security DevOps CredScan kontroluje pouze buildy, na kterých je nakonfigurované ke spuštění. Výsledky proto nemusí odrážet úplný stav tajných kódů ve vašich úložištích. (Žádné související zásady)
Závažnost: Vysoká
Úložiště kódu by měla mít vyřešené zjištění kontroly Dependabotu.
Popis: Zabezpečení DevOps v defenderu pro cloud zjistilo ohrožení zabezpečení v úložištích kódu. Pokud chcete zlepšit stav zabezpečení úložišť, důrazně doporučujeme tyto chyby zabezpečení napravit. (Žádné související zásady)
Závažnost: Střední
Úložiště kódu by měla mít infrastrukturu, protože zjištěná zjištění kontroly kódu
Popis: Zabezpečení DevOps v defenderu pro cloud zjistilo, že infrastruktura se označuje jako problémy s konfigurací zabezpečení kódu v úložištích. Zobrazené problémy byly zjištěny v souborech šablon. Pokud chcete zlepšit stav zabezpečení souvisejících cloudových prostředků, důrazně doporučujeme tyto problémy napravit. (Žádné související zásady)
Závažnost: Střední
Úložiště GitHubu by měla mít povolenou kontrolu kódu.
Popis: GitHub používá ke kontrole kódu analýzu kódu, aby v kódu zjistil ohrožení zabezpečení a chyby. Kontrolu kódu je možné použít k vyhledání, třídění a určení priorit oprav stávajících problémů v kódu. Kontrola kódu může také zabránit vývojářům v zavedení nových problémů. Kontroly je možné naplánovat na konkrétní dny a časy nebo se můžou aktivovat kontroly, když v úložišti dojde k určité události, jako je například nabízení. Pokud kontrola kódu najde potenciální ohrožení zabezpečení nebo chybu v kódu, GitHub zobrazí v úložišti upozornění. Ohrožení zabezpečení je problém v kódu projektu, který by mohl být zneužit k poškození důvěrnosti, integrity nebo dostupnosti projektu. (Žádné související zásady)
Závažnost: Střední
Úložiště GitHubu by měla mít povolenou kontrolu tajných kódů.
Popis: GitHub prohledává úložiště známých typů tajných kódů, aby se zabránilo podvodnému použití tajných kódů, které byly omylem potvrzeny do úložišť. Kontrola tajných kódů zkontroluje celou historii Gitu na všech větvích, které jsou v úložišti GitHubu, a zobrazí všechny tajné kódy. Příklady tajných kódů jsou tokeny a privátní klíče, které může poskytovatel služeb vydávat za účely ověřování. Pokud je tajný kód vrácený do úložiště, může každý, kdo má k úložišti přístup pro čtení, použít tajný kód pro přístup k externí službě s těmito oprávněními. Tajné kódy by měly být uložené ve vyhrazeném zabezpečeném umístění mimo úložiště projektu. (Žádné související zásady)
Závažnost: Vysoká
Úložiště GitHubu by měla mít povolenou kontrolu Dependabot.
Popis: GitHub odesílá upozornění Dependabota, když detekuje ohrožení zabezpečení v závislostech kódu, které ovlivňují úložiště. Ohrožení zabezpečení je problém v kódu projektu, který by mohl být zneužit k poškození důvěrnosti, integrity nebo dostupnosti projektu nebo jiných projektů, které používají jeho kód. Ohrožení zabezpečení se liší v typu, závažnosti a metodě útoku. Pokud kód závisí na balíčku, který má ohrožení zabezpečení, může tato ohrožená závislost způsobit celou řadu problémů. (Žádné související zásady)
Závažnost: Střední