도메인네임서버 DNS

DNS 서버 종류

recursive resolver

일반 사용자가 브라우저를 통해 인터넷에 접근하면 제일먼저 DNS 요청을 받는 곳, 아무 설정도 하지 않으면 ISP의 서버로 설정된다. Cloudfare 1.1.1.1 or Google 8.8.8.8 과 같은 곳으로 재설정 가능.

DNS 루트 네임서버

ICANN과 같은 NPO들이 관리하며 .com, .net 와 도메인별 TLD 네임서버 목록을 관리하는 서버. 캐시에 항목이 존재하지 않는다면 Recursive resolver가 제일 먼저 요청 하는곳. a.root-servers.net 에서 m.root-servers.net 까지 총 13

루트 서버의 목록을 확인할 수 있는 곳

TLD 네임서버

ICANN의 TLD 도메인별로 authoritative 네임서버를 반환하는 서버. 국가 TLD인 .kr 도메인은 한국 인터넷 진흥원(KISA)에서 관리.

authoritative 네임서버

해당 tld 도메인의 ip를 실제로 가지고 있는 서버

Domain 프라이버시

Namecheap 의 WhoisGuard 나 Godaddy의 Domain By Proxy가 이에 해당. 예전에는 Whois 에 노출되는 이메일로 스팸의 대상이 되기 쉬웠고 아무래도 개인정보 노출에 사람들이 민감하게 반응해서 나온 해결책. 이미 대부분의 도메인 업체들이 com.au 처럼 법적으로 요구되지 않는 이상 개인정보 보호 차원에서 등록 정보들을 가려주고 있긴 하지만 페이퍼 컴퍼니를 세워놓게 해준다. GoDaddy는 그렇게 보호 해주는 비용으로 1년에 10달러 정도 받았는데 그마저도 모두 없어질 모양.

split DNS

요청의 소스에 따라 다른 ip를 돌려주는 DNS 기능. 방화벽 뒤에 있는 클라이언트가 서버에 접속할때 public ip 로 접근하면 외부로 나갔다기 다시 방화벽 안으로 들어오는 hairpin turn 이 발생한다. 이를 방지하기 위해서는 split DNS로 내부 트래픽은 외부 접근과 다른 ip를 돌려주도록 설정한다.

Split-horizon_DNS

DNS 보안관련

일반 DNS쿼리는 주로 암호화 되지 않은 UDP로 수행되고 인증도 수행하지 않는다. 하지만 공격자가 실제 사이트와 다른 IP를 돌려줘도 https 인증서에 막혀서 큰 문제는 되지 않음. DNS에 관한 많은 염려들은 privacy에 관한 것들. DNS를 소유한 ISP나 Google은 내가 어느 사이트에 접속하는지 다 알고 있다. 그렇다면 DNSSEC을 사용하면 해결 되는가? 아니 DNSSEC은 데이터의 무결성과 진위여부에만 신경쓰기 때문에 여전히 중간에 있는 공격자나 ISP, 정부는 내가 어디게 접속 하는지 알 수 있다. 그리고 DNS를 거치지 않더라고 TLS 1.3 이하 버전에서는 SNI를 통해서 여전히 내가 어느 사이트에 접근하는지 알아낼 수 있다. ESNI를 사용하는 TLS 1.3을 중국이 차단하는 이유도 여기에 있다. 그외에도 인증서의 유효성을 검증하는 OCSP 요청으로도 내가 어디에 접슨하는지 알 수 있다. OCSP Stapling을 사용해서 OCSP 서버에 따로 요청하지 않고 인증서와 같이 유효정보를 획득할 수도 있지만 아직 널리 퍼저 있지 않음.

참고

https://ko.wikipedia.org/wiki/DNSSEC

https://en.wikipedia.org/wiki/DNS_rebinding

DNS Privacy Project

DNS Security: Threat Modeling DNSSEC, DoT, and DoH

Why encrypted DNS is ineffective

DNS over TLS vs. DNS over HTTPS | Secure DNS

A cartoon intro to DNS over HTTPS

https://support.mozilla.org/en-US/kb/dns-over-https-doh-faqs

DNS관련 커맨드라인 for Mac

로컬에 설정된 네임서버 확인

scutil --dns

DNS lookup 실행. DNSSEC 제거, 추적정보 추가 , IPv4 만으로

dig tacogrammer.com +nodnssec +trace -4

도메인의 등록 대행업체 (Registrar)가 되고 싶다면?

일단 ICANN으로 부터 승인을 받아야 한다. 매년 4,000달러 비용 발생. 70,000달러의 유동자산 보유하고 있어야함.

https://www.icann.org/resources/pages/accreditation-2012-02-25-en

TLD 도메인의 관리자(Registry)가 되고 싶다면?

ICANN에 응모하면 된다. shop 도메인의 경우 일본 대기업인 GMO의 자회사 GMO Registry가 가져갔음.

https://newgtlds.icann.org/en/program-status/delegated-strings

https://icannwiki.org/New_gTLD_Program

공짜로 도메인을 등록하고 싶다면?

그런거 없다. 인터넷 세계에서는 돈을 지불하지 않으면 당신이 바로 제품이된다.(If You’re Not Paying, You’re the Product) 아주 짧은 기간동안만 사용할 작정이라면 https://www.freenom.com 의 도메인은 등록 후 1년간 무료로 쓸 수 있다.