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 ์ฟผ๋ฆฌ๊ฐ ์ํธํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค (ํฐ๋์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ๋ํด).