DNS over TLS vs. DNS over HTTPS | Secure DNS 용어
DNS 쿼리는 일반 텍스트로 전송되므로 누구나 읽을 수 있습니다.
HTTPS를 통한 DNS 및 TLS를 통한 DNS는 DNS 쿼리 및 응답을 암호화하여 사용자가 안전하게 개인 정보를 탐색하도록합니다.
그러나 두 가지 방법 모두 장단점이 있습니다.
DNS에 추가 보안 계층이 필요한 이유
DNS는 인터넷 전화번호부입니다.
DNS 확인자는 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환합니다.
기본적으로 DNS 쿼리 및 응답은 UDP를 통해 일반 텍스트로 전송되므로 네트워크, ISP 또는 전송을 모니터링 할 수 있는 사람이 읽을 수 있습니다.
웹 사이트에서 HTTPS를 사용하더라도 해당 웹 사이트를 탐색하는데 필요한 DNS 쿼리가 노출됩니다.
이러한 프라이버시 부족은 보안과 경우에 따라 인권에 큰 영향을 미칩니다. DNS 쿼리가 비공개가 아닌 경우 정부가 인터넷을 검열하고 악의적인 행위자가 사용자의 온라인 행동을 추적하기가 더 쉬워집니다.
암호화되지 않은 일반적인 DNS 쿼리는 메일을 통해 전송된 엽서와 같은것으로 생각하십시오.
DNS over TLS 및 DNS over HTTPS는 악의적인 해커, 광고주, ISP 및 기타 사람들이 데이터를 해석할 수 없도록 일반 텍스트 DNS 트래픽을 암호화하기 위해 개발된 두 가지 표준입니다.
쉽게 설명하자면, 이 표준은 우편물을 통과하는 모든 엽서을 봉투에 넣는 것을 목표로하여 누군가가 자신이 무엇을 하고 있는지 스누핑하지 않아도 엽서를 밀봉해서 보낼 수 있습니다.
DNS over TLS (DoT)
TLS (DNS over TLS, DoT)는 DNS 쿼리를 안전하게 비공개로 유지하기 위해 암호화하는 표준입니다.
DoT는 HTTPS 웹 사이트가 통신을 암호화하고 인증하는 데 사용하는 것과 동일한 보안 프로토콜인 TLS를 사용합니다.
TLS는 "SSL"이라고도합니다.
DoT는 DNS 쿼리에 사용되는 UDP (User Datagram Protocol) 위에 TLS 암호화를 추가합니다.
또한 DNS 요청 및 응답이 MITM (Man-in-the-Middle) 공격을 통해 변조되거나 위조되지 않도록 합니다.
DNS over HTTPS (DoH)
HTTPS를 통한 DNS (DoH)는 DoT의 대안입니다.
DoH를 사용하면 DNS 쿼리 및 응답이 암호화되지만 UDP 대신 직접 HTTP 또는 HTTP/2 프로토콜을 통해 전송됩니다.
DoH와 마찬가지로 DoH는 공격자가 DNS 트래픽을 위조하거나 변경할 수 없도록합니다.
DoH 트래픽은 다른 HTTPS 트래픽처럼 보입니다
(예 : 네트워크 관리자의 관점에서 웹 사이트 및 웹 앱과의 사용자 중심의 상호 작용)
HTTPS는 암호화에도 TLS를 사용하고 합니다.
DNS over TLS와 DNS over HTTPS 의 다른 점
각 표준은 별도로 개발되었으며 자체 RFC 설명서가 있지만 DoT와 DoH의 가장 중요한 차이점은 사용하는 포트입니다.
DoT는 포트 853 만 사용하고 DoH는 다른 모든 HTTPS 트래픽도 사용하는 포트 443을 사용합니다.
DoT에는 전용 포트가 있기 때문에 요청 및 응답 자체가 암호화되어 있어도 네트워크 가시성이 있는 모든 사람이 DoT 트래픽의 송수신을 볼 수 있습니다. 반대로 DoH와 함께 DNS 쿼리 및 응답은 다른 HTTPS 트래픽 내에서 다소 위장되어 있습니다.
모두 동일한 포트에서 왔다갔다 하기 때문입니다.
그렇다면 포트 853 과 포트 443 에서 포트(port) 란 무엇인지 알아보면 다음과 같습니다.
네트워킹에서 포트는 다른 시스템의 연결에 개방된 시스템의 가상 위치입니다. 모든 네트워크 컴퓨터에는 표준 포트 수가 있으며 각 포트는 특정 유형의 통신을 위해 예약되어 있습니다.
이해하기 쉽게 설명하자면 다음과 같습니다.
배가 드나들 수 있는 항구를 생각하십시오 : 각 선적 항구는 번호가 매겨지고, 다른 종류의 선박은 화물이나 승객을 내리기 위해 특정 선적 항구로 가야합니다. 네트워킹도 같은 방식입니다. 특정 유형의 통신은 특정 네트워크 포트로 접속해야 합니다. 차이점은 네트워크 포트가 가상이라는 것입니다. 물리적 연결보다는 디지털 연결을 위한 장소입니다.
DoT 또는 DoH 중 어느 것이 좋은가
이것은 논쟁의 여지가 있습니다.
네트워크 보안 관점에서 보면 DoT가 더 낫습니다.
네트워크 관리자는 DNS 쿼리를 모니터링하고 차단할 수 있으며, 이는 악성 트래픽을 식별하고 중지하는 데 중요합니다.
한편 DoH 쿼리는 일반 HTTPS 트래픽에 숨겨져 있기 때문에 다른 모든 HTTPS 트래픽을 차단하지 않으면 쉽게 차단할 수 없습니다.
그러나 개인 정보 보호 측면에서 DoH가 바람직합니다.
DoH를 사용하면 더 큰 HTTPS 트래픽 흐름 내에 DNS 쿼리가 숨겨집니다.
이렇게하면 네트워크 관리자에게 가시성이 떨어지지만 사용자에게 더 안전한 개인 정보 보안 환경을 제공 할 수 있습니다.
대표적인 보안 DNS 서비스 제공업체인 Cloudflare의 무료 DNS 확인자인 1.1.1.1은 DoT와 DoH를 모두 지원합니다.
DNS over TLS / HTTPS와 DNSSEC의 차이점
DNSSEC는 DNS 확인자와 통신할 때 DNS 루트 서버 및 권한있는 네임 서버의 ID를 확인하기 위한 보안 확장 세트입니다.
다른 공격 중에서도 DNS 캐시 중독을 방지하도록 설계되었습니다.
통신을 암호화하지 않습니다.
반면에 TLS 또는 HTTPS를 통한 DNS는 DNS 쿼리를 암호화합니다.
1.1.1.1은 DNSSEC도 지원합니다.
DNS 보안 (DNS Security, DNSSEC) 이 중요한 이유
거의 모든 웹 트래픽에 필요한 표준 DNS 쿼리는 DNS 하이재킹 및 MITM (Man-in-the-Middle) 공격과 같은 DNS 악용 기회를 만듭니다.
이러한 공격은 웹 사이트의 인바운드 트래픽을 가짜 사이트 복사본으로 리디렉션하여 중요한 사용자 정보를 수집하고 비즈니스를 주요 책임에 노출시킬 수 있습니다.
DNS 위협으로부터 보호하는 가장 잘 알려진 방법 중 하나는 DNSSEC 프로토콜을 채택하는 것입니다.
DNSSEC 란
많은 인터넷 프로토콜과 마찬가지로 DNS 시스템은 보안을 염두에 두고 설계되지 않았으며 몇 가지 설계 제한 사항이 있습니다.
이러한 제한 사항과 기술의 발전으로 인해 공격자는 악성 코드를 배포하거나 개인 정보를 수집 할 수 있는 사기성 웹 사이트로 사용자를 보내는 등 악의적 인 목적으로 DNS 조회를 쉽게 가로 챌 수 있습니다.
DNSSSEC (DNS 보안 확장)는이 문제를 완화하기 위해 만들어진 보안 프로토콜입니다.
DNSSEC는 데이터의 디지털 서명을 통해 공격을 방지하여 유효성을 보장합니다.
안전한 조회를 위해서는 DNS 조회 프로세스의 모든 수준에서 서명이 이루어져야 합니다.
이 서명 절차는 펜으로 법적 문서에 서명하는 사람과 유사합니다.
그 사람은 다른 사람이 만들 수 없는 고유한 서명으로 서명하고 법원 전문가는 그 서명을 보고 해당 사람이 서명한 문서를 확인할 수 있습니다.
이러한 디지털 서명은 데이터가 변경되지 않았음을 보장합니다.
DNSSEC는 모든 DNS 계층에 걸쳐 계층적 디지털 서명 정책을 구현합니다.
예를 들어 'google.com' 조회의 경우 루트 DNS 서버는 .COM 네임 서버의 키에 서명하고 .COM 네임 서버는 google.com의 정식 네임 서버에 대한 키에 서명합니다.
향상된 보안이 항상 선호되지만 DNSSEC는 기존의 DNS 조회가 보안을 추가하지 않아도 여전히 올바르게 해결되도록 이전 버전과 호환되도록 설계되었습니다.
DNSSEC는 전체 인터넷 보안 전략의 일환으로 SSL/TLS와 같은 다른 보안 조치와 함께 작동합니다.
DNSSEC는 루트 영역까지 이동하는 부모-자식 트러스트 기차를 만듭니다.
이 신뢰 체인은 모든 DNS 계층에서 손상될 수 없습니다.
그렇지 않으면 요청이 중간자 공격에 노출됩니다.
신뢰 사슬을 닫으려면 루트 영역 자체의 유효성을 검사해야합니다,
(변조 또는 사기가 없는것으로 입증 됨).
이는 실제로 사람의 개입을 통해 이루어집니다.
흥미롭게도, 루트 존 서명식 (Root Zone Signing Ceremony)에서 전 세계의 일부 개인이 모여 루트 DNSKEY RRset을 공개 및 감사 방식으로 서명합니다.
DNS와 관련된 일반적인 공격의 종류
DNSSEC는 강력한 보안 프로토콜이지만 불행히도 현재 보편적으로 채택되지는 않았습니다.
DNS가 대부분의 인터넷 요청에서 없어서는 안될 부분이라는 점에서 다른 잠재적 취약점과 결합된 이러한 채택 부족은 DNS를 악의적인 공격의 주요 대상으로 만듭니다.
공격자 또는 해커는 DNS 서버를 대상으로하고 악용 할 수 있는 여러 가지 방법을 찾았습니다. 가장 일반적인 방법은 다음과 같습니다.
DNS spoofing/cache poisoning: 위조된 DNS 데이터가 DNS 확인자의 캐시에 도입되어 확인자가 도메인의 잘못된 IP 주소를 반환하는 공격입니다. 올바른 웹 사이트로 이동하는 대신 트래픽이 악의적인 컴퓨터 나 공격자가 원하는 다른 곳으로 우회될 수 있습니다. 종종 이것은 맬웨어 배포 또는 로그인 정보 수집과 같은 악의적 인 목적으로 사용되는 원래 사이트의 복제본입니다.
DNS tunnelling: 이 공격은 다른 프로토콜을 사용하여 DNS 쿼리 및 응답을 통해 터널링합니다. 공격자는 SSH, TCP 또는 HTTP를 사용하여 대부분의 방화벽에서 탐지되지 않은 맬웨어나 도난된 정보를 DNS 쿼리에 전달할 수 있습니다.
DNS hijacking: DNS 하이재킹에서 공격자는 쿼리를 다른 도메인 이름 서버로 리디렉션합니다. 이것은 맬웨어 또는 DNS 서버의 무단 수정으로 수행할 수 있습니다. 결과는 DNS 스푸핑의 결과와 비슷하지만 확인자의 캐시가 아니라 네임 서버에서 웹 사이트의 DNS 레코드를 대상으로하기 때문에 근본적으로 다른 공격입니다.
NXDOMAIN attack: 공격자가 합법적인 트래픽에 대해 서비스 거부를 유발하기 위해 존재하지 않는 레코드를 요청하는 요청으로 DNS 서버를 침수시키는 일종의 DNS 플러드 공격입니다. 이는 각 요청에 대해 고유한 하위 도메인을 자동 생성 할 수 있는 정교한 공격 도구를 사용하여 수행 할 수 있습니다. NXDOMAIN 공격은 리졸버 캐시에 정크 요청을 채우는 것을 목표로 재귀 리졸버를 대상으로 할 수도 있습니다.
Phantom domain attack: 팬텀 도메인 공격은 DNS 확인자에 대한 NXDOMAIN 공격과 비슷한 결과를 가져옵니다. 공격자는 요청에 매우 느리게 응답하거나 전혀 응답하지 않는 다수의 '팬텀' 도메인 서버를 설정합니다. 그런 다음이 도메인에 대한 요청이 너무 많아 리졸버가 응답을 기다리고 응답을 기다리게되어 성능이 저하되고 서비스 거부가 발생합니다.
Random subdomain attack: 이 경우 공격자는 합법적인 사이트 하나의 존재하지 않는 임의의 하위 도메인 몇 개에 대한 DNS 쿼리를 보냅니다. 도메인의 정식 네임 서버에 대한 서비스 거부를 생성하여 네임 서버에서 웹 사이트를 조회할 수 없도록하는 것이 목표입니다. 부작용으로, 재귀적 리졸버의 캐시에 잘못된 요청이 로드되어 공격자에게 서비스를 제공하는 ISP도 영향을 받을 수 있습니다.
Domain lock-up attack: 나쁜 행위자는 특수 도메인 및 리졸버를 설정하여 다른 합법적인 리졸버와 TCP 연결을 생성함으로써 이러한 형태의 공격을 조율합니다. 대상 리졸버가 요청을 보내면 이 도메인은 느린 임의 스트림의 스트림을 다시 보내서 리졸버의 리소스를 묶습니다.
Botnet-based CPE attack: 이러한 공격은 CPE 장치 (고객 전제 장비, 모뎀, 라우터, 케이블 박스 등 고객이 사용하도록 서비스 제공 업체가 제공한 하드웨어)를 사용하여 수행됩니다. 공격자는 CPE를 손상시키고 장치는 하나의 사이트 또는 도메인에 대해 임의의 하위 도메인 공격을 수행하는 데 사용되는 봇넷입니다.
DNS 기반 공격으로부터 보호하는 가장 좋은 방법
DNSSEC 외에도 DNS 영역 운영자는 서버를 보호하기 위해 추가 조치를 취할 수 있습니다.
오버 프로비저닝 인프라는 DDoS 공격을 극복하기위한 간단한 전략 중 하나입니다.
간단히 말해, 네임 서버가 예상보다 여러 배 이상의 트래픽을 처리 할 수 있다면 볼륨 기반 공격이 서버를 압도하기가 더 어렵습니다.
애니캐스트 라우팅은 DDoS 공격을 방해 할 수 있는 또 다른 편리한 도구입니다.
Anycast를 사용하면 여러 서버가 단일 IP 주소를 공유할 수 있으므로 하나의 DNS 서버가 종료 되더라도 다른 서버가 계속 작동하고 있습니다.
DNS 서버 보안을 위한 또 다른 일반적인 전략은 DNS 방화벽입니다.
DNS 방화벽
DNS 방화벽은 DNS 서버에 다양한 보안 및 성능 서비스를 제공 할 수 있는 도구입니다.
DNS 방화벽은 사용자의 재귀 해결자와 도달하려는 웹 사이트 또는 서비스의 권한있는 네임 서버 사이에 있습니다.
방화벽은 속도 제한 서비스를 제공하여 서버를 압도하려는 공격자를 차단할 수 있습니다. 공격 또는 다른 이유로 서버가 다운 타임을 경험하는 경우 DNS 방화벽은 캐시에서 DNS 응답을 제공하여 운영자 사이트나 서비스를 유지할 수 있습니다.
보안 기능 외에도 DNS 방화벽은 빠른 DNS 조회 및 DNS 운영자의 대역폭 비용 절감과 같은 성능 솔루션을 제공 할 수 있습니다.
보안 도구로서의 DNS
최종 사용자 (인터넷을 탐색하는 사람들)에게 보안 솔루션을 제공하도록 DNS 확인자를 구성 할 수도 있습니다.
일부 DNS 확인 프로그램은 맬웨어 및 스팸을 배포하는 것으로 알려진 사이트를 차단할 수 있는 콘텐츠 필터링 및 알려진 봇넷과의 통신을 차단하는 봇넷 보호와 같은 기능을 제공합니다.
이러한 보안 DNS 확인자 중 다수는 무료로 사용할 수 있으며 사용자는 로컬 라우터에서 단일 설정을 변경하여 이러한 재귀 DNS 서비스 중 하나로 전환 할 수 있습니다.
Cloudflare DNS는 보안에 중점을 둡니다.
Cloudflare에는 iOS, 안드로이드용으로 DNS 앱이 있습니다.
무료 DNS 기능도 있고, 보안 VPN 기능까지 추가된 유료 기능도 있구요.
유료가 한국에선 5600원일겁니다. 단, 추천으로 설치하여 WARP+ 기능을 활성화 하면 추천받은 사람에게도 무료 1G 용량을 주는 방식으로 홍보하고 있습니다.
아래 링크에서 iOS용과 안드로이드용을 구분하여 설치하여 무료 1G를 혜택을 받고 가끔있는 iOS 업데이트와 iOS 보안 패치을 할 때 해외 인터넷이 느린 경우 사용하면 아주 요긴합니다.
iOS 용 링크는 2개 입니다. 2개중에 아무거나 아이폰/아이패드 사파리에서 클릭하면 앱스토어로 넘어갈 겁니다. 1.1.1.1 앱을 설치하고 WARP+를 할성화하면 즉시 1G 무료 사용량을 받을 수 있어요.
iOS 용 링크 ------------------
2개 중에 아무거나 클릭하면 됩니다.
안드로이드용 링크 -----------------
DNSoverTLS,DNSoverHTTPS,SecureDNS,DoH,DoT,Cloudflare,
'IT·TECH' 카테고리의 다른 글
WIFI6 지원하는 11ac 유무선 공유기, ipTIME AX2004BCM (0) | 2020.06.28 |
---|---|
[iOS Universal] Nimian Legends: BrightRidge HD [$3.99 -> Free] (0) | 2020.06.28 |
MS에서 만든 파일 복구 유틸리티 (Windows File Recovery) 무료 (0) | 2020.06.28 |
Apple, 암호화된 DNS (DoH 및 DoT) 지원 추가 (0) | 2020.06.28 |
iOS 14 에서 iOS 13 으로 다운그레이드하는 방법 (0) | 2020.06.28 |