나와 같은 DNS 서버를 사용하는 사람이 도메인을 탈취 할 수 있습니까?


47

새 도메인을 등록 할 때 registar 설정에서 도메인 이름 서버를 할당하여 호스팅 공급자에게 보냅니다. 예를 들어, Digital Ocean을 사용하여 다음을 입력했습니다.

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

그런 다음 서버의 A 레코드에 도메인 설정을 추가합니다. 동일한 호스팅 제공 업체의 다른 사람이 내가 소유 한 도메인으로 A 레코드를 추가 할 수 있다는 것이 저에게 일어났습니다.

이것이 발생하는 것을 막는 것이 있습니까? 동일한 도메인 이름 서버를 사용하는 두 개의 다른 서버가 A 레코드를 통해 도메인을 자신에게 할당하려고하면 브라우저에서 도메인을 입력 할 때 도메인이 실제로 해결되는 위치는 무엇입니까? 동일한 DNS 서버에서 도메인 이름 충돌을 방지하는 것은 무엇입니까?


7
Digital Ocean은이를 방지합니다. 그냥 시도 도메인에 대한 A 레코드를 입력 하면 보유하고 있지 않습니다.
Michael Hampton

4
문제는 도메인을 누가 소유하고 있는지 어떻게 알 수 있는가입니다. 처음 왔니, 먼저 봉사하니? 누가 A 레코드를 먼저 추가하든 도메인을 사용할 수 있습니까?
Eran Galperin

16
@EranGalperin 안녕하세요! 저는 DigitalOcean 직원입니다. 계정에 도메인을 추가 한 첫 번째 사람이 도메인에 대한 레코드를 설정할 수 있지만 충돌시 소유권을 설정하는 절차가 있습니다.
Jacob

1
이와 같은 문제는 더 큰 DNS 공급자 (예 : 네트워크 솔루션)가 DNS 등록 기관인 이유입니다. 두 단계를 한 번에 처리 할 수 ​​있으며 동기화가 이루어 지도록합니다.
Barmar

@Barmar가 위에서 언급했듯이 대부분의 등록 기관은 DNS 호스팅도 제공하므로 시나리오를 해결할 가능성이 적고 사소한 것처럼 보이지만 설명 된 문제를 피할 수 있습니다.
Fred Thomsen

답변:


59

아래 주석 섹션을 신경 쓰지 말고 편집 기록의 이전 답변을 신경 쓰지 마십시오. 약 1 시간 동안 친구들과 대화를하고 (@joeQwerty, @Iain, @JourneymanGeek에게 감사함), 약간의 해킹으로 인해 귀하의 질문과 상황이 모두 바닥에 도달했습니다. 처음에는 멍청하고 상황을 완전히 이해하지 못해서 죄송합니다.

프로세스를 단계별로 살펴 보겠습니다.

  1. wesleyisaderp.comNameCheap.com에서 구매 한다고 가정하겠습니다.
  2. 등록 기관인 Namecheap은 NS 레코드를 채우는 곳입니다. 실제로 Digital Ocean에서 DNS 영역을 호스팅한다고 가정 해 봅시다.
  3. 반짝이는 새 도메인의 NS 레코드를 ns1.digitalocean.com및을 가리 킵니다 ns2.digitalocean.com.
  4. 그러나 도메인을 등록했음을 확인하고 NS 레코드를 Digital Ocean 's (으)로 변경했다고 가정 해 보겠습니다 . 그런 다음 Digital Ocean 계정으로 이겼고 wesleyisaderp.com 영역을 내 계정에 추가했습니다.
  5. * your * 계정에 영역을 추가하려고하는데 Digital Ocean은 해당 영역이 시스템에 이미 존재한다고 말합니다. 아뇨!
  6. 에 CNAME wesleyisaderp.com합니다 wesleyisbetterthanyou.com.
  7. 성대가 계속됩니다.

일부 친구와 나는 방금이 정확한 시나리오를 연주했으며, 그렇습니다. @JoeQwerty가 도메인을 구매하여 Digital Ocean 네임 서버를 가리 키지 만 해당 영역이 이미 내 계정에 추가 된 경우 영역 마스터가되어 원하는대로 할 수 있습니다.

그러나 누군가 먼저 영역을 자신의 DNS 계정에 추가해야하고, 악의적 인 일이 발생하기 위해서는 NS 레코드를 동일한 호스트의 이름 서버로 지정해야합니다. 또한 도메인 소유자는 언제든지 NS 레코드를 전환하고 해상도를 불량 영역 호스트에서 멀리 이동할 수 있습니다.

이런 일이 일어날 가능성은 가장 적습니다. 통계적으로, 당신은 52 장의 덱을 섞어서 다른 사람은 얻지 못했고 다른 사람은하지 않을 것을 주문할 수 있다고합니다. 나는 같은 추론이 여기에 있다고 생각합니다. 누군가이 취약점을 악용 할 가능성은 매우 낮으며 더 빠른 지름길이있어 우연히 일어날 수는 없습니다.

또한 레지스트라에서 도메인을 소유하고 있고 누군가가 Digital Ocean과 같은 공급 업체에서 충돌하는 영역을 만든 경우 소유권 증명을 제공하는지 확실하게 알 수 있습니다. 도메인 이름 소유자가 아니기 때문에 계정에서 존을 제거 할 이유가 없으므로 계정에서 존을 삭제하십시오.

그러나 A 레코드는 어떻습니까

예를 들어 Digital Ocean과 같이 영역을 설정 한 첫 번째 사람이 해당 영역을 제어하는 ​​사람이됩니다. 동일한 DNS 인프라에 동일한 영역을 여러 개 가질 수 없습니다. 예를 들어, 위의 어리석은 이름을 사용하여 wesleyisaderp.com을 Digital Ocean의 영역으로 사용하는 경우 Digital Ocean의 DNS 인프라에있는 다른 누구도 자신의 계정에 추가 할 수 없습니다.

재미있는 부분은 다음과 같습니다. 실제로 wesleyisaderp.com을 Digital Ocean 계정에 추가했습니다! 계속해서 당신의 것으로 추가하십시오. 아무것도 아프지 않을 것입니다.

결과적으로 wesleyisaderp.com에 A 레코드를 추가 할 수 없습니다. 다 내 꺼야

하지만 ...

@Iain이 아래에서 지적했듯이 위의 4 번 지점은 실제로 너무 장황합니다. 기다릴 필요가 없습니다. 난 그냥 할 수 수천 계정의 영역을 다음 앉아서 기다립니다. 엄밀히 말하면 수천 개의 도메인을 만든 다음 등록 될 때까지 기다렸다가 영역을 설정 한 DNS 호스트를 사용하기를 원한다면 ... 아마도? 그러나 아마 아닐까요?

Digital Ocean 및 NameCheap에 대한 사과

Digital Ocean과 NameCheap은 고유하지 않으며이 시나리오와 관련이 없습니다. 이것은 정상적인 동작입니다. 그들은 모든면에서 흠이 없습니다. 나는 그것이 주어진 예이기 때문에 방금 그것들을 사용했으며 그들은 매우 잘 알려진 브랜드입니다.


2
당신이 정말로 누군가 엉망에, 당신은 예 업 설정할 수 있습니다 원한다면 나는 가정 A하고 MX사용자가 제어 호스트를 가리키는 정말 긴 TTL을 가진 RR, 망치 일반적인 공공 DNS 서버 (구글, 어쩌면 같은를?). 캐시 중독의 변종 ...
CVn

4
또한 어떤 ns 서버를 가리키는 지 변경할 수있어 도메인 소유권을 보여주는 것은 사소한 일입니다. 고객 서비스가 좋더라도 비교적 빨리 정리할 수 있습니다.
JamesRyan

3
@JamesRyan TXT 레코드는 이와 같은 경우 소유권을 증명하는 데 사용됩니다.
user9517은 GoFundMonica 지원

4
@Wesley 이것은 맞습니다. DNS 서비스와의 영역 충돌 사례를 처리하는 절차가 있습니다.
Jacob

7
이 상황이 더 이상 할 수있는 이상한 상황은 도메인이 이전 에 Digital Ocean에 등록되어 사용 중이고 경과 / 갱신되지 않았지만 영역이 digitalocean에서 삭제되지 않은 경우입니다. 누군가 나중에 도메인을 '새로운'도메인으로 스냅 한 다음 (이전에 소유 한 것을 알지 못함) Digital Ocean에서 영역을 만들려고합니다. DNS 호스트가 더 이상 네임 서버가 아닌 영역을 주기적으로 제거하는 경우에만 방지 할 수 있습니다. (전술 한 충돌 해결 방법없이)
Ashley

32

웨슬리의 훌륭한 답변 외에도 이미 이것을 예방할 수있는 해결책이 있다고 덧붙이고 싶습니다. 이것을 DNSSEC라고합니다.

기본 사항은 다음과 같습니다.

  • 도메인을 등록하셨습니다 ( wesleyisaderp.com여기서 저명한 이름으로 하겠습니다).
  • 일반적으로 사용자 이름 / 암호 콤보로 인증하는 웹 인터페이스를 통해 등록자에 이름 서버를 등록합니다.
  • 또한 공개 / 개인 키 쌍을 생성하고 공개 키를 DNSKEY 레코드 형식으로 등록자에 업로드합니다. (레지스트라가 최상위 도메인의 루트 서버 (이 경우 루트 서버)에 대한 신뢰 체인을 설정하는 방법입니다 .com.) 다시, 자신의 사용자 이름 / 암호로 로그인 할 때이를 업로드합니다. 콤보로 다른 사람이 아닌 도메인에 연결되어 있습니다.
  • 네임 서버로 가서 레코드를 입력하고 개인 영역 키로 결과 영역 파일에 서명합니다. 또는 DNS 호스팅 서비스에 대한 웹 인터페이스가있는 경우 개인 키를 업로드하여 영역 파일에 서명 할 수 있습니다.
  • Wesley가 무례하게 도메인과 CNAME을 도용하려고 시도 할 때 wesleyisbetterthanyou.com올바른 레코드로 서명되지 않았기 때문에 .com 루트 도메인 서버는 자신의 레코드를 수락하지 않습니다. DNS 호스팅 제공 업체가 영리한 경우, 바로 확인하여 올바른 개인 키를 얻지 않는 한 해당 도메인에 레코드를 추가 할 수 없습니다.
  • 자신의 기록을 입력하면 올바른 키로 서명되어 작동합니다.
  • 이제 앉아서 웨슬리를 비웃을 수 있습니다.

(원래의 경우 웨슬리가 묘사 한 주요 오류는 Digital Ocean이 누군가가 도메인에 대한 DNS 레코드를 설정하기 전에 도메인 소유권을 확인하지 않았다는 것입니다. 같은 문제를 가진 스웨덴 등록 기관 중 최소 하나 이상)


1
궁금한 점은 DNSSEC가 아닌 DNS 영역 호스팅 공급자가 영역을 만들기 전에 어떻게 소유권을 확인하는 것입니까? 또한 Amazon Route53을 사용 하여이 작업을 시도했으며 원하는 모든 영역을 만들 수 있습니다.
웨슬리

그들은 아마도 시행 착오와 오류 점검이 필요하지 않을 것입니다. 추측 해 볼 때 오류시 삭제는 일부 (연기 화면) ux 트릭으로 가능할 수 있습니다.
Sampo Sarrala

@Wesley 나는 역학을 고려하지 않았습니다. 그러나 적어도 whois 레코드에 대한 일종의 검사 또는 저렴한 SSL 인증서 판매자가 할 수있는 것과 같은 종류의 검사. 그들이 할 수 있다면 왜 회사를 호스팅 할 수 없습니까?
Jenny D는 Monica Reinstate Monica가

1
@JennyD 편의성, 주로! 이러한 유형의 도메인 하이재킹은 모든 합법적 인 사용자가 후프를 뛰어 넘지 않도록 방지하는 것보다 문제를 해결하기에 충분히 드물고 감지 가능합니다.
duskwuff

@duskwuff 편의성과 보안이 충돌 할 때 편의가 일반적으로이기는 경우 ... 도메인 하이재킹이 드물다는 데 동의하지만 사악한 의도없이 간단한 실수는 어떻습니까? IMAO, DNS 호스팅 업체는 어떠한 형태의 점검도하지 않는 것이 무모합니다.
Jenny D는 Reinstate Monica가

6

등록 기관에 이름 서버를 사용하도록 지시하기 전에 DigitalOcean에서 도메인 소유권을 주장하는 한 (즉, 계정과 도메인을 연결하는 한) 괜찮습니다.

누군가 귀하의 도메인을 자신의 계정과 이미 연결했다면 DigitalOcean 네임 서버가 권한을 갖기 전에 알게 될 것입니다. 그런 경우, DigitalOcean에 연락하여 해당 사람이 자신의 계정에서 부팅되도록하십시오.

모범 사례에 따라 {ns1, ns2, ns3} .DigitalOcean.com은 다른 곳에서 호스팅되는 도메인에 대한 재귀 해결 자로 작동하지 않습니다. 그렇게하고 DigitalOcean이 호스팅하는 서버가 해당 서버를 범용 리졸버로 사용하면 훨씬 더 큰 문제가 발생합니다. 이것이 나쁜 습관으로 잘 알려져 있기 때문에, 잘못 이해 한 호스팅 제공 업체를 찾는 것은 그리 어렵지 않으며, 이는 학대 가능성을 열어줍니다.


따라서 DigitalOcean이 아직 도메인에 대해 권한이없고 여러 잠재 고객이 도메인을 소유한다고 주장하는 경우 DigitalOcean은 어떤 잠재 고객이 진실을 말하고 있는지 어떻게 알 수 있습니까? 도메인에 대한 통제력을 입증하기 위해 레코드를 생성하고 NS 레코드를 업데이트 할 수있는 마감일을 처음으로 부여 할 예정입니까? 아니면 그들은 각각의 잠재 고객에게 NS 레코드에 넣을 수있는 권한있는 서버의 다른 서브 세트를 제공 할 것입니까?
kasperd

2
@kasperd는 합법적 인 소유자에게 NS 레코드를 원하는 곳으로 지정하고 서비스 제공자가 제공하는 고유 한 정보가 포함되어 있기 때문에 소유자임을 증명하는 TXT 레코드 등을 구성합니다. 약간의 맹렬한 일이지만, 드물게 이런 일이 발생할 수 있기 때문에 모든 사람이 온보드로 가져 오기 전에 소유권을 증명하는 것보다 다소 쉽습니다.
user9517은 GoFundMonica

@kasperd 종종 whois 기록은 정당한 소유자를 식별하지만 사람들은 때때로 그 정보를 모호하게 할 이유가 있습니다. 어쨌든, 도메인에 계정을 연결하여 도메인을 정식으로 만들도록 DO에 지시 한 경우, DO를 통해 등록 기관을 업데이트하거나 도메인의 도메인 연결을 포기할 수있는 타임 라인을 임 포스터에게 제공 할 수 있습니다. 합법적 인 소유자는 조금 기다려야 할 수도 있습니다.
mc0e

0

이 문제는 누구나 기존 도메인의 이름 서버를 만들 수 있기 때문에 아무도 그러한 이름 서버 (예 : Digital Ocean 등)를 확인 자로 사용해서는 안된다고 생각합니다. 도메인 소유권을 쉽게 입증 할 수 있기 때문에 도메인 제어를위한 전투는 무의미하지만, 누군가가 이미 Digital Ocean에 호스팅되지 않은 기존 도메인을 원하는 곳으로 보낼 수 있다는 사실과 관련이 있습니다.

결론 : 도메인 소유권 증명이 필요하지 않은 호스팅 서비스의 DNS 서버를 신뢰하지 마십시오 (예를 들어 위에서 제안한 방법으로 쉽고 빠르게 수행 됨 : 먼저 도메인에 특정 값을 가진 TXT 레코드 추가) 예를 들어 Microsoft O365와 Google이하는 일입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.