DNS Privacy - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ

384.11์—์„œ ๋„์ž…๋œ DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ณด์•ˆ/์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ DNS ์ฟผ๋ฆฌ๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” DNS-over-TLS (๋˜๋Š” DoT๋กœ ์•Œ๋ ค์ง„)๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.## ์„ค์ • ์ด ๊ธฐ๋Šฅ์€ WAN -> ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ํŽ˜์ด์ง€์—์„œ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ DoT ์„œ๋ฒ„ ๋ชฉ๋ก์— ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ฆฌ์…‹ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ํ•ญ๋ชฉ์„ ์„ ํƒํ•œ ๋‹ค์Œ ์•„๋ž˜ ๋ชฉ๋ก์— ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ์กด ํ”„๋ฆฌ์…‹์—์„œ ์ œ๊ณต๋˜์ง€ ์•Š๋Š” ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋ชฉ๋ก์— ์„œ๋ฒ„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” DoT ํ”„๋กœํ† ์ฝœ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์›ํ•ด์•ผ ํ•˜๋ฉฐ, ISP์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜ DNS ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜„์žฌ๋Š” DoH ๋ฐ DNSCrypt ์„œ๋ฒ„๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ํ•ญ๋ชฉ ํ•„๋“œ ์„ค๋ช…:

  • ์ฃผ์†Œ: DNS ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.
  • TLS ํฌํŠธ (์˜ต์…˜): ์‚ฌ์šฉํ•  ํฌํŠธ (๋น„์›Œ๋‘๋ฉด ๊ธฐ๋ณธ๊ฐ’์ธ 853์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค).
  • TLS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„: ๋ณด์•ˆ ์ธ์ฆ์„œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” TLS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • SPKI ์ง€๋ฌธ (์˜ต์…˜): ์ธ์ฆ์„œ์˜ SHA256 ํ•ด์‹œ์ž…๋‹ˆ๋‹ค (์„œ๋ฒ„ ์ œ๊ณต ์—…์ฒด๊ฐ€ ์ด๋ฅผ ์š”๊ตฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ๋น„์›Œ๋‘ก๋‹ˆ๋‹ค).

๋” ๊ฐ•ํ™”๋œ ๋ณด์•ˆ์„ ์œ„ํ•ด DNSSEC๋„ ํ™œ์„ฑํ™”ํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ DNSSEC์„ ์ง€์›ํ•˜๋Š”์ง€ ํ™•์ธํ•œ ํ›„์— ๋ฌด์„œ์šด ์‘๋‹ต๋„ ๊ฒ€์ฆํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด๋ฆ„ ํ•ด๊ฒฐ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์š”: LAN -> DHCP ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ DNS ์„œ๋ฒ„๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด DHCP ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ผ์šฐํ„ฐ์˜ DNS ์„œ๋ฒ„๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ๋ผ์šฐํ„ฐ์˜ IP ์ด์™ธ์˜ ์ •์  DNS๋กœ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ค‘์š”: IPv6์—์„œ DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด IPv6 ํŽ˜์ด์ง€์—์„œ IPv6 DNS ์„œ๋ฒ„๋ฅผ ๋ผ์šฐํ„ฐ์˜ LAN IPv6 ๋งํฌ ๋กœ์ปฌ ์ฃผ์†Œ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ์˜ LAN IPv6 ๋งํฌ ๋กœ์ปฌ ์ฃผ์†Œ๋Š” ์‹œ์Šคํ…œ ๋กœ๊ทธ -> IPv6 ํƒญ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ ๋กœ์ปฌ ์ฃผ์†Œ๋Š” fe80์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

DoT์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Entware๋ฅผ ํ†ตํ•ด tcpdump๋ฅผ ์„ค์น˜ํ•˜๊ณ  WAN ์ธํ„ฐํŽ˜์ด์Šค (์ผ๋ฐ˜์ ์œผ๋กœ eth0)์˜ ํฌํŠธ 53๊ณผ 853์—์„œ ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

tcpdump -i eth0 -p port 853 or 53 -n

์ด์ƒ์ ์œผ๋กœ ํฌํŠธ 53์—์„œ๋Š” ๋” ์ด์ƒ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ, ๋ชจ๋“  ๊ฒƒ์ด ํฌํŠธ 853๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : Cloudflare์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธ๊ธฐ ์žˆ๋Š” DoT/DoH ํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ์—์„œ ํ˜„์žฌ ์ œ๋Œ€๋กœ ์„œ๋ช…๋œ DNSSEC ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ด ํ…Œ์ŠคํŠธ ์ค‘์— ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด DoT์„ ์‚ฌ์šฉ ์ค‘์ด๋ผ๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„ค์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์œผ๋ฉฐ, ์ด ๋ฌธ์ œ๋Š” ํ–ฅํ›„ Cloudflare์—์„œ ํ•ด๊ฒฐ๋  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค. ์ž„์‹œ๋กœ ๋ฌด์„œ์šด ๋ ˆ์ฝ”๋“œ์˜ ๊ฒ€์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ถ”ํ›„์— ์ด ์˜ต์…˜์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.## ์ž‘๋™ ๋ฐฉ์‹ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ผ์šฐํ„ฐ๋กœ ๋ณด๋‚ด๋Š” ๋ชจ๋“  DNS ์š”์ฒญ์ด DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๊ตฌ์„ฑํ•œ ์„œ๋ฒ„๋กœ ๋ฆฌ๋””๋ ‰์…˜๋˜์–ด ์—ฐ๊ฒฐ์ด ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ์ด๋ฆ„ ํ•ด๊ฒฐ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์œผ๋ฉฐ, dnsmasq๋Š” ์—ฌ์ „ํžˆ ์™„์ „ํ•œ DNSSEC ๋ฐ ๋ฆฌ๋ฐ”์ธ๋“œ ๋ณดํ˜ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TLS๋Š” ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋œ ์‹œ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋Š” ๋ผ์šฐํ„ฐ์˜ ์‹œ๊ณ„๊ฐ€ NTP๋ฅผ ํ†ตํ•ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋œ ํ›„์—์•ผ ์•”ํ˜ธํ™”๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

DNSDirector

DNSDirector๋Š” ์—ฌ์ „ํžˆ ์ด์ „์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋ฉฐ ๋ผ์šฐํ„ฐ์˜ WAN ํŽ˜์ด์ง€๋‚˜ ํด๋ผ์ด์–ธํŠธ ์ž์ฒด์—์„œ ์‚ฌ์šฉํ•˜๋Š” DNS ๊ตฌ์„ฑ์„ ๋ฎ์–ด์“ฐ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŠน์ • DNS ์„œ๋ฒ„ (์˜ˆ: OpenDNS)๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฌ์ „ํžˆ OpenDNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์„ค์ •์„ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋˜ํ•œ DNSDirector๋ฅผ "๋ผ์šฐํ„ฐ" ๋ชจ๋“œ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ LAN์—์„œ ์ˆ˜ํ–‰ํ•œ DNS ์ฟผ๋ฆฌ (8.8.8.8๊ณผ ๊ฐ™์ด ํ•˜๋“œ์ฝ”๋”ฉ๋œ DNS ์„œ๋ฒ„์™€ ํ•จ๊ป˜)๋„ DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

OpenVPN ํด๋ผ์ด์–ธํŠธ

์ด์ „๊ณผ ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. "DNS ๊ตฌ์„ฑ ์ˆ˜๋ฝ"์„ "๋…์ "์œผ๋กœ ์„ค์ •ํ•œ OpenVPN ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฌ์ „ํžˆ VPN ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•œ DNS ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค. OpenVPN ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ์—์„œ DNS ๊ตฌ์„ฑ์„ "๋น„ํ™œ์„ฑํ™”"๋กœ ์„ค์ •ํ•˜๋ฉด DNS ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ถ€ VPN ์ œ๊ณต์—…์ฒด๋Š” ํ„ฐ๋„ ์™ธ๋ถ€๋กœ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜์—ฌ ์ •๋ณด ์œ ์ถœ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์ž์ฒด DNS ์„œ๋ฒ„ ์ด์™ธ์˜ DNS ์„œ๋ฒ„ ์‚ฌ์šฉ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋Š” OpenVPN ์„œ๋ฒ„๋ฅผ ์‹ ๋ขฐํ•œ๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋…์  ๋ชจ๋“œ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ VPN ํ„ฐ๋„์„ ํ†ตํ•ด DNS ์ฟผ๋ฆฌ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค (ํ„ฐ๋„์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด).