Zwevende DNS-vermeldingen voorkomen en overname van subdomeinen voorkomen

In dit artikel worden de algemene beveiligingsrisico's beschreven van de overname van subdomeinen en de stappen die u kunt nemen om dit te verhelpen.

Wat is een overname van een subdomein?

Overnames van subdomeinen zijn een veelvoorkomende bedreiging met hoge ernst voor organisaties die regelmatig veel resources maken en verwijderen. Een overname van subdomeinen kan optreden wanneer u een DNS-record hebt die verwijst naar een niet-ingerichte Azure-resource. Dergelijke DNS-records worden ook wel 'zwevende DNS-vermeldingen' genoemd. Met name CNAME-records zijn kwetsbaar voor deze bedreiging. Met subdomeinovernames kunnen kwaadwillenden verkeer dat is bedoeld voor het domein van een organisatie, omleiden naar een site waarop schadelijke activiteiten worden uitgevoerd.

Een veelvoorkomend scenario voor een overname van subdomeinen:

  1. OPRICHTING:

    1. U richt een Azure-resource in met een FQDN (Fully Qualified Domain Name) van app-contogreat-dev-001.azurewebsites.net.

    2. U wijst een CNAME-record toe in uw DNS-zone met het subdomein greatapp.contoso.com dat verkeer naar uw Azure-resource routeert.

  2. INRICHTING ONGEDAAN MAKEN:

    1. De Azure-resource wordt ongedaan gemaakt of verwijderd nadat deze niet meer nodig is.

      Op dit moment moet de CNAME-record greatapp.contoso.comworden verwijderd uit uw DNS-zone. Als de CNAME-record niet wordt verwijderd, wordt deze geadverteerd als een actief domein, maar wordt er geen verkeer doorgestuurd naar een actieve Azure-resource. U hebt nu een 'zwevende' DNS-record.

    2. Het zwevende subdomein, greatapp.contoso.comis nu kwetsbaar en kan worden overgenomen door toegewezen aan de resource van een ander Azure-abonnement.

  3. OVERNAME:

    1. Met behulp van veelgebruikte methoden en hulpprogramma's detecteert een bedreigingsacteur het zwevende subdomein.

    2. De bedreigingsacteur richt een Azure-resource in met dezelfde FQDN-naam van de resource die u eerder hebt beheerd. In dit voorbeeld, app-contogreat-dev-001.azurewebsites.net.

    3. Verkeer dat naar het subdomein greatapp.contoso.com wordt verzonden, wordt nu doorgestuurd naar de resource van de kwaadwillende actor waar ze de inhoud beheren.

Overname van subdomein vanaf een niet-ingerichte website

De risico's van overname van subdomeinen

Wanneer een DNS-record verwijst naar een resource die niet beschikbaar is, moet de record zelf worden verwijderd uit uw DNS-zone. Als deze niet wordt verwijderd, is het een 'zwevende DNS'-record en wordt de mogelijkheid voor overname van subdomeinen gemaakt.

Door te zwevende DNS-vermeldingen kunnen bedreigingsactoren de controle overnemen over de bijbehorende DNS-naam om een kwaadwillende website of service te hosten. Schadelijke pagina's en services op het subdomein van een organisatie kunnen leiden tot:

  • Verlies van controle over de inhoud van het subdomein - Negatieve pers over het onvermogen van uw organisatie om de inhoud, merkschade en verlies van vertrouwen te beveiligen.

  • Cookie-oogst van ongemoede bezoekers : het is gebruikelijk dat web-apps sessiecookies beschikbaar maken voor subdomeinen (*.contoso.com). Elk subdomein heeft toegang tot het subdomein. Bedreigingsactoren kunnen subdomeinovername gebruiken om een authentieke pagina te bouwen, ongemoede gebruikers te misleiden om het te bezoeken en hun cookies te oogsten (zelfs beveiligde cookies). Een veelvoorkomende misvatting is dat het gebruik van SSL-certificaten uw site en de cookies van uw gebruikers beschermt tegen een overname. Een bedreigingsacteur kan echter het gekaapte subdomein gebruiken om een geldig SSL-certificaat aan te vragen en te ontvangen. Geldige SSL-certificaten verlenen hen toegang tot beveiligde cookies en kunnen de waargenomen geldigheid van de schadelijke site verder vergroten.

  • Phishingcampagnes : kwaadwillende actoren misbruiken vaak authentieke subdomeinen in phishingcampagnes. Het risico breidt zich uit naar zowel schadelijke websites als MX-records, waardoor bedreigingsactoren e-mails kunnen ontvangen die zijn gericht op legitieme subdomeinen die zijn gekoppeld aan vertrouwde merken.

  • Verdere risico's : schadelijke sites kunnen worden gebruikt om te escaleren naar andere klassieke aanvallen, zoals XSS, CSRF, CORS bypass en meer.

Zwevende DNS-vermeldingen identificeren

Gebruik de Door Microsoft gehoste PowerShell-hulpprogramma's 'Get-DanglingDnsRecords' om DNS-vermeldingen binnen uw organisatie te identificeren die misschien worden verprijzeld.

Met deze tool kunnen Azure-klanten alle domeinen weergeven met een CNAME die is gekoppeld aan een bestaande Azure-resource die is gemaakt voor hun abonnementen of tenants.

Als uw CNAME's zich in andere DNS-services bevinden en verwijzen naar Azure-resources, geeft u de CNAME's in een invoerbestand op aan de tool.

Het hulpprogramma ondersteunt de Azure-resources die worden vermeld in de volgende tabel. Het hulpprogramma extraheert of neemt als invoer alle CNAM's van de tenant.

Service Type FQDNproperty Opmerking
Azure Front Door microsoft.network/frontdoors properties.cName abc.azurefd.net
Azure Blob-opslag microsoft.storage/storageaccounts properties.primaryEndpoints.blob abc.blob.core.windows.net
Azure CDN microsoft.cdn/profiles/endpoints properties.hostName abc.azureedge.net
Openbare IP-adressen microsoft.network/publicipaddresses properties.dns Instellingen.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
Azure-app-service - sleuven microsoft.web/sites/slots properties.defaultHostName abc-def.azurewebsites.net

Vereisten

Voer de query uit als een gebruiker met:

  • ten minste toegang op lezersniveau tot de Azure-abonnementen
  • leestoegang tot Azure-resourcegrafiek

Als u een globale Beheer istrator van de tenant van uw organisatie bent, volgt u de richtlijnen in Toegang verhogen om alle Azure-abonnementen en -beheergroepen te beheren om toegang te krijgen tot alle abonnementen van uw organisatie

Tip

Azure Resource Graph heeft beperkings- en wissellimieten die u moet overwegen als u een grote Azure-omgeving hebt.

Meer informatie over het werken met grote Azure-resourcegegevenssets.

Het hulpprogramma maakt gebruik van batchverwerking van abonnementen om deze beperkingen te voorkomen.

Het script uitvoeren

Meer informatie over het PowerShell-script Get-DanglingDnsRecords.ps1 en download het vanuit GitHub: https://aka.ms/Get-DanglingDnsRecords.

Zwevende DNS-vermeldingen herstellen

Controleer uw DNS-zones en identificeer CNAME-records die zweven of worden overgenomen. Als blijkt dat subdomeinen zweven of zijn overgenomen, verwijdert u de kwetsbare subdomeinen en beperkt u de risico's met de volgende stappen:

  1. Verwijder uit uw DNS-zone alle CNAME-records die verwijzen naar FQDN's van resources die niet meer zijn ingericht.

  2. Als u wilt dat verkeer naar resources in uw beheer kan worden gerouteerd, richt u meer resources in met de FQDN's die zijn opgegeven in de CNAME-records van de zwevende subdomeinen.

  3. Controleer uw toepassingscode op verwijzingen naar specifieke subdomeinen en werk eventuele onjuiste of verouderde subdomeinverwijzingen bij.

  4. Onderzoek of er inbreuk is opgetreden en onderneem actie volgens de incidentresponsprocedures van uw organisatie. Tips en best practices voor het onderzoeken:

    Als uw toepassingslogica resulteert in geheimen, zoals OAuth-referenties, worden verzonden naar zwevende subdomeinen of als privacygevoelige informatie naar deze subdomeinen wordt verzonden, is er een mogelijkheid dat deze gegevens aan derden worden blootgesteld.

  5. Begrijp waarom de CNAME-record niet is verwijderd uit uw DNS-zone toen de resource ongedaan werd gemaakt en voer stappen uit om ervoor te zorgen dat DNS-records op de juiste wijze worden bijgewerkt wanneer Azure-resources in de toekomst ongedaan worden gemaakt.

Zwevende DNS-vermeldingen voorkomen

Ervoor zorgen dat uw organisatie processen heeft geïmplementeerd om zwevende DNS-vermeldingen te voorkomen en de resulterende subdomeinovernames is een cruciaal onderdeel van uw beveiligingsprogramma.

Sommige Azure-services bieden functies om te helpen bij het maken van preventieve maatregelen en worden hieronder beschreven. Andere methoden om dit probleem te voorkomen, moeten worden vastgesteld via de aanbevolen procedures of standaardprocedures van uw organisatie.

Microsoft Defender voor App Service inschakelen

het geïntegreerde CWPP (Cloud Workload Protection Platform) van Microsoft Defender voor Cloud biedt een reeks plannen voor het beveiligen van uw Azure-, hybride en multicloudresources en -workloads.

Het Microsoft Defender voor App Service-plan bevat zwevende DNS-detectie. Als dit plan is ingeschakeld, krijgt u beveiligingswaarschuwingen als u een App Service-website buiten gebruik stelt, maar het aangepaste domein niet van uw DNS-registrar verwijdert.

Microsoft Defender voor Cloud's zwevende DNS-beveiliging is beschikbaar of uw domeinen worden beheerd met Azure DNS of een externe domeinregistrar en van toepassing zijn op App Service in zowel Windows als Linux.

Meer informatie over deze en andere voordelen van deze Microsoft Defender-abonnementen vindt u in Inleiding tot Microsoft Defender voor App Service.

Azure DNS-aliasrecords gebruiken

De aliasrecords van Azure DNS kunnen zwevende verwijzingen voorkomen door de levenscyclus van een DNS-record te koppelen aan een Azure-resource. Denk bijvoorbeeld aan een DNS-record die is gekwalificeerd als een aliasrecord om te verwijzen naar een openbaar IP-adres of een Traffic Manager-profiel. Als u deze onderliggende resources verwijdert, wordt de DNS-aliasrecord een lege recordset. Er wordt niet meer verwezen naar de verwijderde resource. Het is belangrijk te weten dat er limieten zijn voor wat u kunt beveiligen met aliasrecords. Vandaag is de lijst beperkt tot:

  • Azure Front Door
  • Traffic Manager-profielen
  • Azure CdN-eindpunten (Content Delivery Network)
  • Openbare IP's

Ondanks de beperkte serviceaanbiedingen van vandaag raden we u aan om aliasrecords te gebruiken om waar mogelijk te verdedigen tegen overname van subdomeinen.

Meer informatie over de mogelijkheden van aliasrecords van Azure DNS.

Aangepaste domeinverificatie van Azure-app Service gebruiken

Wanneer u DNS-vermeldingen voor Azure-app Service maakt, maakt u een asuid.{ subdomein} TXT-record met de domeinverificatie-id. Wanneer er een dergelijke TXT-record bestaat, kan er geen ander Azure-abonnement het aangepaste domein valideren dat wil worden overgenomen.

Deze records verhinderen niet dat iemand de Azure-app Service maakt met dezelfde naam die in uw CNAME-vermelding staat. Zonder de mogelijkheid om het eigendom van de domeinnaam te bewijzen, kunnen bedreigingsactoren geen verkeer ontvangen of de inhoud beheren.

Meer informatie over het toewijzen van een bestaande aangepaste DNS-naam aan Azure-app Service.

Processen bouwen en automatiseren om de bedreiging te beperken

Het is vaak aan ontwikkelaars en operationele teams om opschoonprocessen uit te voeren om zwevende DNS-bedreigingen te voorkomen. De onderstaande procedures helpen ervoor te zorgen dat uw organisatie geen last heeft van deze bedreiging.

  • Procedures voor preventie maken:

    • Informeer uw toepassingsontwikkelaars om adressen om te leiden wanneer ze resources verwijderen.

    • Plaats 'DNS-vermelding verwijderen' in de lijst met vereiste controles bij het buiten gebruik stellen van een service.

    • Verwijdervergrendelingen plaatsen op resources met een aangepaste DNS-vermelding. Een verwijderingsvergrendeling fungeert als een indicator dat de toewijzing moet worden verwijderd voordat de resource ongedaan wordt gemaakt. Zo kunnen maatregelen alleen werken in combinatie met interne onderwijsprogramma's.

  • Procedures voor detectie maken:

    • Controleer regelmatig uw DNS-records om ervoor te zorgen dat uw subdomeinen allemaal zijn toegewezen aan Azure-resources die:

      • Bestaan: voer een query uit op uw DNS-zones voor resources die verwijzen naar Azure-subdomeinen, zoals *.azurewebsites.net of *.cloudapp.azure.com (zie de referentielijst met Azure-domeinen).
      • U hebt de eigenaar: controleer of u de eigenaar bent van alle resources waarop uw DNS-subdomeinen zijn gericht.
    • Onderhoud een servicecatalogus van uw FQDN-eindpunten (Fully Qualified Domain Name) van Azure en de eigenaren van de toepassing. Voer het volgende Azure Resource Graph-queryscript uit om uw servicecatalogus te bouwen. Met dit script worden de FQDN-eindpuntgegevens van de resources die u hebt geopend en uitgevoerd in een CSV-bestand geprojecteerd. Als u toegang hebt tot alle abonnementen voor uw tenant, beschouwt het script al deze abonnementen, zoals wordt weergegeven in het volgende voorbeeldscript. Als u de resultaten wilt beperken tot een specifieke set abonnementen, bewerkt u het script zoals wordt weergegeven.

  • Procedures maken voor herstel:

    • Wanneer er dangling DNS-vermeldingen worden gevonden, moet uw team onderzoeken of er inbreuk is opgetreden.
    • Onderzoek waarom het adres niet is omgeleid toen de resource buiten gebruik werd gesteld.
    • Verwijder de DNS-record als deze niet meer wordt gebruikt of wijs deze naar de juiste Azure-resource (FQDN) die eigendom is van uw organisatie.

DNS-aanwijzers opschonen of de DNS opnieuw claimen

Bij het verwijderen van de klassieke cloudserviceresource wordt de bijbehorende DNS gereserveerd volgens Azure DNS-beleid. Tijdens de reserveringsperiode is het opnieuw gebruiken van de DNS verboden, BEHALVE voor abonnementen die behoren tot de Microsoft Entra-tenant van het abonnement dat oorspronkelijk eigenaar is van de DNS. Nadat de reservering is verlopen, kan de DNS gratis worden geclaimd door elk abonnement. Door DNS-reserveringen te nemen, wordt de klant enige tijd geboden om 1) koppelingen/aanwijzers op te schonen naar de dns- of 2) om de DNS in Azure opnieuw te claimen. U wordt aangeraden ongewenste DNS-vermeldingen te verwijderen. De DNS-naam die wordt gereserveerd, kan worden afgeleid door de naam van de cloudservice toe te voegen aan de DNS-zone voor die cloud.

  • Openbaar - cloudapp.net
  • Mooncake - chinacloudapp.cn
  • Fairfax - usgovcloudapp.net
  • BlackForest - azurecloudapp.de

Een gehoste service in de openbare naam 'test' heeft bijvoorbeeld DNS 'test.cloudapp.net'

Voorbeeld: Abonnement A en abonnement B zijn de enige abonnementen die behoren tot de Microsoft Entra-tenant AB. Abonnement A bevat een klassieke cloudservice 'test' met DE DNS-naam 'test.cloudapp.net'. Bij het verwijderen van de cloudservice wordt een reservering gemaakt op de DNS-naam 'test.cloudapp.net'. Tijdens de reserveringsperiode kan alleen abonnement A of abonnement B de DNS-naam 'test.cloudapp.net' claimen door een klassieke cloudservice met de naam 'test' te maken. Er mogen geen andere abonnementen worden geclaimd. Na de reserveringsperiode kan elk abonnement in Azure nu 'test.cloudapp.net' claimen.

Volgende stappen

Zie de volgende pagina's voor meer informatie over gerelateerde services en Azure-functies die u kunt gebruiken om u te beschermen tegen overname van subdomeinen.