การรองรับ DNS over HTTPS (DoH) ปรากฏขึ้นบน Windows 10 Build 2004 (May 2020 Update) ตอนนี้ Windows 10 สามารถ Resolve ชื่อผ่านโปรโตคอล HTTPS โดยใช้ DoH Client ที่สร้างขึ้นมาแล้ว ในบทความนี้เราจะอธิบายว่าโปรโตคอล DNS over HTTPS ใช้เพื่ออะไร วิธีเปิดใช้งานและใช้งานบน Windows 10 Build ล่าสุด
DNS over HTTPS คืออะไร?
เมื่อคอมพิวเตอร์ของคุณเชื่อมต่อกับ DNS Server เพื่อ Resolve ชื่อ มันจะส่งและรับคำขอ/ตอบสนอง DNS ผ่านอินเทอร์เน็ตในรูปแบบ Clear Text ผู้โจมตีสามารถจับยึด Traffic ของคุณ ตรวจจับว่าคุณเข้าชมทรัพยากรใดบ้าง หรือจัดการ DNS Traffic โดยใช้การโจมตีแบบ Man-in-the-Middle โปรโตคอล DNS over HTTPS ปกป้องความเป็นส่วนตัวของข้อมูลผู้ใช้โดยการเข้ารหัสคำขอ DNS ทั้งหมด โปรโตคอล DoH บรรจุคำขอ DNS ลงใน HTTPS Traffic และส่งไปยัง DNS Server (คุณต้องใช้ DNS Server מיוחדที่รองรับ DoH)
วิธีเปิดใช้งาน DoH บน Windows 10 2004 ผ่าน Registry
Windows 10 2004 ยังไม่มีพารามิเตอร์ GPO หรือตัวเลือกใน Graphic Interface สำหรับเปิดใช้งาน DNS-over-HTTPS ปัจจุบันคุณสามารถเปิดใช้งาน DoH บน Windows 10 Build ล่าสุดได้ผ่าน Registry เท่านั้น:
- รัน
regedit.exe - ไปที่ Registry Key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters - สร้างพารามิเตอร์ DWORD ใหม่ชื่อ EnableAutoDoh ค่า 2

คุณยังสามารถสร้างพารามิเตอร์ Registry นี้โดยใช้ Cmdlet New-ItemProperty:
$EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force
- รีสตาร์ท DNS Client Service โดยการ Reboot คอมพิวเตอร์ เนื่องจากคุณจะไม่สามารถ Restart dnscase service ได้ปกติ (คำสั่ง
Restart-Service -Name Dnscache –forceจะส่งคืน Error: Collection was modified; enumeration operation may not execute)
เปลี่ยน DNS Server เป็น Server ที่รองรับ DoH
จากนั้นคุณจะต้องเปลี่ยนการตั้งค่า DNS ของการเชื่อมต่อเครือข่าย คุณต้องระบุ DNS Server ที่รองรับ DNS over HTTPS ไม่ใช่ DNS Server ทุกตัวที่รองรับ DoH ตารางด้านล่างแสดงรายการ Public DNS Server ที่รองรับ DNS over HTTPS
| Provider | IP Addresses of DNS Servers With DNS over HTTP Support |
| Cloudflare | 1.1.1.1, 1.0.0.1 |
| 8.8.8.8, 8.8.4.4 | |
| Quad9 | 9.9.9.9, 149.112.112.112 |
เปิดหน้าต่างการเชื่อมต่อเครือข่าย (Control Panel -> Network and Internet -> Network and Sharing Center หรือ ncpa.cpl) จากนั้นเปลี่ยน IP Address ของ DNS Server ปัจจุบันเป็น Address ของ DNS Server ที่รองรับ DoH ใน Properties ของ Network Adapter

คุณสามารถเปลี่ยน DNS Server Address ในการตั้งค่า Network Adapter โดยใช้ PowerShell (ดูรายละเอียดในบทความการกำหนดค่าเครือข่ายด้วย PowerShell):
$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'
การตรวจสอบว่า DoH ทำงานหรือไม่
จากนั้น DNS Client ของคุณจะใช้โปรโตคอล HTTPS (Port 443) แทน UDP/TCP Port 53 มาตรฐานสำหรับ DNS Name Resolution
ใช้ PktMon.exe เครื่องมือจับ Traffic เครือข่าย (เราเคยอธิบายไว้ก่อนหน้านี้) คุณสามารถตรวจสอบได้ว่าไม่มี DNS Request ถูกส่งจากคอมพิวเตอร์ผ่าน Port 53
- ลบ Packet Monitor Filters ทั้งหมด:
pktmon filter remove - สร้าง Filter ใหม่สำหรับ Default DNS Port (53):
pktmon filter add -p 53 - เริ่มการตรวจสอบ Traffic แบบ Real-time (Traffic จะแสดงใน Console):
pktmon start --etw -p 0 -l real-time
หากคุณกำหนดค่า DNS over HTTPS ถูกต้อง จะไม่มี Traffic บน Port 53 (Screenshot ด้านล่างแสดง Console Output เมื่อ DoH เปิดใช้งานและปิดใช้งาน)

คุณยังสามารถตรวจสอบได้ว่า DNS over HTTPS ทำงานบนคอมพิวเตอร์ของคุณหรือไม่โดยใช้บริการออนไลน์ (DNSSEC Check): https://www.cloudflare.com/ssl/encrypted-sni/

DoH ใน Web Browser
ในปีที่ผ่านมา DNS over HTTPS ได้ถูกนำไปใช้ใน Browser ยอดนิยมทั้งหมด (Google Chrome, Mozilla Firefox, Microsoft Edge, Opera) คุณสามารถเปิดใช้งาน DoH ในแต่ละ Browser ได้ ดังนั้น DNS Query ทั้งหมดจาก Browser ของคุณจะถูกเข้ารหัส (DNS Traffic ของแอปอื่นๆ จะยังคงส่งเป็น Plain Text)
DNS over HTTPS และ DNS over TLS จะสร้างปัญหาให้ผู้ดูแลเครือข่ายองค์กรมากขึ้น เนื่องจากจะยากขึ้นในการจำกัดการเข้าถึงทรัพยากรภายนอกจากเครือข่ายภายใน