DNS ผ่าน HTTPS (DoH ) การสนับสนุนปรากฏบน Windows 10 2004 build (อัปเดตพฤษภาคม 2020) ตอนนี้ Windows 10 สามารถแก้ไขชื่อผ่านโปรโตคอล HTTPS โดยใช้ไคลเอนต์ DoH ในตัว ในบทความนี้ เราจะบอกว่า DNS ผ่านโปรโตคอล HTTPS ใช้สำหรับอะไร วิธีเปิดใช้งานและใช้งานบน Windows 10 รุ่นล่าสุด
เมื่อคอมพิวเตอร์ของคุณเชื่อมต่อกับเซิร์ฟเวอร์ DNS เพื่อแก้ไขชื่อ เครื่องจะส่ง และรับคำขอ/การตอบสนอง DNS ทางอินเทอร์เน็ตในรูปแบบข้อความที่ชัดเจน ผู้โจมตีสามารถสกัดกั้นการรับส่งข้อมูลของคุณ ตรวจสอบทรัพยากรที่คุณเยี่ยมชม หรือจัดการการรับส่งข้อมูล DNS ของคุณโดยใช้การโจมตีแบบคนกลาง DNS บน HTTPS ปกป้องความเป็นส่วนตัวของข้อมูลผู้ใช้โดยเข้ารหัสการสืบค้น DNS ทั้งหมด โปรโตคอล DoH สรุปการสืบค้น DNS ลงในทราฟฟิก HTTPS และส่งไปยังเซิร์ฟเวอร์ DNS (คุณต้องใช้เซิร์ฟเวอร์ DNS พิเศษที่รองรับ DoH)
Windows 10 2004 ยังไม่มีพารามิเตอร์ GPO หรือตัวเลือกในอินเทอร์เฟซแบบกราฟิกเพื่อเปิดใช้งาน DNS-over-HTTPS ขณะนี้ คุณสามารถเปิดใช้งาน DoH ได้เฉพาะใน Windows 10 รุ่นล่าสุดผ่านทางรีจิสทรี:
- เรียกใช้
regedit.exe
; - ไปที่รีจิสตรีคีย์
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
- สร้างพารามิเตอร์ DWORD ใหม่โดยใช้ชื่อ EnableAutoDoh และคุณค่า 2;
คุณยังสามารถสร้างพารามิเตอร์รีจิสทรีนี้โดยใช้ cmdlet New-ItemProperty:$EnableDNSoverHTTPSKey = 'HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters'
$EnableDNSoverHTTPSParameter = 'EnableAutoDoh'
New-ItemProperty -Path $EnableDNSoverHTTPSKey -Name $EnableDNSoverHTTPSParameter -Value 2 -PropertyType DWord –Force - จากนั้นเริ่มบริการไคลเอ็นต์ DNS ใหม่ ในการทำเช่นนั้น ให้รีบูตเครื่องคอมพิวเตอร์ เนื่องจากคุณจะไม่สามารถเริ่มบริการ DNScase ได้ตามปกติ (
Restart-Service -Name Dnscache –force
คำสั่งส่งคืนข้อผิดพลาดต่อไปนี้:Collection was modified; การดำเนินการแจงนับอาจไม่ดำเนินการ )
จากนั้นคุณจะต้องเปลี่ยนการตั้งค่า DNS ของการเชื่อมต่อเครือข่ายของคุณ คุณต้องระบุเซิร์ฟเวอร์ DNS ด้วย DNS ผ่านการสนับสนุน HTTPS เซิร์ฟเวอร์ DNS บางตัวยังไม่รองรับ DoH ตารางด้านล่างแสดงรายการเซิร์ฟเวอร์ DNS สาธารณะที่รองรับ DNS ผ่าน HTTPS
ผู้ให้บริการ | ที่อยู่ IP ของเซิร์ฟเวอร์ DNS ที่มี DNS ผ่านการสนับสนุน HTTP |
คลาวด์แฟลร์ | 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 |
เปิดหน้าต่างการเชื่อมต่อเครือข่าย (แผงควบคุม -> เครือข่ายและอินเทอร์เน็ต -> ศูนย์เครือข่ายและการใช้ร่วมกัน หรือ ncpa.cpl
). จากนั้นเปลี่ยนที่อยู่ IP ของเซิร์ฟเวอร์ DNS ปัจจุบันเป็นที่อยู่ของเซิร์ฟเวอร์ DNS ที่รองรับ DoH ในคุณสมบัติของอะแดปเตอร์เครือข่าย
คุณสามารถเปลี่ยนที่อยู่เซิร์ฟเวอร์ DNS ในการตั้งค่าอะแดปเตอร์เครือข่ายโดยใช้ PowerShell (ดูบทความเกี่ยวกับการกำหนดค่าเครือข่ายโดยใช้ PowerShell):
$PhysAdapter = Get-NetAdapter -Physical
$PhysAdapter | Get-DnsClientServerAddress -AddressFamily IPv4 | Set-DnsClientServerAddress -ServerAddresses '8.8.8.8', '1.1.1.1'
จากนั้นไคลเอ็นต์ DNS ของคุณจะใช้โปรโตคอล HTTPS (443) แทนพอร์ต UDP/TCP มาตรฐาน 53 สำหรับการแก้ปัญหาชื่อ DNS
การใช้ PktMon.exe ซึ่งเป็นเครื่องมือในการดักจับการรับส่งข้อมูลในเครือข่าย (เราเคยบอกไปแล้วก่อนหน้านี้) คุณจะมั่นใจได้ว่าจะไม่มีการส่งคำขอ DNS จากคอมพิวเตอร์ผ่านพอร์ต 53 พอร์ต
ลบตัวกรอง Packet Monitor ปัจจุบันทั้งหมด:
pktmon filter remove
สร้างตัวกรองใหม่สำหรับพอร์ต DNS เริ่มต้น (53):
pktmon filter add -p 53
เริ่มการตรวจสอบการจราจรตามเวลาจริง (การจราจรจะแสดงในคอนโซล):
pktmon start --etw -p 0 -l real-time
หากคุณกำหนดค่า DNS ผ่าน HTTPS อย่างถูกต้อง จะไม่มีการรับส่งข้อมูลในพอร์ต 53 (ภาพหน้าจอด้านล่างแสดงเอาต์พุตคอนโซลที่เปิดใช้งานและปิดใช้งาน DoH)
คุณยังสามารถตรวจสอบว่า DNS ผ่าน HTTPS ทำงานบนคอมพิวเตอร์ของคุณหรือไม่โดยใช้บริการออนไลน์ต่อไปนี้ (ตรวจสอบ DNSSEC):https://www.cloudflare.com/ssl/encrypted-sni/
ในปีที่แล้ว มีการปรับใช้ DNS บน HTTPS ในเบราว์เซอร์ยอดนิยมทั้งหมด (Google Chrome, Mozilla Firefox, Microsoft Edge, Opera) คุณสามารถเปิดใช้งานการสนับสนุน DoH ในแต่ละส่วนได้ ดังนั้น การสืบค้น DNS ทั้งหมดจากเบราว์เซอร์ของคุณจะได้รับการเข้ารหัส (การรับส่งข้อมูล DNS ของแอปอื่นๆ จะยังคงส่งเป็นข้อความธรรมดา)
DNS บน HTTPS และ DNS บน TLS จะสร้างปัญหามากมายสำหรับผู้ดูแลระบบเครือข่ายขององค์กร เนื่องจากการจำกัดการเข้าถึงทรัพยากรภายนอกจากเครือข่ายภายในทำได้ยากขึ้น