Mitigação de tomadas de controle de subdomínio no Serviço de Aplicativo do Azure
As tomadas de controle de subdomínio são uma ameaça comum para as organizações que criam e excluem muitos recursos regularmente. Uma tomada de controle de subdomínio pode ocorrer quando um registro DNS indicar um recurso desprovisionado do Azure. Esses registros DNS também são conhecidos como entradas "DNS pendentes". As invasões de subdomínio permitem que os atores mal-intencionados redirecionem o tráfego destinado ao domínio de uma organização a um site que executa atividades mal-intencionadas.
Os riscos da tomada de controle de subdomínio incluem:
- Perda de controle sobre o conteúdo do subdomínio
- Coleta de cookies de visitantes desavisados
- Campanhas de phishing
- Outros riscos de ataques clássicos, como XSS, CSRF, BYPASS CORS
Saiba mais sobre a Aquisição de Subdomínio no DNS pendente e na aquisição de subdomínio.
O Serviço de Aplicativo do Azure fornece Serviço de reserva de nomes e tokens de verificação de domínio para evitar tomadas de controle de subdomínio.
Como o Serviço de Aplicativo impede tomadas de controle de subdomínio
Após a exclusão de um aplicativo Serviço de Aplicativo ou as Ambiente do Serviço de Aplicativo (ASE), a reutilização imediata do DNS correspondente é proibida, exceto por assinaturas pertencentes ao locatário da assinatura que originalmente possuía o DNS. Assim, o cliente tem algum tempo para limpo associações/ponteiros para o DNS ou recuperar o DNS no Azure recriando o recurso com o mesmo nome. Esse comportamento é habilitado por padrão em Serviço de Aplicativo do Azure para recursos "*.azurewebsites.net" e "*.appserviceenvironment.net", portanto, não requer nenhuma configuração do cliente.
Cenário de exemplo
A assinatura “A” e a assinatura “B” são as únicas assinaturas que pertencem ao locatário “AB”. A assinatura "A" contém um aplicativo "teste" do Serviço de Aplicativo com o nome DNS "test".azurewebsites.net". Ao excluir o aplicativo, somente a assinatura "A" ou a assinatura "B" poderá reutilizar imediatamente o nome DNS "test.azurewebsites.net" criando um aplicativo Web chamado "teste". Nenhuma outra assinatura terá permissão para reivindicar o nome logo após a exclusão do recurso.
Como é possível impedir tomadas de controle de subdomínio
Ao criar entradas DNS para o Serviço de Aplicativo do Azure, crie um registro TXT asuid.{subdomain} com a ID de verificação de domínio. Quando esse registro TXT existe, nenhuma outra Assinatura do Azure pode validar o Custom Domain ou assumi-lo, a menos que eles adicionem sua ID de verificação de token às entradas DNS.
Esses registros impedem a criação de outro aplicativo do Serviço de Aplicativo usando o mesmo nome da sua entrada CNAME. Sem conseguir provar a propriedade do nome de domínio, os atores de ameaças não podem receber tráfego nem controlar o conteúdo.
Os registros DNS devem ser atualizados antes da exclusão do site, para garantir que os maus atores não possam assumir o domínio entre o período de exclusão e a recriação.
Para obter uma ID de verificação de domínio, confira o tutorial Mapear um domínio personalizado