Jak zabránit visícím záznamům DNS a převzetí subdomény

Tento článek popisuje běžnou bezpečnostní hrozbu převzetí subdomény a kroky, které je možné proti ní zmírnit.

Co je převzetí subdomény?

Převzetí subdomény je běžnou hrozbou s vysokou závažností pro organizace, které pravidelně vytvářejí a odstraňují mnoho prostředků. Převzetí subdomény může nastat, když máte záznam DNS, který odkazuje na zrušený prostředek Azure. Tyto záznamy DNS se také označují jako položky nepropojené DNS. Záznamy CNAME jsou vůči této hrozbě obzvláště zranitelné. Převzetí subdomény umožňuje škodlivým účastníkům přesměrovat provoz určený pro doménu organizace na web provádějící škodlivou činnost.

Běžný scénář převzetí subdomény:

  1. VYTVOŘENÍ:

    1. Zřídíte prostředek Azure s plně kvalifikovaným názvem domény (FQDN) .app-contogreat-dev-001.azurewebsites.net

    2. V zóně DNS přiřadíte záznam CNAME s subdoménou greatapp.contoso.com , která směruje provoz do vašeho prostředku Azure.

  2. ZRUŠENÍ ZŘÍZENÍ:

    1. Prostředek Azure se zruší nebo odstraní, jakmile už ho nepotřebujete.

      V tomto okamžiku by se záznam greatapp.contoso.comCNAME měl odebrat z vaší zóny DNS. Pokud se záznam CNAME neodebere, inzeruje se jako aktivní doména, ale nesměruje provoz do aktivního prostředku Azure. Teď máte záznam DNS typu "dangling".

    2. Dangling subdoména , greatapp.contoso.comje nyní zranitelná a může být převzata přiřazením k jinému prostředku předplatného Azure.

  3. PŘEVZETÍ:

    1. Pomocí běžně dostupných metod a nástrojů aktér hrozeb zjistí dangling subdoménu.

    2. Objekt actor hrozby zřídí prostředek Azure se stejným plně kvalifikovaným názvem domény prostředku, který jste předtím kontrolovali. V tomto příkladu . app-contogreat-dev-001.azurewebsites.net

    3. Provoz odesílaný do subdomény greatapp.contoso.com se teď směruje do prostředku škodlivého objektu actor, kde řídí obsah.

Převzetí subdomény z zrušeného webu

Rizika převzetí subdomény

Pokud záznam DNS odkazuje na prostředek, který není dostupný, měl by se samotný záznam odebrat z vaší zóny DNS. Pokud se neodstraní, jedná se o "nepropojený záznam DNS" a vytvoří možnost převzetí subdomény.

Přeskakující položky DNS umožňují účastníkům hrozeb převzít kontrolu nad přidruženým názvem DNS pro hostování škodlivého webu nebo služby. Škodlivé stránky a služby v subdoméně organizace můžou mít za následek:

  • Ztráta kontroly nad obsahem subdomény – negativní tisk o neschopnosti vaší organizace zabezpečit její obsah, poškození značky a ztrátu důvěry.

  • Sušenky získané od neskutečných návštěvníků - je běžné, že webové aplikace zpřístupňují soubory cookie relace subdoménám (*.contoso.com). Každá subdoména k nim má přístup. Aktéři hrozeb můžou pomocí převzetí subdomény vytvořit autentickou stránku, zkomplikovat nespektivé uživatele, aby ji navštívili, a získat své soubory cookie (dokonce bezpečné soubory cookie). Běžným omylem je, že použití certifikátů SSL chrání váš web a soubory cookie uživatelů před převzetím. Objekt actor hrozby však může použít zneužitou subdoménu k uplatnění a přijetí platného certifikátu SSL. Platné certifikáty SSL jim udělují přístup k zabezpečeným souborům cookie a mohou dále zvýšit vnímanou oprávněnost škodlivého webu.

  • Phishingové kampaně – Škodliví aktéři často využívají autentické subdomény v phishingových kampaních. Riziko se rozšiřuje na škodlivé weby i záznamy MX, které by mohly účastníkům hrozeb umožnit přijímat e-maily směrované na legitimní subdomény spojené s důvěryhodnými značkami.

  • Další rizika – Škodlivé weby se můžou použít k eskalaci do jiných klasických útoků, jako jsou XSS, CSRF, obejití CORS a další.

Identifikace shodných položek DNS

Pokud chcete identifikovat položky DNS v rámci vaší organizace, které můžou být propadlé, použijte nástroje PowerShellu hostované Microsoftem "Get-DanglingDnsRecords".

Tento nástroj pomáhá zákazníkům Azure vypsat všechny domény s názvem CNAME přiřazeným k existujícímu prostředku Azure, který byl vytvořen v jejich předplatném nebo nájemcích.

Pokud jsou vaše názvy CNAME v jiných službách DNS a ukazují na prostředky Azure, zadejte je nástroji ve vstupním souboru.

Nástroj podporuje prostředky Azure uvedené v následující tabulce. Nástroj extrahuje nebo přebírá jako vstupy všechny objekty CNAMEs tenanta.

Služba Typ FQDNproperty Příklad
Azure Front Door microsoft.network/frontdoors properties.cName abc.azurefd.net
Azure Blob Storage microsoft.storage/storageaccounts properties.primaryEndpoints.blob abc.blob.core.windows.net
Azure CDN microsoft.cdn/profiles/endpoints properties.hostName abc.azureedge.net
veřejné IP adresy, microsoft.network/publicipaddresses properties.dns Nastavení.fqdn abc.EastUs.cloudapp.azure.com
Azure Traffic Manager microsoft.network/trafficmanagerprofiles properties.dnsConfig.fqdn abc.trafficmanager.net
Azure Container Instance microsoft.containerinstance/containergroups properties.ipAddress.fqdn abc.EastUs.azurecontainer.io
Azure API Management microsoft.apimanagement/service properties.hostnameConfigurations.hostName abc.azure-api.net
Azure App Service microsoft.web/sites properties.defaultHostName abc.azurewebsites.net
Aplikace Azure Service – sloty microsoft.web/sites/sloty properties.defaultHostName abc-def.azurewebsites.net

Požadavky

Spusťte dotaz jako uživatel, který má:

  • aspoň přístup na úrovni čtenáře k předplatným Azure
  • Čtení přístupu k Azure Resource Graphu

Pokud jste globální Správa istrator tenanta vaší organizace, postupujte podle pokynů v tématu Zvýšení úrovně přístupu ke správě všech předplatných a skupin pro správu Azure a získejte přístup ke všem předplatným vaší organizace.

Tip

Azure Resource Graph má omezení omezování a stránkování, které byste měli zvážit, pokud máte velké prostředí Azure.

Přečtěte si další informace o práci s velkými sadami dat prostředků Azure.

Nástroj používá dávkování předplatného, aby se těmto omezením vyhnul.

Spuštění skriptu

Přečtěte si další informace o skriptu PowerShellu, Get-DanglingDnsRecords.ps1 a stáhněte si ho z GitHubu: https://aka.ms/Get-DanglingDnsRecords.

Náprava chybných položek DNS

Zkontrolujte zóny DNS a identifikujte záznamy CNAME, které se prosadí nebo převezmou. Pokud zjistíte, že jsou subdomény nepropojené nebo byly převzaty, odstraňte zranitelné subdomény a zmírněte rizika pomocí následujících kroků:

  1. Ze zóny DNS odstraňte všechny záznamy CNAME, které ukazují na domény FQDN prostředků, které již nejsou zřízené.

  2. Pokud chcete povolit směrování provozu na prostředky ve vašem ovládacím prvku, zřiďte další prostředky pomocí plně kvalifikovaných názvů domén zadaných v záznamech CNAME pro dangling subdomény.

  3. Zkontrolujte kód aplikace, zda neobsahuje odkazy na konkrétní subdomény, a aktualizujte všechny nesprávné nebo zastaralé odkazy na subdomény.

  4. Prozkoumejte, jestli došlo k nějakému ohrožení zabezpečení, a proveďte akce podle postupů reakce na incidenty vaší organizace. Tipy a osvědčené postupy pro vyšetřování:

    Pokud má logika vaší aplikace za následek tajné kódy, jako jsou přihlašovací údaje OAuth, se odesílají do subdomén, nebo pokud se do těchto subdomén přenášejí citlivé informace na ochranu osobních údajů, může být tato data zpřístupněna třetím stranám.

  5. Zjistěte, proč se záznam CNAME neodebral z vaší zóny DNS při zrušení zřízení prostředku, a proveďte kroky, abyste zajistili, že se záznamy DNS správně aktualizují, když se prostředky Azure v budoucnu zruší.

Zabránění přechánění záznamů DNS

Zajištění toho, aby vaše organizace implementovala procesy, aby se zabránilo přechánění položek DNS a výsledným převzetím subdomény, je klíčovou součástí vašeho programu zabezpečení.

Některé služby Azure nabízejí funkce, které vám pomůžou při vytváření preventivních opatření a jsou podrobně popsané níže. Další metody, jak zabránit tomuto problému, musí být vytvořeny osvědčenými postupy vaší organizace nebo standardními provozními postupy.

Povolení Microsoft Defenderu pro App Service

Microsoft Defender pro cloudovou integrovanou platformu ochrany cloudových úloh (CWPP) nabízí celou řadu plánů ochrany vašich prostředků a úloh Azure, hybridních a multicloudových prostředků a úloh.

Plán Služby App Service v programu Microsoft Defender for App Service zahrnuje zjištění shodování DNS. Pokud máte tento plán povolený, dostanete výstrahy zabezpečení, pokud web služby App Service vyřadíte z provozu, ale neodeberete vlastní doménu od svého registrátora DNS.

Ochrana DNS v programu Microsoft Defender for Cloud je dostupná bez ohledu na to, jestli se vaše domény spravují pomocí Azure DNS nebo externího doménového registrátora a platí pro Službu App Service ve Windows i Linuxu.

Další informace o tomto a dalších výhodách těchto plánů Programu Microsoft Defender najdete v tématu Úvod do programu Microsoft Defender for App Service.

Použití záznamů aliasů Azure DNS

Záznamy aliasů Azure DNS můžou zabránit vzájemnému propojení odkazů tím, že prohodí životní cyklus záznamu DNS s prostředkem Azure. Představte si například záznam DNS, který je kvalifikovaný jako záznam aliasu pro odkazování na veřejnou IP adresu nebo profil Traffic Manageru. Pokud tyto podkladové prostředky odstraníte, záznam aliasu DNS se stane prázdnou sadou záznamů. Odstraněný prostředek už nebude odkazovat. Je důležité si uvědomit, že existují omezení toho, co můžete chránit pomocí záznamů aliasů. Seznam je dnes omezený na:

  • Azure Front Door
  • Profily služby Traffic Manager
  • Koncové body Azure Content Delivery Network (CDN)
  • Veřejné IP adresy

I přes dnešní omezené nabídky služeb doporučujeme používat záznamy aliasů k ochraně před převzetím subdomény, kdykoli je to možné.

Přečtěte si další informace o možnostech záznamů aliasů Azure DNS.

Použití vlastního ověření domény služby Aplikace Azure Service

Při vytváření záznamů DNS pro Aplikace Azure Service vytvořte asuid.{ subdoména} záznam TXT s ID ověření domény. Pokud takový záznam TXT existuje, nemůže žádné jiné předplatné Azure ověřit vlastní doménu, která je, převzít ji.

Tyto záznamy nezabrání tomu, aby někdo vytvořil Aplikace Azure Service se stejným názvem, který je ve vaší položce CNAME. Bez možnosti prokázat vlastnictví názvu domény nemůžou aktéři hrozeb přijímat provoz ani řídit obsah.

Přečtěte si další informace o mapování existujícího vlastního názvu DNS na službu Aplikace Azure Service.

Sestavování a automatizace procesů pro zmírnění hrozby

Často je na vývojářích a provozních týmech, aby spouštěly procesy čištění, aby nedocházelo ke změkajícím hrozbám DNS. Následující postupy vám pomůžou zajistit, aby vaše organizace tuto hrozbu netrpěla.

  • Vytváření postupů pro prevenci:

    • Informujte vývojáře aplikací, aby znovu směrovali adresy při každém odstranění prostředků.

    • V seznamu požadovaných kontrol při vyřazení služby z provozu umístěte možnost Odebrat položku DNS.

    • U všech prostředků, které mají vlastní položku DNS, umístěte zámky odstranění. Zámek odstranění slouží jako indikátor, že mapování musí být odebráno před zrušením zřízení prostředku. Takové míry můžou fungovat jenom v kombinaci s interními vzdělávacími programy.

  • Vytvoření postupů pro zjišťování:

    • Pravidelně kontrolujte záznamy DNS a ujistěte se, že jsou všechny vaše subdomény mapované na prostředky Azure, které:

      • Existují – dotazování zón DNS na prostředky odkazující na subdomény Azure, jako jsou *.azurewebsites.net nebo *.cloudapp.azure.com (viz referenční seznam domén Azure).
      • Vlastníte – potvrďte, že vlastníte všechny prostředky, na které cílí vaše subdomény DNS.
    • Udržujte katalog služeb plně kvalifikovaných koncových bodů názvu domény (FQDN) Azure a vlastníků aplikací. Pokud chcete vytvořit katalog služeb, spusťte následující skript dotazu Azure Resource Graphu. Tento skript projektuje informace o koncovém bodu plně kvalifikovaného názvu domény prostředků, ke kterým máte přístup, a vypíše je do souboru CSV. Pokud máte přístup ke všem předplatným vašeho tenanta, skript považuje všechna tato předplatná za uvedená v následujícím ukázkovém skriptu. Pokud chcete omezit výsledky na konkrétní sadu předplatných, upravte skript, jak je znázorněno.

  • Vytvoření postupů pro nápravu:

    • Když se najde přeskakující záznamy DNS, musí váš tým zjistit, jestli došlo k nějakému ohrožení zabezpečení.
    • Prozkoumejte, proč se adresa při vyřazení prostředku z provozu nepřesměrovala.
    • Pokud už záznam DNS nepoužíváte, odstraňte ho nebo ho nasměrujte na správný prostředek Azure (FQDN), který vlastní vaše organizace.

Vyčištění ukazatelů DNS nebo opětovné deklarace identity DNS

Po odstranění klasického prostředku cloudové služby je odpovídající DNS rezervovaný podle zásad Azure DNS. Během období rezervace bude opětovné použití DNS zakázáno KROMĚ předplatných patřících do tenanta Microsoft Entra předplatného, které původně vlastní DNS. Po vypršení platnosti rezervace je DNS zdarma nárokované všemi předplatnými. Když vezmeme rezervace DNS, zákazník si ho určitou dobu poskytne buď 1), vyčistí všechna přidružení nebo ukazatele na to, že DNS nebo 2) znovu deklaruje DNS v Azure. Doporučujeme nejdříve odstranit nežádoucí položky DNS. Rezervovaný název DNS lze odvodit připojením názvu cloudové služby do zóny DNS pro tento cloud.

  • Veřejná – cloudapp.net
  • Mooncake - chinacloudapp.cn
  • Fairfax – usgovcloudapp.net
  • BlackForest – azurecloudapp.de

Například hostovaná služba ve veřejném názvu "test" by měla DNS "test.cloudapp.net"

Příklad: Předplatné A a předplatné B jsou jedinými předplatnými patřícími do tenanta Microsoft Entra AB. Předplatné A obsahuje klasickou cloudovou službu Test s názvem DNS test.cloudapp.net. Po odstranění cloudové služby se rezervace převezme na název DNS "test.cloudapp.net". Během období rezervace bude moct název DNS "test.cloudapp.net" deklarovat pouze předplatné A nebo předplatné B vytvořením klasické cloudové služby s názvem test. Žádná jiná předplatná nebudou moct nárokovat. Po uplynutí období rezervace teď může jakékoli předplatné v Azure deklarovat test.cloudapp.net.

Další kroky

Další informace o souvisejících službách a funkcích Azure, které můžete použít k ochraně před převzetím subdomény, najdete na následujících stránkách.