Alguém pode usar o mesmo servidor DNS que eu seqüestrar meus domínios?

48

Quando registro um novo domínio, eu o envio ao meu provedor de hospedagem atribuindo a ele seus servidores de nome de domínio nas configurações do registro. Por exemplo, com o Digital Ocean, insiro o seguinte:

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

Em seguida, adiciono as configurações de domínio no registro A do meu servidor. Apenas me ocorreu que qualquer outra pessoa no mesmo provedor de hospedagem pode adicionar um registro A com um domínio que possuo.

Existe algo impedindo que isso ocorra? se dois servidores diferentes que usam o mesmo servidor de nomes de domínio tentarem atribuir um domínio a eles mesmos através dos registros A, onde o domínio realmente resolveria quando você o inserisse no navegador? o que impede colisões de nomes de domínio no mesmo servidor DNS?

Eran Galperin
fonte
7
O Digital Ocean impede, por um lado. Apenas tente inserir um registro A para um domínio que você não possui.
Michael Hampton
4
A questão é: como eles sabem quem é o proprietário do domínio? é primeiro a chegar, primeiro a servir? então quem adiciona primeiro o registro A, pode usar o domínio?
Erã Galperin
16
@EranGalperin Hello! Sou funcionário da DigitalOcean. A primeira pessoa a adicionar um domínio à sua conta pode definir registros para ele, mas temos um procedimento para estabelecer a propriedade em caso de conflito.
Jacob
11
Problemas como esse são o motivo pelo qual os maiores provedores de DNS (como soluções de rede) também são registradores de DNS. Eles podem lidar com as duas etapas ao mesmo tempo e garantir que as coisas estejam sincronizadas.
Barmar 23/12/15
Como o @Barmar disse acima, a maioria dos registradores também oferece hospedagem DNS, o que evita o problema que você descreveu, mesmo que o cenário pareça improvável e trivial de resolver.
Fred Thomsen

Respostas:

60

Você não se importa com a seção de comentários abaixo e com as respostas anteriores no histórico de edições. Após cerca de uma hora de uma conversa com os amigos (obrigado @joeQwerty, @Iain e @JourneymanGeek), e alguns hackers joviais, chegamos ao fundo da sua pergunta e da situação como um todo. Desculpe pela brusquidão e mal-entendido da situação completamente no começo.

Vamos percorrer o processo:

  1. Você compra wesleyisaderp.comem, digamos, NameCheap.com.
  2. A Namecheap como seu registrador será onde você preencherá seus registros NS. Digamos que você realmente deseja hospedar a zona DNS no Digital Ocean.
  3. Você aponta os registros NS do seu novo domínio brilhante para ns1.digitalocean.come ns2.digitalocean.com.
  4. No entanto, digamos que eu tenha sido capaz de determinar que você registrou esse domínio e , além disso, que você alterou seus registros NS para os da Digital Ocean . Então eu te bati em uma conta da Digital Ocean e adicionei a zona wesleyisaderp.com à minha.
  5. Você tenta adicionar a zona em * sua * conta, mas a Digital Ocean diz que a zona já existe no sistema deles! Oh não!
  6. Eu CNAME wesleyisaderp.compara wesleyisbetterthanyou.com.
  7. Hilaridade segue.

Alguns amigos e eu acabamos de mostrar esse cenário exato, e sim, funciona. Se o @JoeQwerty compra um domínio e o aponta para os servidores de nomes Digital Ocean, mas eu já tinha essa zona adicionada à minha conta, sou o mestre da zona e posso fazer com ele o que eu quero.

No entanto, considere que alguém precisaria primeiro adicionar a zona à conta DNS e, em seguida, seria necessário apontar seus registros NS para os servidores de nomes desse mesmo host para que algo nefasto acontecesse. Além disso, como proprietário do domínio, você pode alternar os registros NS a qualquer momento e afastar a resolução do host da zona defeituosa.

A probabilidade de isso acontecer é um pouco baixa, para dizer o mínimo. Dizem que, estatisticamente, você pode embaralhar um baralho de 52 cartas e obter uma ordem que nenhum outro humano jamais recebeu, e nenhum outro humano jamais receberá. Eu acho que o mesmo raciocínio existe aqui. A probabilidade de alguém explorar isso é muito baixa e existem atalhos melhores que provavelmente não acontecerão na natureza por acidente.

Além disso, se você possui um domínio em um registrador e alguém cria uma zona em um provedor como o Digital Ocean com o qual você colide, tenho certeza que se você fornecer uma prova de propriedade, eles perguntariam à pessoa que fez zona em sua conta para removê-lo, pois não há motivo para que exista, pois eles não são o proprietário do nome de domínio.

Mas e os registros A

A primeira pessoa a ter uma zona, por exemplo, Digital Ocean, será a que a controlar. Você não pode ter várias zonas idênticas na mesma infraestrutura DNS. Por exemplo, usando os nomes tolos acima, se eu tenho o wesleyisaderp.com como uma zona no Digital Ocean, ninguém mais na infraestrutura de DNS do Digital Ocean pode adicioná-lo à sua conta.

Aqui está a parte divertida: eu realmente adicionei o wesleyisaderp.com à minha conta do Digital Ocean! Vá em frente e tente adicioná-lo ao seu. Não vai doer nada.

Portanto, como resultado, você não pode adicionar um registro A ao wesleyisaderp.com. É tudo meu.

Mas e quanto a ...

Como @Iain apontou abaixo, meu ponto 4 acima é realmente muito detalhado. Não preciso esperar, planejar ou planejar. Posso apenas fazer milhares de zonas em uma conta e depois sentar e esperar. Tecnicamente. Se eu criar milhares de domínios e esperar que eles sejam registrados, e espero que eles usem os hosts DNS nos quais defini minhas zonas ... talvez eu possa fazer algo meio ruim? Talvez? Mas provavelmente não?

Desculpas ao Oceano Digital e ao NameCheap

Observe que o Digital Ocean e o NameCheap não são exclusivos e não têm nada a ver com esse cenário. Este é um comportamento normal. Eles são inocentes em todas as frentes. Eu apenas os usei desde que esse foi o exemplo, e são marcas muito conhecidas.

Wesley
fonte
2
Suponho que se você realmente quer mexer com alguém, você pode configurar, por exemplo, um Ae um MXRR com TTLs muito longos, apontando para um host que você controla e martelar servidores DNS públicos comuns (como o Google, talvez?). Uma variante de envenenamento por cache ...
a CVn
4
Também é trivial mostrar a propriedade do domínio, pois é possível alterar quais servidores ns são apontados, mesmo que alguém o faça, pode ser resolvido com relativa rapidez se o serviço ao cliente for bom.
JamesRyan
3
Os registros @JamesRyan TXT são usados ​​para provar a propriedade em casos como este.
user9517 suporta GoFundMonica
4
@Wesley Isso está correto. Temos um procedimento para lidar com casos de conflitos de zona com nosso serviço DNS.
Jacob
7
Uma situação estranha em que isso pode ser mais provável é que o domínio foi registrado anteriormente e em uso na Digital Ocean e depois expirou / não foi renovado, mas a zona não foi excluída do digitalocean. Mais tarde, alguém o encaixa como um domínio 'novo' (sem saber que era de propriedade anterior) e tenta criar a zona no Digital Ocean. Isso só poderia ser evitado se o host DNS limpar periodicamente zonas para as quais ele não é mais o servidor de nomes. (sem os métodos de resolução de conflito acima mencionados)
Ashley
32

Além da excelente resposta de Wesley, gostaria de acrescentar que já existe uma solução para evitar isso. Chama-se DNSSEC.

O básico é este:

  • Você registra seu domínio (eu irei com o nome eminente wesleyisaderp.comaqui, apenas porque.)
  • Você registra seus servidores de nome no seu registrador, geralmente por meio de uma interface da web que você autentica com uma combinação de nome de usuário / senha.
  • Você também cria um par de chaves pública / privada e carrega sua chave pública no seu registrador na forma de um registro DNSKEY. (É assim que o registrador pode configurar a cadeia de confiança nos servidores raiz para o domínio de nível superior - nesse caso, os servidores raiz para .com.) Novamente, você faz o upload disso quando faz login com seu próprio nome de usuário / senha combo, para que ele esteja conectado ao (s) seu (s) domínio (s) e não ao de outra pessoa.
  • Você acessa o servidor de nomes, insere seus registros e assina o arquivo de zona resultante com sua chave privada. Ou, se você possui uma interface da web para o serviço de hospedagem DNS, carrega a chave privada para eles, para que eles possam assinar o arquivo da zona.
  • Quando Wesley tenta roubar seu domínio de maneira tão rudimentar e o CNAME wesleyisbetterthanyou.com, seus registros não serão aceitos pelos servidores de domínio raiz .com porque eles não são assinados com a chave certa. Se o seu provedor de hospedagem DNS for inteligente, ele verificará isso imediatamente e nem permitirá que ele tente adicionar registros a esse domínio, a menos que ele tenha a chave privada correta.
  • Quando você insere seus próprios registros, eles serão assinados pela tecla certa e, portanto, funcionarão.
  • Agora você pode sentar e rir de Wesley.

(No caso original, o que Wesley descreve, o principal erro seria que a Digital Ocean não verificasse a propriedade de um domínio antes de permitir que alguém configurasse registros DNS para ele. Infelizmente, eles não estão sozinhos nisso; eu sei de pelo menos um registrador sueco com os mesmos problemas.)

Jenny D diz Restabelecer Monica
fonte
11
Curioso, como um provedor de hospedagem de zona DNS não DNSSEC verifica a propriedade antes de permitir a criação de uma zona? Também tentei isso usando o Amazon Route53 e posso criar qualquer zona que desejar.
Wesley19:
Provavelmente não, isso exigiria tentativa e verificação adiadas. Apenas supondo que a exclusão por erro ainda possa ser possível com alguns truques de ux (tela de fumaça).
Sampo Sarrala
@ Wesley Eu não considerei a mecânica. Mas, pelo menos, algum tipo de verificação no registro whois ou o mesmo tipo de verificação que os vendedores de certificados SSL baratos têm funcionaria. Se eles podem fazer isso, por que não podem hospedar empresas?
Jenny D diz Restabelecer Monica
11
@ JennyD Conveniência, principalmente! Esse tipo de seqüestro de domínio é raro o suficiente e é detectável o suficiente para que seja mais fácil corrigi-lo quando isso acontece do que fazer com que todos os usuários legítimos passem por obstáculos para evitá-lo.
duskwuff
@duskwuff Quando a conveniência e a segurança entram em conflito, a conveniência geralmente vence ... Concordo que o seqüestro de domínio provavelmente seja raro - mas e os erros simples, sem más intenções? IMAO, é imprudente que os hosts DNS não façam nenhuma forma de verificação.
Jenny D diz Reinstate Monica
6

Você ficará bem desde que reivindique a propriedade do domínio na DigitalOcean (por exemplo, associe-o à sua conta) antes de solicitar ao registrador que use seus servidores de nomes.

Se alguém já associou seu domínio a sua conta, você descobrirá antes que os servidores de nomes DigitalOcean se tornem autorizados. E se isso acontecer, converse com a DigitalOcean sobre como inicializar essa pessoa em sua conta.

De acordo com as melhores práticas, {ns1, ns2, ns3} .DigitalOcean.com não atua como resolvedores recursivos para domínios hospedados em outros lugares. Se o fizessem, e se os servidores hospedados pela DigitalOcean usassem esses servidores como resolvedores de uso geral, haveria um problema muito maior. Apesar de tudo isso ser conhecido como uma má prática, provavelmente não é tão difícil encontrar provedores de hospedagem que entendam errado, o que abre possibilidades de abuso.

mc0e
fonte
Portanto, se o DigitalOcean ainda não é autoritário para o domínio e vários clientes em potencial afirmam possuir o domínio, como o DigitalOcean saberia qual dos clientes em potencial está dizendo a verdade? Eles vão dar ao primeiro acesso para criar registros e um prazo para atualizar os registros NS, a fim de provar o controle sobre o domínio? Ou eles vão oferecer a cada um dos clientes em potencial um subconjunto diferente de servidores autorizados para inserir nos registros NS?
kasperd
2
@kasperd os legítimos proprietários apontam os registros NS para onde quiserem e, em seguida, configuram, por exemplo, um registro TXT que comprova que são os proprietários, pois contém informações exclusivas fornecidas pelo provedor de serviços. É certo que é um pouco penoso, mas nas raras ocasiões em que isso pode acontecer, é um pouco mais fácil do que ter todos provando ser proprietários antes de trazê-los para bordo.
user9517 suporta GoFundMonica
@kasperd Geralmente, o registro whois identifica o proprietário legítimo, embora as pessoas às vezes tenham motivos para ocultar essas informações. De qualquer forma, se você disser ao DO para associar o domínio à sua conta para torná-lo autoritário, presumivelmente, dê ao impostor uma linha do tempo para atualizar o registrador ou abandonar a associação do domínio no DO. O proprietário legítimo pode ter que esperar um pouco, só isso.
Mc0e
0

Acho que esse problema significa que ninguém deve usar servidores de nomes (como os da Digital Ocean) como seus resolvedores, pois qualquer um pode criar um servidor de nomes para um domínio existente neles. A batalha pelo controle do domínio é irrelevante, pois a propriedade do domínio pode ser comprovada com facilidade, mas o fato de alguém, por exemplo, direcionar qualquer domínio existente que NÃO esteja hospedado no Digital Ocean para onde quiser.

Conclusão: não confie nos servidores DNS de qualquer serviço de hospedagem que não exija uma prova de propriedade do domínio (feita com facilidade e rapidez, por exemplo, pelo método sugerido acima: adicionando um registro TXT com um determinado valor no domínio primeiro , é isso que o Microsoft O365 e o Google fazem, por exemplo).

MuchWorseThanTheySay
fonte