Um registro DNS curinga é uma má prática?

18

Pedi ao meu hoster para adicionar três subdomínios, todos apontando para o IP do registro A. Parece que ele simplesmente adicionou um registro DNS curinga porque qualquer subdomínio aleatório resolve agora o meu IP. Isso é bom para mim do ponto de vista técnico, pois não há subdomínios apontando para nenhum outro lugar. Então, novamente, eu não gosto que ele não faça o que eu pedi. E então eu me pergunto se há outras razões para dizer a ele para mudar isso. Há alguns?

O único aspecto negativo que encontrei é que alguém poderia criar um link para o meu site usando http://i.dont.like.your.website.mywebsite.tld.

problemofficer
fonte
8
Alguém pode conectar-se ao seu servidor usando " i.dont.like.your.website.mywebsite.tld ", mas o servidor não deve responder, a menos que esteja configurado para responder a ele (por meio de host de cabeçalho ou virtualhosts).
Joeqwerty
6
Em alguns casos, curingas podem ser necessários. Por exemplo, aplicativos da web com vários inquilinos como o Wordpress podem ser configurados para gerar automaticamente novas instâncias usando subdomínios - por exemplo, site1.blog.example.com, site2.blog.example.com - com o curinga no lugar *.blog.example.com, você não precisa configurar cada um deles individualmente.
Jscott #

Respostas:

16

Se você colocar um computador nesse domínio, obterá falhas estranhas de DNS. Quando você tenta visitar algum site aleatório na Internet, chega ao seu.

Considere: Você é o proprietário do domínio example.com. Você configura sua estação de trabalho e nomeia-a. ... digamos yukon.example.com. Agora você notará na sua /etc/resolv.conflinha:

search example.com

Isso é conveniente porque significa que você pode pesquisar por nome de host, por exemplo, o wwwque procurará www.example.comautomaticamente por você. Mas tem um lado sombrio: se você visitar, digamos, o Google, ele procurará www.google.com.example.com, e se você tiver DNS curinga, isso será resolvido para o seu site e, em vez de chegar ao Google, você terminará em seu próprio site.

Isso se aplica igualmente ao servidor no qual você está executando seu site! Se alguma vez precisar chamar serviços externos, as pesquisas de nome de host poderão falhar da mesma maneira. Então, api.twitter.compor exemplo, de repente api.twitter.com.example.com, torna-se , direciona diretamente para o seu site e, é claro, falha.

É por isso que nunca uso DNS curinga.

Michael Hampton
fonte
3
@ChrisLively Culpa os modernos sistemas Linux por serem "úteis" e adicioná-los. BTW, usar ".local" é realmente uma prática ruim, e não apenas em ambientes Windows.
Michael Hampton
6
Eu realmente escrevi sobre isso em relação a um ambiente Windows . Sem mencionar que pelo menos três grupos fizeram lances no TLD local. Agora que a ICANN os está vendendo para qualquer pessoa com uma carteira substancial o suficiente. .localnão está reservado e não deve ser usado. Isso viola os RFCs e não é necessário. A melhor prática é usar um subdomínio de terceiro nível delegado para recursos internos como internal.company.com. Só porque você vê algo que não dá certo.
precisa saber é o seguinte
2
Você poderia me indicar a seção da RFC 2606 que reserva .local? Eu li este RFC pelo menos uma dúzia de vezes com pessoas que o usam neste argumento e posso dizer com certeza que ele não está lá.
precisa saber é o seguinte
2
@ Zypher Na verdade, nunca foi recomendado pela Microsoft (que também foi desmascarado no meu blog. Vá lê-lo, é bom), mas o fato de o SBS enviado usar .localpor padrão realmente fez o MS parecer uma bagunça a esse respeito. O SBS foi enviado com essa configuração porque era para clientes não técnicos com pouco conhecimento técnico. Era o caminho de menor resistência, mas os documentos reais do AD recomendam um subdomínio de terceiro nível desde a era W2K.
precisa saber é o seguinte
3
Ah, e em alguns anos será muito difícil obter certificados para .local, o que significa que os certificados de UCC / SAN para Lync / Exchange terão que ser assinados por uma CA interna, o que torna doloroso se você ingressar em um domínio externo Comercial.
precisa saber é
14

Um registro DNS curinga é uma má prática?

Pessoalmente, eu não gosto disso. Especialmente quando existem máquinas nesse domínio. Os erros de digitação não são verificados, os erros são menos óbvios ... mas não há nada de fundamentalmente errado com isso.

O único aspecto negativo que achei foi que alguém poderia criar um link para o meu site usando http: //i.dont.like.your.website.mywebsite.tld .

Faça com que o servidor http redirecione todas essas solicitações para os endereços canônicos apropriados ou não responda. Para o nginx, seria algo como :

server {
    listen 80;
    server_name *.mywebsite.tld;
    return 301 $scheme://mywebsite.tld$request_uri;
    }

e depois o regular

server {
    listen  80;
    server_name mywebsite.tld;
    [...]
    }
Damn Terminal
fonte
7

É tudo uma questão de opinião. Para mim, não é uma prática ruim.

Estou criando um aplicativo multilocatário que usa um banco de dados por inquilino. Em seguida, ele seleciona o banco de dados a ser usado com base no subdomínio.

Por exemplo milkman.example.com, usará o tenant_milkmanbanco de dados.

Assim eu separei tabelas para cada inquilino, como, tenant_milkman.users, tenant_fisherman.users, tenant_bobs_garage.users, que na minha opinião é um enorme muito mais fácil de manter para este aplicativo específico, em vez de ter todos os usuários de todas as empresas na mesma tabela.

[edit - Michael Hampton has a good point]

Dito isto, se você não tiver um motivo específico para aceitar qualquer subdomínio (variável), como eu, não deverá aceitá-los.

Pedro Moreira
fonte
4
Você tem um bom motivo técnico para usar o DNS curinga. A maioria das pessoas não.
Michael Hampton
11
Por uma questão de fato, isso me parece altamente perigoso - permite acessar um banco de dados arbitrário alterando o nome do domínio. Eu diria que esse é um tipo de vulnerabilidade de injeção. É certo que não é necessariamente explorável - mas por que arriscar?
sleske
11
@sleske Não é, porque o usuário deve se autenticar nesse subdomínio (para esse banco de dados). Se ele alternar, ele precisará se autenticar novamente, pois é visto como um "site" completamente diferente.
Pedro Moreira
@PedroMoreira: Sim, isso reduz a superfície de ataque. Ainda assim, fornecer acesso a bancos de dados arbitrários parece perigoso. Por exemplo, e se houver um banco de dados de backup com credenciais idênticas, mas dados que foram eliminados do banco de dados principal - isso permitiria qualquer pessoa acessar quem sabe o nome. Ainda assim, percebo que a segurança é sempre uma troca - só queria apontar o perigo inerente.
sleske
11
@ sleske É por isso que todos os bancos de dados acessíveis são prefixados tenant_. Eu me certifiquei de que o aplicativo não pudesse se conectar a eles.
Pedro Moreira
2

Outra questão aqui é o SEO: se todos *.example.commostrarem o mesmo conteúdo, seu site será mal referenciado, pelo menos pelo Google ( https://support.google.com/webmasters/answer/66359 ).

Clément Moulin - SimpleRezo
fonte
Ambos os pontos são ortogonais. Mesmo que todos os nomes apontem para o mesmo IP, o servidor da Web obtém o nome solicitado e pode fornecer conteúdo completamente diferente.
Patrick Mevzek
É por isso que precisei "se todos * .example.com mostrassem o mesmo conteúdo" ... O risco de SEO me parece algo interessante de mencionar.
Clément Moulin - SimpleRezo
"O risco de SEO me parece algo interessante de mencionar." Talvez, mas eles não estejam relacionados ao uso de um curinga ou não. Você pode ter muitos nomes separados, todos resolvendo para um único endereço IP sem nenhum tipo de curinga e, portanto, tendo (ou não) os riscos de SEO mencionados. O uso de um curinga não altera nada em nenhuma direção aqui.
Patrick Mevzek
0

Essa é realmente uma péssima idéia, suponha que se você deseja hospedar um subdomínio a.company.com em um servidor da Web e b.company.com em outro servidor da Web, pode ser outro ISP. O que você vai fazer ?. Portanto, o DNS curinga não é uma opção, deve ser preciso, criar um registro para cada subdomínio e apontar para o IP relevante. Existem chances de mover o servidor da Web de um ISP para outro ISP; nesse caso, o que você fará?

vembutech
fonte
0

Sei que essa é uma pergunta antiga, mas gostaria de compartilhar um exemplo do mundo real de onde o uso de domínios curinga pode causar problemas. No entanto, vou alterar o nome do domínio e também ocultar o registro completo do SPF para economizar vergonha.

Eu estava ajudando alguém que estava tendo problemas com o DMARC. Como parte das verificações, eu sempre procuro o registro do DMARC com o DIG.

;; ANSWER SECTION:
_dmarc.somedomain.com. 21599 IN      CNAME   somedomain.com.
somedomain.com.      21599   IN      TXT     "v=spf1 <rest of spf record> -all"

Eu também obtive o mesmo resultado ao procurar o registro DKIM.

Consequentemente, os emails enviados deste domínio sofrerão uma falha no DKIM, pois o módulo DKIM tentará analisar o registro SPF de uma chave DKIM e falhará e também obterá um Permerror para DMARC pelo mesmo motivo.

Os domínios curinga podem parecer uma boa ideia, mas configurados incorretamente, podem causar todos os tipos de problemas.

Ravenstar68
fonte
-2

Um registro DNS curinga é uma má prática?

Não, e ao contrário de outros, acredito que seja uma boa prática.

A maioria dos usuários da Internet digita um nome DNS em algum momento. Eles digitarão ww.mycompany.comou o wwe.mycompany.com que você prefere que aconteça, "oops, não conseguimos encontrar esse site" ou para que eles acessem sua página inicial principal? É mais frequente fazê-los acessar sua página inicial principal. É o que MUITAS pessoas fazem.

Mesmo se alguém colocar um link para i.dont.like.your.website.whatever.comele, você ainda acessará sua página inicial, que é realmente o que você deseja. Afinal, eles não podem fazer com que o i.dont....site vá para o servidor deles, você ainda controla o roteamento de DNS para que ele vá para o seu.

Eu não
fonte
5
O problema que tenho com esse raciocínio é que: 1. interrompe o tratamento de erros; 2. é totalmente centralizado em www, enquanto seus registros curinga também afetam outros protocolos. O resultado é que você interrompeu o tratamento de erros para outras coisas em que não fez nenhum esforço para consertar as coisas.
Håkan Lindqvist
-2

Acho que o melhor motivo para não ter um registro DNS curinga em primeiro lugar é evitar dar o endereço IP do servidor a um invasor em potencial e reduzir a exposição a ataques DDOS. Isso também é recomendado pela Cloudflare: https://blog.cloudflare.com/ddos-prevention-protecting-the-origin/

Michael Rogers
fonte
2
O uso de domínios curinga não altera a exposição a esses ataques. E o link não suporta suas reivindicações incorretas. Tudo o que esse link diz é que o Cloudflare está cobrando um preço mais alto pelos domínios curinga. Isso diz apenas algo sobre os modelos de negócios do Cloudflare e nada sobre a prática de usar domínios curinga.
kasperd
Se você usa dns curinga com o cloudflare, uma vez que ele não passa pelo cloudflare (a menos que você pague uma empresa, a maioria não), qualquer pessoa pode executar ping em qualquer subdomínio composto e encontrar seu IP real. Sem curinga, eles não podem. é tudo o que há para isso.
Michael Rogers
Sim, no caso de tal serviço, eles podem cobrar mais pela proteção de caracteres curinga. Embora essa pergunta não seja sobre esses tipos de serviços, é sobre DNS com caracteres curinga e se deve ser feita ou não em situações normais.
Chris