Czy ktoś korzystający z tego samego serwera DNS co ja może przejąć kontrolę nad moimi domenami?

48

Kiedy rejestruję nową domenę, wysyłam ją do mojego dostawcy hostingu, przypisując jej serwery nazw domen w ustawieniach rejestru. Na przykład w Digital Ocean wprowadzam następujące dane:

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

Następnie dodaję ustawienia domeny do rekordu A mojego serwera. Właśnie przyszło mi do głowy, że każdy inny dostawca usług hostingowych może dodać rekord A do domeny, której jestem właścicielem.

Czy coś może temu zapobiec? jeśli 2 różne serwery, które używają tego samego serwera nazw domen, spróbują przypisać sobie domenę poprzez rekordy A, to gdzie ta domena faktycznie się rozwiąże po wprowadzeniu jej w przeglądarce? co zapobiega kolizjom nazw domen na tym samym serwerze DNS?

Eran Galperin
źródło
7
Z jednej strony Digital Ocean temu zapobiega. Po prostu spróbuj wpisać rekord A dla domeny, której nie jesteś właścicielem.
Michael Hampton
4
Pytanie brzmi: skąd oni wiedzą, kto jest właścicielem domeny? czy kto pierwszy, ten lepszy? więc kto pierwszy doda rekord A, może korzystać z domeny?
Eran Galperin
16
@EranGalperin Hello! Jestem pracownikiem DigitalOcean. Pierwsza osoba, która doda domenę do swojego konta, może ustanowić dla niej rekordy, ale mamy procedurę ustalania własności w przypadku konfliktu.
Jacob
1
Takie problemy powodują, że więksi dostawcy DNS (np. Network Solutions) są również rejestratorami DNS. Mogą obsłużyć oba kroki jednocześnie i upewnić się, że wszystko jest zsynchronizowane.
Barmar
Jak wspomniano powyżej @Barmar, większość rejestratorów zapewnia również hosting DNS, co pozwala uniknąć opisanego problemu, nawet jeśli scenariusz wydaje się mało prawdopodobny i trywialny do rozwiązania.
Fred Thomsen

Odpowiedzi:

60

Nigdy nie przeszkadza ci sekcja komentarzy poniżej i nigdy nie przeszkadza ci poprzednie odpowiedzi w historii edycji. Po około godzinie rozmowy z przyjaciółmi (dziękuję @joeQwerty, @Iain i @JourneymanGeek) i kilku wesołych hacków dookoła, doszliśmy do sedna zarówno pytania, jak i całej sytuacji. Na początku przepraszam za szorstkość i niezrozumienie sytuacji.

Przejdźmy przez proces:

  1. Kupujesz wesleyisaderp.comw, powiedzmy, NameCheap.com.
  2. Namecheap jako rejestrator będzie tam, gdzie wypełnisz swoje rekordy NS. Powiedzmy, że faktycznie chcesz hostować strefę DNS na Digital Ocean.
  3. Wskazujesz rekordy NS twojej nowej błyszczącej domeny na ns1.digitalocean.comi ns2.digitalocean.com.
  4. Załóżmy jednak, że udało mi się ustalić, że zarejestrowałeś tę domenę, a ponadto zmieniłeś swoje rekordy NS na Digital Ocean . Następnie pobiłem cię do konta Digital Ocean i dodałem strefę wesleyisaderp.com do mojego własnego.
  5. Próbujesz dodać strefę na * swoim * koncie, ale Digital Ocean mówi, że strefa już istnieje w ich systemie! Och nie!
  6. I CNAME wesleyisaderp.comdo wesleyisbetterthanyou.com.
  7. Następuje wesołość.

Rozegraliśmy właśnie z kilkoma przyjaciółmi ten scenariusz i tak, to działa. Jeśli @JoeQwerty kupuje domenę i wskazuje ją serwerom nazw Digital Ocean, ale strefa została już dodana do mojego konta, to jestem mistrzem strefy i mogę robić z nią, co chcę.

Jednak należy wziąć pod uwagę, że ktoś musiałby najpierw dodać strefę do swojego konta DNS, a następnie skierować swoje rekordy NS na serwery nazw tego samego hosta, aby stało się coś niebezpiecznego. Ponadto, jako właściciel domeny, możesz przełączać rekordy NS w dowolnym momencie i przenieść rozdzielczość z dala od hosta złej strefy.

Prawdopodobieństwo takiego zdarzenia jest co najmniej nieco niższe. Mówi się, że statystycznie można potasować talię 52 kart do gry i uzyskać porządek, którego żaden inny człowiek nigdy nie dostał i żaden inny człowiek nigdy tego nie zrobi. Myślę, że to samo rozumowanie istnieje tutaj. Prawdopodobieństwo, że ktoś to wykorzysta, jest tak niskie, a istnieją lepsze skróty, które prawdopodobnie nie zdarzą się na wolności przez przypadek.

Ponadto, jeśli masz domenę u rejestratora i zdarzyło się, że ktoś utworzył strefę u dostawcy takiego jak Digital Ocean, z którym się kolidujesz, jestem pewien, że jeśli dostarczysz dowód własności, zapyta osobę, która utworzyła strefę na koncie, aby ją usunąć, ponieważ nie ma powodu, by istniała, ponieważ nie jest właścicielem nazwy domeny.

Ale co z płytami A.

Pierwszą osobą, która ma strefę, na przykład Digital Ocean, będzie ta, która ją kontroluje. Nie można mieć wielu identycznych stref w tej samej infrastrukturze DNS. Na przykład, używając głupich nazw powyżej, jeśli mam wesleyisaderp.com jako strefę na Digital Ocean, nikt inny w infrastrukturze DNS Digital Ocean nie może dodać go do swojego konta.

Oto część zabawy: naprawdę dodałem wesleyisaderp.com do mojego konta w Ocean Ocean! Śmiało i spróbuj dodać go do swojego. Nic nie zaszkodzi.

W rezultacie nie możesz dodać rekordu A do witryny wesleyisaderp.com. To wszystko jest moje.

Ale co z...

Jak zauważył @Iain poniżej, mój punkt 4 powyżej jest w rzeczywistości zbyt szczegółowy. Nie muszę w ogóle czekać, knuć ani planować. Mogę po prostu utworzyć tysiące stref na koncie, a następnie usiąść i czekać. Technicznie Jeśli utworzę tysiące domen, a następnie poczekam, aż się zarejestrują, i mam nadzieję, że użyją hostów DNS, dla których ustawiłem strefy ... może mogę zrobić coś złego? Może? Ale prawdopodobnie nie?

Przepraszamy za Digital Ocean & NameCheap

Pamiętaj, że Digital Ocean i NameCheap nie są unikalne i nie mają nic wspólnego z tym scenariuszem. To jest normalne zachowanie. Są nienaganne na wszystkich frontach. Właśnie ich użyłem, bo taki był przykład, i są to bardzo dobrze znane marki.

Wesley
źródło
2
Podejrzewam, że jeśli naprawdę chcesz z kimś zadzierać, możesz ustawić np. AI MXRR z naprawdę długimi czasami TTL, wskazując na kontrolowanego przez ciebie hosta i utrudnić wspólne publiczne serwery DNS (np. Google'a?). Wariant zatrucia
skrytkami
4
Równie trywialne jest pokazanie własności domeny poprzez możliwość zmiany, na które serwery ns są wskazywane, więc nawet jeśli ktoś to zrobił, można je stosunkowo szybko wyczyścić, jeśli ich obsługa klienta jest dobra.
JamesRyan,
3
@JamesRyan Rekordy TXT służą do udowodnienia własności w takich przypadkach.
user9517 obsługuje GoFundMonica
4
@Wesley To prawda. Mamy wdrożoną procedurę obsługi przypadków konfliktów stref z naszą usługą DNS.
Jakub
7
Dziwną sytuacją, w której może to być bardziej prawdopodobne, jest to, że domena była wcześniej zarejestrowana i używana w Digital Ocean, a następnie wygasła / nie została odnowiona, ale strefa nie została usunięta z digitalocean. Ktoś później przechwytuje ją jako „nową” domenę (nie wiedząc, że była wcześniej własnością), a następnie próbuje utworzyć strefę w Digital Ocean. Można temu zapobiec tylko wtedy, gdy host DNS okresowo czyści strefy, dla których nie jest już serwerem nazw. (bez wyżej wymienionych metod rozwiązywania konfliktów)
Ashley,
32

Oprócz doskonałej odpowiedzi Wesleya, chciałbym dodać, że istnieje już rozwiązanie, aby temu zapobiec. Nazywa się DNSSEC.

Podstawy są następujące:

  • Zarejestruj swoją domenę (wybiorę wesleyisaderp.comtutaj tę wybitną nazwę , tylko dlatego.)
  • Serwery nazw rejestrujesz u rejestratora, zwykle za pośrednictwem interfejsu internetowego, na którym uwierzytelniasz się za pomocą kombinacji nazwy użytkownika / hasła.
  • Tworzysz także parę kluczy publiczny / prywatny i przesyłasz swój klucz publiczny do rejestratora w postaci rekordu DNSKEY. (W ten sposób rejestrator może skonfigurować łańcuch zaufania do serwerów głównych dla domeny najwyższego poziomu - w tym przypadku do serwerów głównych .com). Ponownie, przesyłasz to, gdy jesteś zalogowany przy użyciu własnej nazwy użytkownika / hasła combo, więc jest połączony z twoją domeną (domenami), a nie z domeną kogoś innego.
  • Idziesz do serwera nazw, wpisujesz swoje rekordy i podpisujesz wynikowy plik strefy za pomocą klucza prywatnego. Lub, jeśli masz interfejs sieciowy do usługi hostingowej DNS, prześlij do nich klucz prywatny, aby mogli podpisać plik strefy.
  • Kiedy Wesley tak niegrzecznie próbuje przejąć twoją domenę i CNAME wesleyisbetterthanyou.com, jego rekordy nie zostaną zaakceptowane przez serwery domeny root w domenie .com, ponieważ nie są podpisane odpowiednim kluczem. Jeśli Twój dostawca hostingu DNS jest sprytny, sprawdzi to od razu i nawet nie pozwoli mu spróbować dodać rekordów do tej domeny, chyba że ma odpowiedni klucz prywatny.
  • Gdy wprowadzisz własne rekordy, będą one podpisane odpowiednim kluczem, więc będą działać.
  • Możesz teraz usiąść i śmiać się z Wesleya.

(W pierwotnym przypadku, opisanym przez Wesleya, głównym błędem byłoby to, że Digital Ocean nie zweryfikował własności domeny przed zezwoleniem komuś na skonfigurowanie rekordów DNS. Niestety, nie są oni sami w tym zakresie; wiem przynajmniej jednego szwedzkiego rejestratora z tymi samymi problemami).

Jenny D mówi Przywróć Monikę
źródło
1
Ciekawe, w jaki sposób jakikolwiek dostawca hostingu stref DNS innych niż DNSSEC zweryfikowałby własność przed zezwoleniem na utworzenie strefy? Próbowałem tego również przy użyciu Amazon Route53 i mogę utworzyć dowolną strefę, którą chcę.
Wesley,
Prawdopodobnie tak nie będzie, wymagałoby to odroczenia prób i błędów. Po prostu zgadywanie, usuwanie przy błędzie może być nadal możliwe w przypadku niektórych sztuczek uX (zasłona dymna).
Sampo Sarrala,
@Wesley Nie rozważałem mechaniki. Ale przynajmniej sprawdziłby się rekord Whois lub tego samego rodzaju kontrole, które mieli sprzedający tani certyfikat SSL. Jeśli mogą to zrobić, dlaczego firmy hostingowe nie mogą?
Jenny D mówi Przywróć Monikę
1
@JennyD Wygoda, głównie! Tego rodzaju przejmowanie domen jest na tyle rzadkie i wystarczająco wykrywalne, że łatwiej jest je naprawić, gdy tak się dzieje, niż sprawić, by każdy legalny użytkownik skakał przez obręcze, aby temu zapobiec.
duskwuff,
@duskwuff Kiedy wygoda i konflikt bezpieczeństwa, wygoda zwykle wygrywa ... Zgadzam się, że przejęcie domeny może być rzadkie - ale co z prostymi błędami, bez złych zamiarów? IMAO, administratorzy DNS nierozważnie nie wykonują żadnych kontroli.
Jenny D mówi Przywróć Monikę
6

Wszystko będzie w porządku, o ile zgłosisz prawo własności do domeny w DigitalOcean (tj. Powiążesz ją ze swoim kontem), zanim powiesz rejestratorowi, aby używał swoich serwerów nazw.

Jeśli ktoś już powiązał Twoją domenę z jego kontem, dowiesz się, zanim serwery nazw DigitalOcean staną się wiarygodne. A jeśli tak się stanie, porozmawiaj z DigitalOcean na temat wyrzucenia tej osoby z konta.

Zgodnie z najlepszą praktyką {ns1, ns2, ns3} .DigitalOcean.com nie działają jako rekurencyjne programy tłumaczące dla domen hostowanych gdzie indziej. Gdyby tak było i gdyby serwery hostowane przez DigitalOcean używały tych serwerów jako resolverów ogólnego przeznaczenia, byłby o wiele większy problem. Mimo tego, że jest to powszechnie znana zła praktyka, prawdopodobnie nie jest trudno znaleźć dostawców hostingu, którzy popełniają błąd, co otwiera możliwości nadużyć.

Mc0e
źródło
Jeśli więc DigitalOcean nie jest jeszcze autorytatywny dla domeny, a wielu potencjalnych klientów twierdzi, że jest właścicielem domeny, skąd DigitalOcean wiedziałby, który z potencjalnych klientów mówi prawdę? Czy zapewnią pierwszemu dostęp do tworzenia rekordów i termin aktualizacji rekordów NS w celu udowodnienia kontroli nad domeną? A może dadzą każdemu potencjalnemu klientowi inny podzbiór autorytatywnych serwerów do umieszczenia w rekordach NS?
kasperd
2
@ wykasował legalnych właścicieli punkt, w którym rekordy NS mają gdziekolwiek chcą, a następnie skonfigurował na przykład rekord TXT, który dowodzi, że są właścicielami, ponieważ zawiera unikalne informacje, które podaje im dostawca usług. Wprawdzie trochę palaver, ale w rzadkich przypadkach, kiedy to się może zdarzyć, jest to nieco łatwiejsze niż udowodnienie, że wszyscy są właścicielami, zanim wezmą je na pokład.
user9517 obsługuje GoFundMonica
@kasperd Często rekord whois identyfikuje prawowitego właściciela, chociaż ludzie czasami mają powód, by ukrywać te informacje. W każdym razie, jeśli powiesz DO, aby powiązała domenę ze swoim kontem, abyś mogła uczynić ją autorytatywną, DO przypuszczalnie przekaże oszustowi harmonogram albo zaktualizować rejestratora, albo zrezygnować z powiązania domeny w DO. Prawowity właściciel może trochę poczekać, to wszystko.
mc0e,
0

Myślę, że ten problem oznacza, że ​​nikt nie powinien używać takich serwerów nazw (takich jak Digital Ocean's) jako ich resolverów, ponieważ każdy może zrobić na nich serwer nazw dla istniejącej domeny. Walka o kontrolę nad domeną jest nieistotna, ponieważ własność domeny można łatwo udowodnić, ale fakt, że ktoś może na przykład skierować dowolną istniejącą domenę, która NIE jest już hostowana na Digital Ocean, w dowolne miejsce.

Konkluzja: nie ufaj serwerom DNS jakiejkolwiek usługi hostingowej, która nie wymaga dowodu własności domeny (łatwo i szybko, na przykład za pomocą metody zasugerowanej powyżej: dodając najpierw rekord TXT o określonej wartości w domenie , to właśnie robią na przykład Microsoft O365 i Google).

MuchWorseThanTheySay
źródło