Doporučení zabezpečení pro prostředky DevOps

Tento článek uvádí doporučení, která se můžou zobrazit v 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í.

Azure DevOps doporučení

Azure DevOps úložiště by měla mít povolené GitHub Advanced Security pro Azure DevOps (GHAzDO)

Popis: Zabezpečení DevOps v Defender for Cloud používá centrální konzolu, která týmům zabezpečení umožňuje chránit aplikace a prostředky před kódem a cloudem napříč Azure DevOps. Díky povolení GitHub advanced security pro úložiště 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, ve které se zobrazí Microsoft Defender for Cloud.

Závažnost: Vysoká

Azure DevOps úložiště 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ů DevOps zabezpečení od Microsoftu 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á

Azure DevOps úložiště by měla 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í

Repozitáře Azure DevOps by měly mít vyřešená zjištění ze skenování zranitelností závislostí.

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í

Repozitáře Azure DevOps by měly mít vyřešená zjištění z kontroly infrastruktury jako 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í

Azure DevOps kanály 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á

Azure DevOps připojení služby by neměla udělovat přístup ke všem kanálům

Popis: Připojení služby slouží k vytvoř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á

Azure DevOps zabezpečených souborů by nemělo 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á

Azure DevOps skupiny proměnných 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á

Azure DevOps připojení klasické služby Azure by se neměla používat pro přístup k předplatnému.

Popis: Pro připojení k Azure předplatným použijte typ připojení služby Azure Resource Manager (ARM) místo připojení Azure klasických služeb. 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) Azure DevOps úložiště by měla mít vyřešená zjištění testování 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 měla vyžadovat minimální schválení dvou kontrolorů pro nabízení kódu.

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 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í se poskytuje v Defender for Cloud základním stavu zabezpečení, pokud jste připojili Azure DevOps k Defender for Cloud.

Závažnost: Vysoká

(Preview) Azure DevOps úložištích by neměly umožnit žadatelům schvalovat vlastní žádosti o přijetí změn.

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 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í se poskytuje v Defender for Cloud základním stavu zabezpečení, pokud jste připojili Azure DevOps k Defender for Cloud.

Závažnost: Vysoká

(Preview) Azure DevOps projekty 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í pro GitHub

GitHub organizace 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 akcí GitHub uložených na úrovni organizace GitHub 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í se poskytuje v Defender for Cloud základním stavu zabezpečení, pokud jste připojili Azure DevOps k Defender for Cloud.

Závažnost: Vysoká

GitHub úložiště by měla mít povolenou kontrolu tajných kódů.

Description: 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 GitHub, 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á

GitHub úložiště by měla mít povolenou kontrolu kódu.

Description: GitHub používá kontrolu kódu k analýze kódu za účelem vyhledání ohrožení zabezpečení a chyb v kódu. 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ýstrahu v úložišti. 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í

GitHub úložiště by měla mít povolenou kontrolu Dependabot.

Description: GitHub odesílá upozornění Dependabota, když zjistí 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í

GitHub úložiště 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á

GitHub úložiště 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í

Repozitáře GitHubu by měly mít vyřešené nálezy ze skenování zranitelností závislostí.

Popis: GitHub úložiště by měla mít vyřešená zjištění kontroly ohrožení zabezpečení závislostí.

Závažnost: Střední

Repozitáře GitHub by měly mít vyřešená zjištění kontroly infrastruktury jako 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í

GitHub úložiště 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á

GitHub úložiště by měla vynutit vložení do výchozí větve zakázáno.

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í

GitHub organizace 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á

GitHub úložiště by neměla používat spouštěče v místním prostředí

Popis: Self-Hosted Runners on GitHub nedostatek záruky provozu v dočasných čistých virtuálních počítačích a může být trvale ohrožen nedůvěryhodným kódem v pracovním postupu. Proto by Self-Hosted Runnery neměly být využívány pro pracovní postupy akcí.

Závažnost: Vysoká

GitHub organizace 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á

GitHub organizace 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á

GitHub organizace by měly mít základní oprávnění nastavená na žádná oprávnění nebo oprávnění ke čtení

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) GitHub úložiště 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) GitHub organizace 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 akcí GitHub, které jsou uložené na úrovni organizace GitHub, 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) GitHub organizace by měly blokovat Návrhy Copilota, které odpovídají veřejnému kódu

Popis: Povolením filtru GitHub Copilot blokovat návrhy kódu odpovídající veřejnému kódu na GitHub zvyš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 zkontroluje návrhy kódu s okolním kódem přibližně 150 znaků proti veřejnému kódu v GitHub. Pokud existuje shoda nebo blízko, návrh se nezobrazí.

Závažnost: Vysoká

(Preview) GitHub organizace 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 GitHub 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) GitHub úložiště 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 GitHub. 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 v GitLabu by měly mít vyřešené nálezy ze skenování zranitelností závislostí.

Popis: GitHub úložiště 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 vyřešené nálezy z kontroly infrastruktury jako 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 Defender for 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 Defender for Cloud našla 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. Pro Azure DevOps nástroj zabezpečení od Microsoftu DevOps CredScan kontroluje pouze buildy, na kterých byl nakonfigurován 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 Defender for 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 Defender for Cloud našla infrastrukturu 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í

GitHub úložiště by měla mít povolenou kontrolu kódu.

Description: GitHub používá kontrolu kódu k analýze kódu za účelem vyhledání ohrožení zabezpečení a chyb v kódu. 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ýstrahu v úložišti. 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í

GitHub úložiště by měla mít povolenou kontrolu tajných kódů.

Description: 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 GitHub, 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á

GitHub úložiště by měla mít povolenou kontrolu Dependabot.

Description: GitHub odesílá upozornění Dependabota, když zjistí 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í