Sdílet prostřednictvím


Kontrola tajných kódů

Vystavené přihlašovací údaje v technických systémech poskytují snadno zneužitelné příležitosti pro útočníky. Kvůli ochraně před touto hrozbou GitHub Advanced Security pro Azure DevOps vyhledá přihlašovací údaje a další citlivý obsah ve zdrojovém kódu. Ochrana nabízených oznámení také zabraňuje úniku přihlašovacích údajů na prvním místě.

Kontrola tajných kódů pro vaše úložiště vyhledává všechny tajné kódy, které už ve zdrojovém kódu existují, a ochrana nabízených oznámení brání zpřístupnění nových tajných kódů ve zdrojovém kódu.

Pokročilé zabezpečení GitHubu pro Azure DevOps funguje s Azure Repos. Pokud chcete používat GitHub Advanced Security s úložišti GitHub, přečtěte si téma GitHub Advanced Security.

Výstrahy kontroly tajných kódů

Pokud je povolené rozšířené zabezpečení, prohledává úložiště tajných kódů vydaných velkým počtem poskytovatelů služeb a generuje výstrahy kontroly tajných kódů.

Pokud přístup k prostředku vyžaduje spárované přihlašovací údaje, může kontrola tajných kódů vytvořit výstrahu pouze v případě, že jsou obě části dvojice zjištěny ve stejném souboru. Párování zajišťuje, že nejdůležitější úniky nejsou skryté za informacemi o částečném úniku. Párování také pomáhá snížit falešně pozitivní výsledky, protože oba prvky páru musí být použity společně pro přístup k prostředku poskytovatele.

Karta Pokročilé zabezpečení v > Azure DevOps je centrum pro zobrazení výstrah zabezpečení. Výběrem karty Tajné kódy zobrazíte výstrahy kontroly tajných kódů. Můžete filtrovat podle stavu a typu tajného kódu. Můžete přejít na upozornění, kde najdete další podrobnosti, včetně pokynů k nápravě. Po povolení rozšířeného zabezpečení se pro vybrané úložiště spustí kontrola, včetně všech historických potvrzení. V průběhu času se upozornění začnou zobrazovat při procházení.

Pokud se větve přejmenují, nebudou mít žádný vliv na výsledky – může to trvat až 24 hodin, než se zobrazí nový název.

Snímek obrazovky zobrazující výstrahy kontroly aktivních tajných kódů

Pokud chcete napravit vystavené tajné kódy, zneplatníte vystavené přihlašovací údaje a vytvořte nový na svém místě. Nově vytvořený tajný kód by se pak měl bezpečně uložit způsobem, který ho přímo nenasdílí zpět do kódu. Tajný klíč může být například uložený ve službě Azure Key Vault. Většina prostředků má primární i sekundární přihlašovací údaje. Metoda vrácení primárních přihlašovacích údajů oproti sekundárním přihlašovacím údajům je shodná, pokud není uvedeno jinak.

Správa upozornění kontroly tajných kódů

Zobrazení upozornění pro úložiště

Každý, kdo má oprávnění přispěvatele pro úložiště, může zobrazit souhrn všech výstrah pro úložiště na kartě Upřesnit zabezpečení v části Úložiště. Výběrem na kartě Tajné kódy zobrazíte všechna upozornění na kontrolu tajných kódů.

Pokud bylo pro vaše úložiště nedávno povolené rozšířené zabezpečení, může se zobrazit karta, která značí, že rozšířené zabezpečení stále kontroluje vaše úložiště.

Snímek obrazovky znázorňující kontrolu tajných kódů

Po dokončení kontroly se zobrazí všechny výsledky. Pro každé zjištěné jedinečné přihlašovací údaje se vygeneruje jedna výstraha ve všech větvích a historii úložiště. Při jejich zahrnutí do jedné výstrahy nejsou žádné filtry větví.

Tajné kódy, které nejsou poskytovateli, se dají zobrazit tak, že v rozevíracím seznamu spolehlivosti na kartě Kontrola tajných kódů vyberete "Jiné".

Snímek obrazovky s filtrem spolehlivosti kontroly tajných kódů Advanced Security na GitHubu

Podrobnosti výstrahy

Když přejdete do výstrahy, zobrazí se podrobné zobrazení výstrahy a zobrazí se další podrobnosti o hledání a poskytnutí konkrétních pokynů k nápravě, které výstrahu vyřeší.

Snímek obrazovky zobrazující podrobnosti pro upozornění kontroly tajných kódů

Sekce Vysvětlení
Umístění Část Umístění podrobně popisuje cesty, ve kterých kontrola tajných kódů zjistila uniklé přihlašovací údaje. V historii může existovat více umístění nebo více potvrzení, která obsahují nevracené přihlašovací údaje. Všechna tato umístění a potvrzení se zobrazí v umístěních s přímým odkazem na fragment kódu a potvrzením, ve kterém byl identifikován.
Doporučení Část doporučení obsahuje pokyny k nápravě nebo odkaz na pokyny k nápravě dokumentace třetích stran pro identifikované přihlašovací údaje.
Zavřít upozornění U upozornění na kontrolu tajných kódů neexistuje žádné chování automatického oprava. Všechna upozornění na kontrolu tajných kódů musí být ručně potvrzena, jak je opraveno prostřednictvím stránky podrobností výstrahy. Výběrem tlačítka Zavřít ověřte, že je tajný kód odvolán.
Závažnost Všechny výstrahy kontroly tajných kódů jsou nastavené jako kritické. Jakékoli vystavené přihlašovací údaje mohou být příležitostí pro aktéra se zlými úmysly.
Vyhledání podrobností Typ přihlašovacích údajů a pravidla použitého k vyhledání přihlašovacích údajů jsou uvedené v části Hledání podrobností na bočním panelu stránky s podrobnostmi výstrahy.

U tajných kódů jiných poskytovatelů se v zobrazení podrobností výstrahy zobrazuje také značka Confidence: další značka závažnosti.

Snímek obrazovky s podrobnými informacemi o obecných upozorněních kontroly tajných kódů Advanced Security GitHubu

Oprava výstrah kontroly tajných kódů

Každý tajný kód má jedinečné kroky nápravy, které vás provedou postupem odvolání a opětovného vygenerování nového tajného kódu na místě. Podrobnosti výstrahy sdílejí konkrétní kroky nebo dokumentaci pro každou výstrahu.

Výstraha kontroly tajných kódů zůstane otevřená, dokud se nesvře. Ověření, že je opravena výstraha kontroly tajných kódů:

  1. Přejděte na výstrahu, kterou chcete zavřít, a vyberte výstrahu.
  2. Vyberte rozevírací seznam Zavřít upozornění.
  3. Pokud ještě není vybraná, vyberte Opravit.
  4. Výběrem možnosti Zavřít odešlete a zavřete výstrahu.

Snímek obrazovky znázorňující, jak zavřít výstrahu kontroly tajných kódů

Zavření upozornění kontroly tajných kódů

Pokud chcete zavřít výstrahy v rozšířeném zabezpečení, potřebujete příslušná oprávnění. Ve výchozím nastavení můžou výstrahy Advanced Security zavřít jenom správci projektu. Další informace o oprávněních Advanced Security naleznete v tématu Správa oprávnění Advanced Security.

Zavření výstrahy:

  1. Přejděte na výstrahu, kterou chcete zavřít, a vyberte ji.
  2. Vyberte rozevírací seznam Zavřít upozornění.
  3. Pokud ještě není vybraná, vyberte jako důvod uzavření buď Riziko, nebo Falešně pozitivní .
  4. Do textového pole Komentář přidejte volitelný komentář.
  5. Výběrem možnosti Zavřít odešlete a zavřete výstrahu.
  6. Stav výstrahy se změní z otevření na uzavřeno a zobrazí váš důvod zamítnutí.

Snímek obrazovky zobrazující podrobnosti o zavření upozornění na kontrolu tajných kódů

Jakékoli upozornění, které jste dříve zavřeli, je možné znovu otevřít ručně.

Zabezpečení ohrožených tajných kódů

Jakmile se tajný klíč potvrdí do úložiště, dojde k ohrožení zabezpečení tajného kódu. Microsoft doporučuje pro ohrožené tajné kódy následující akce:

  • V případě ohrožení osobního přístupového tokenu Azure DevOps odstraňte ohrožený token, vytvořte nový token a aktualizujte všechny služby, které používají starý token.
  • U všech ostatních tajných kódů nejprve ověřte, že je tajný kód potvrzený do Azure Repos platný. Pokud ano, vytvořte nový tajný kód, aktualizujte všechny služby, které používají starý tajný klíč, a odstraňte starý tajný kód.
  • identifikujte všechny akce prováděné ohroženým tokenem u prostředků vaší organizace.

Při aktualizaci tajného kódu nezapomeňte nový tajný kód bezpečně uložit a zajistit, aby byl vždy přístupný a nikdy nebyl uložen jako prostý text. Jednou z možností může být azure Keyvault nebo jiná řešení pro správu tajných kódů.

Ochrana před tajnými oznámeními

Ochrana nabízených oznámení kontroluje, jestli příchozí nabízená oznámení neobsahují tajné kódy s vysokou spolehlivostí, a brání průchodu nabízených oznámení. Chybová zpráva zobrazí všechny identifikované tajné kódy, které můžete odebrat, nebo v případě potřeby dál odesílat tajné kódy.

Informace o upozorněních ochrany nabízených oznámení

Upozornění na nabízenou ochranu jsou upozornění uživatelů, která hlásí nabízenou ochranu. Kontrola tajných kódů jako nabízená ochrana v současné době prohledává úložiště tajných kódů vydaných některými poskytovateli služeb.

Pokud přístup k prostředku vyžaduje spárované přihlašovací údaje, může kontrola tajných kódů vytvořit výstrahu pouze v případě, že jsou obě části dvojice zjištěny ve stejném souboru. Párování zajišťuje, že nejdůležitější úniky nejsou skryté za informacemi o částečném úniku. Párování také pomáhá snížit falešně pozitivní výsledky, protože oba prvky páru musí být použity společně pro přístup k prostředku poskytovatele.

Ochrana nabízených oznámení nemusí blokovat starší verze určitých tokenů, protože tyto tokeny můžou generovat vyšší počet falešně pozitivních výsledků než jejich nejnovější verze. Ochrana před nabízenými oznámeními také nemusí blokovat starší tokeny. U tokenů, jako jsou klíče azure Storage, advanced Security podporuje pouze nedávno vytvořené tokeny, nikoli tokeny, které odpovídají starším vzorům.

Nabízená ochrana z příkazového řádku

Ochrana nabízených oznámení je nativně integrovaná do Gitu Azure DevOps. Pokud potvrzení obsahují identifikovaný tajný klíč, zobrazí se chyba, že vaše nabízená oznámení byla odmítnuta.

Snímek obrazovky znázorňující blokování změn gitu z VS Code

Nabízená ochrana z webového rozhraní

Ochrana push funguje také z webového rozhraní. Pokud je tajný kód identifikován v potvrzení, zobrazí se následující blok chyby, který vám brání v nasdílením změn:

Snímek obrazovky znázorňující blokování změn Gitu z webového uživatelského rozhraní AzDO

Co dělat, když se vaše nabízená oznámení zablokovala

Nabízená ochrana blokuje tajné kódy nalezené v souborech prostého textu, které jsou obvykle (ale ne omezené na) textové soubory, jako je zdrojový kód nebo konfigurační soubory JSON. Tyto tajné kódy jsou uložené ve formátu prostého textu. Pokud špatný objekt actor získá přístup k souborům a publikuje se do veřejného úložiště, můžou tajné kódy používat kdokoli.

Doporučuje se odebrat tajný kód ze souboru označeného příznakem a pak odebrat tajný kód z historie potvrzení. Pokud je tajný kód označený příznakem zástupný symbol nebo ukázkový tajný kód, doporučuje se aktualizovat falešný tajný kód tak, aby se před falešným tajným kódem předem aktualizoval řetězec Placeholder .

Pokud byl tajný kód přidán do vašeho okamžitého předchozího potvrzení, změny potvrzení a vytvoření nového potvrzení:

  1. Odeberte tajný kód z kódu.
  2. Potvrzení změn pomocí git commit --amend
  3. Znovu proveďte změny.

Pokud byl tajný kód přidán později v historii, upravte potvrzení pomocí interaktivního přenesení změn:

  1. Použijte git log k určení toho, které potvrzení jste nejprve vyčlenili tajnému kódu.
  2. Provedení interaktivního rebase: git rebase -i [commit ID before credential introduction]~1
  3. Určete potvrzení, které chcete upravit, změnou pick edit na první řádek textu, který se zobrazí v editoru.
  4. Odeberte tajný kód z kódu.
  5. Potvrďte změnu pomocí git commit --amend.
  6. Dokončení opětovného základu spuštěním git rebase --continuepříkazu .

Nasdílení blokovaného tajného kódu

Obejití tajných kódů označených příznakem se nedoporučuje, protože obejití může ohrozit zabezpečení vaší společnosti. Pokud potvrdíte, že identifikovaný tajný klíč není falešně pozitivní, měli byste tajný kód před opětovným pokusem o vložení změn odebrat z celé historie větví.

Pokud se domníváte, že blokovaný tajný kód je falešně pozitivní nebo bezpečný pro nasdílení změn, můžete obejít ochranu nabízených oznámení. Do zprávy potvrzení zahrňte řetězec skip-secret-scanning:true . I když vynecháte ochranu nabízených oznámení, v uživatelském prostředí upozornění se vygeneruje upozornění na kontrolu tajných kódů, jakmile se tajný kód odešle.