BIND DNS ์๋ฒ ๊ฐ๋ฐ์๋ ๋ณด์์ ์ํ XFR-over-TLS ๋ฉ์ปค๋์ฆ๋ฟ๋ง ์๋๋ผ HTTPS๋ฅผ ํตํ DNS(DoH, DNS over HTTPS) ๋ฐ TLS๋ฅผ ํตํ DNS(DoT, DNS over TLS) ๊ธฐ์ ์ ๋ํ ์๋ฒ ์ง์ ์ถ๊ฐ๋ฅผ ๋ฐํํ์ต๋๋ค. ์๋ฒ ๊ฐ์ DNS ์์ญ์ ๋ด์ฉ์ ์ ์กํฉ๋๋ค. DoH๋ ๋ฆด๋ฆฌ์ค 9.17์์ ํ ์คํธํ ์ ์์ผ๋ฉฐ DoT ์ง์์ ๋ฆด๋ฆฌ์ค 9.17.10๋ถํฐ ์ ๊ณต๋์์ต๋๋ค. ์์ ํ ํ DoT ๋ฐ DoH ์ง์์ ์์ ์ ์ธ 9.17.7 ๋ถ๊ธฐ๋ก ๋ฐฑํฌํธ๋ฉ๋๋ค.
DoH์์ ์ฌ์ฉ๋๋ HTTP/2 ํ๋กํ ์ฝ์ ๊ตฌํ์ ์ด์ ๋ธ๋ฆฌ ์ข ์์ฑ์ ํฌํจ๋ nghttp2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค(ํฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ํ์ ์ข ์์ฑ ์๋ก ์ด์ ๋ ์์ ์ ๋๋ค). ์ํธํ๋(TLS) ๋ฐ ์ํธํ๋์ง ์์ HTTP/2 ์ฐ๊ฒฐ์ด ๋ชจ๋ ์ง์๋ฉ๋๋ค. ์ ์ ํ ์ค์ ์ ์ฌ์ฉํ๋ฉด ๋ช ๋ช ๋ ๋จ์ผ ํ๋ก์ธ์ค๊ฐ ์ด์ ๊ธฐ์กด DNS ์ฟผ๋ฆฌ๋ฟ๋ง ์๋๋ผ DoH(DNS-over-HTTPS) ๋ฐ DoT(DNS-over-TLS)๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก๋ ์ฟผ๋ฆฌ๋ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ์ธก(dig)์ HTTPS ์ง์์ ์์ง ๊ตฌํ๋์ง ์์์ต๋๋ค. XFR-over-TLS ์ง์์ ์ธ๋ฐ์ด๋ ๋ฐ ์์๋ฐ์ด๋ ์์ฒญ ๋ชจ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
DoH ๋ฐ DoT๋ฅผ ์ฌ์ฉํ ์์ฒญ ์ฒ๋ฆฌ๋ Listen-on ์ง์๋ฌธ์ http ๋ฐ tls ์ต์ ์ ์ถ๊ฐํ์ฌ ํ์ฑํ๋ฉ๋๋ค. ์ํธํ๋์ง ์์ DNS-over-HTTP๋ฅผ ์ง์ํ๋ ค๋ฉด ์ค์ ์์ "tls none"์ ์ง์ ํด์ผ ํฉ๋๋ค. ํค๋ "tls" ์น์ ์ ์ ์๋์ด ์์ต๋๋ค. DoT์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋คํธ์ํฌ ํฌํธ 853, DoH์ ๊ฒฝ์ฐ 443, DNS-over-HTTP์ ๊ฒฝ์ฐ 80์ tls-port, https-port ๋ฐ http-port ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ์ฌ์ ์๋ ์ ์์ต๋๋ค. ์: tls local-tls { key-file "/path/to/priv_key.pem"; ์ธ์ฆ์ ํ์ผ "/path/to/cert_chain.pem"; }; http ๋ก์ปฌ-http-์๋ฒ { ์๋ํฌ์ธํธ { "/dns-query"; }; }; ์ต์ { https-ํฌํธ 443; ์์ ๋๊ธฐ ํฌํธ 443 tls local-tls http myserver {any;}; }
BIND์ DoH ๊ตฌํ ๊ธฐ๋ฅ ์ค ํตํฉ์ ํ์ธ์์ ๋ํ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ๋, ๊ถํ ์๋ DNS ์๋ฒ๋ก ์์ญ์ ์ ์กํ ๋ ์ฌ์ฉํ ์ ์๋ ์ผ๋ฐ ์ ์ก์ผ๋ก ์ธ๊ธ๋ฉ๋๋ค. ๋ค๋ฅธ DNS ์ ์ก์์ ์ง์ํ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ๋.
๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ TLS์ ๋ํ ์ํธํ ์์ ์ ๋ค๋ฅธ ์๋ฒ๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ TLS ์ธ์ฆ์๊ฐ ๋ค๋ฅธ ์์คํ (์: ์น ์๋ฒ๊ฐ ์๋ ์ธํ๋ผ)์ ์ ์ฅ๋๊ณ ๋ค๋ฅธ ์ง์์ด ์ ์ง ๊ด๋ฆฌํ๋ ์กฐ๊ฑด์์ ํ์ํ ์ ์์ต๋๋ค. ์ํธํ๋์ง ์์ DNS-over-HTTP์ ๋ํ ์ง์์ ๋๋ฒ๊น ์ ๋จ์ํํ๊ณ ์ํธํ๋ฅผ ๋ค๋ฅธ ์๋ฒ์์ ๊ตฌ์ฑํ ์ ์๋ ๊ธฐ๋ฐ์ผ๋ก ๋ด๋ถ ๋คํธ์ํฌ์ ์ ๋ฌ์ ์ํ ๊ณ์ธต์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ์๊ฒฉ ์๋ฒ์์ nginx๋ ์น์ฌ์ดํธ์ ๋ํ HTTPS ๋ฐ์ธ๋ฉ์ด ๊ตฌ์ฑ๋๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ TLS ํธ๋ํฝ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
DNS-over-HTTPS๋ ๊ณต๊ธ์์ DNS ์๋ฒ๋ฅผ ํตํด ์์ฒญ๋ ํธ์คํธ ์ด๋ฆ์ ๋ํ ์ ๋ณด ์ ์ถ์ ๋ฐฉ์งํ๊ณ , MITM ๊ณต๊ฒฉ ๋ฐ DNS ํธ๋ํฝ ์คํธํ(์: ๊ณต์ฉ Wi-Fi์ ์ฐ๊ฒฐํ ๋)์ ๋์ํ๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค. DNS ์์ค์์ ์ฐจ๋จ(DNS-over-HTTPS๋ DPI ์์ค์์ ๊ตฌํ๋ ์ฐจ๋จ์ ์ฐํํ๋ VPN์ ๋์ฒดํ ์ ์์) ๋๋ DNS ์๋ฒ์ ์ง์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ(์: ํ๋ก์๋ฅผ ํตํด ์์ ํ๋ ๊ฒฝ์ฐ) ์์ ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ ์์ ์ธ ์ํฉ์์ DNS ์์ฒญ์ด ์์คํ ๊ตฌ์ฑ์ ์ ์๋ DNS ์๋ฒ๋ก ์ง์ ์ ์ก๋๋ ๊ฒฝ์ฐ DNS-over-HTTPS์ ๊ฒฝ์ฐ ํธ์คํธ IP ์ฃผ์๋ฅผ ํ์ธํ๊ธฐ ์ํ ์์ฒญ์ด HTTPS ํธ๋ํฝ์ ์บก์ํ๋์ด HTTP ์๋ฒ๋ก ์ ์ก๋ฉ๋๋ค. ํ์ธ์๋ Web API๋ฅผ ํตํด ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค.
"TLS๋ฅผ ํตํ DNS"๋ ํ์ค DNS ํ๋กํ ์ฝ(์ผ๋ฐ์ ์ผ๋ก ๋คํธ์ํฌ ํฌํธ 853์ด ์ฌ์ฉ๋จ)์ ์ฌ์ฉํ๋ค๋ ์ ์์ "DNS over HTTPS"์ ๋ค๋ฅด๋ฉฐ, ์ธ์ฆ๋ TLS/SSL ์ธ์ฆ์๋ฅผ ํตํ ํธ์คํธ ์ ํจ์ฑ ๊ฒ์ฌ์ ํจ๊ป TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ ์ํธํ๋ ํต์ ์ฑ๋๋ก ๋ํ๋ฉ๋๋ค. ์ธ์ฆ ๊ธฐ๊ด์ ์ํด. ๊ธฐ์กด DNSSEC ํ์ค์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ ์ธ์ฆํ๋ ๋ฐ์๋ง ์ํธํ๋ฅผ ์ฌ์ฉํ์ง๋ง ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๋ ๊ฒ์ ๋ฐฉ์งํ์ง ์์ผ๋ฉฐ ์์ฒญ์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค.
์ถ์ฒ : opennet.ru