9.18๋ ๊ฐ์ ๊ฐ๋ฐ ๋์ ISC ์ปจ์์์์ BIND 9.18 DNS ์๋ฒ์ ์๋ก์ด ์ฃผ์ ๋ถ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ์ต๋๋ค. ๋ธ๋์น 2์ ๋ํ ์ง์์ ์ฐ์ฅ๋ ์ง์ ์ฃผ๊ธฐ์ ์ผํ์ผ๋ก 2025๋ 9.11๋ถ๊ธฐ๊น์ง 9.16๋ ๊ฐ ์ ๊ณต๋ฉ๋๋ค. 2023 ๋ธ๋์น์ ๋ํ ์ง์์ 9.19.0์์ ์ข ๋ฃ๋๊ณ , XNUMX ๋ธ๋์น์ ๋ํ ์ง์์ XNUMX๋ ์ค๋ฐ์ ์ข ๋ฃ๋ฉ๋๋ค. BIND์ ๋ค์ ์์ ๋ฒ์ ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ์คํ์ ์ธ BIND XNUMX ๋ธ๋์น๊ฐ ํ์ฑ๋์์ต๋๋ค.
BIND 9.18.0์ ๋ฆด๋ฆฌ์ค๋ DNS over HTTPS(DoH, DNS over HTTPS) ๋ฐ DNS over TLS(DoT, DNS over TLS) ๋ฐ XoT(XFR-over-TLS) ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์ ๊ตฌํ์ผ๋ก ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. DNS ์ฝํ ์ธ ์ ์์ ํ ์ ์ก์ ์ํด ์๋ฒ ๊ฐ ์์ญ(XoT๋ฅผ ํตํ ์ ์ก ๋ฐ ์์ ์์ญ ๋ชจ๋ ์ง์๋จ) ์ ์ ํ ์ค์ ์ ์ฌ์ฉํ๋ฉด ๋ช ๋ช ๋ ๋จ์ผ ํ๋ก์ธ์ค๊ฐ ์ด์ ๊ธฐ์กด DNS ์ฟผ๋ฆฌ๋ฟ๋ง ์๋๋ผ DNS-over-HTTPS ๋ฐ DNS-over-TLS๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก๋ ์ฟผ๋ฆฌ๋ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. DNS-over-TLS์ ๋ํ ํด๋ผ์ด์ธํธ ์ง์์ "+tls" ํ๋๊ทธ๊ฐ ์ง์ ๋ ๊ฒฝ์ฐ TLS๋ฅผ ํตํด ์์ฒญ์ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ dig ์ ํธ๋ฆฌํฐ์ ๋ด์ฅ๋์ด ์์ต๋๋ค.
DoH์์ ์ฌ์ฉ๋๋ HTTP/2 ํ๋กํ ์ฝ์ ๊ตฌํ์ ์ ํ์ ์ด์ ๋ธ๋ฆฌ ์ข ์์ฑ์ผ๋ก ํฌํจ๋ nghttp2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. DoH ๋ฐ DoT์ ๋ํ ์ธ์ฆ์๋ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ๊ฑฐ๋ ์์ ์ ์๋์ผ๋ก ์์ฑ๋ ์ ์์ต๋๋ค.
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 { ํค ํ์ผ "/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 ๊ตฌํ ๊ธฐ๋ฅ ์ค ํ๋๋ TLS์ ๋ํ ์ํธํ ์์ ์ ๋ค๋ฅธ ์๋ฒ๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ TLS ์ธ์ฆ์๊ฐ ๋ค๋ฅธ ์์คํ (์: ์น ์๋ฒ๊ฐ ์๋ ์ธํ๋ผ)์ ์ ์ฅ๋๊ณ ์ ์ง ๊ด๋ฆฌ๋๋ ์กฐ๊ฑด์์ ํ์ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ง์์ ์ํด. ์ํธํ๋์ง ์์ DNS-over-HTTP์ ๋ํ ์ง์์ ๋๋ฒ๊น ์ ๋จ์ํํ๊ณ ๋ด๋ถ ๋คํธ์ํฌ์ ๋ค๋ฅธ ์๋ฒ๋ก ์ ๋ฌํ๊ธฐ ์ํ ๊ณ์ธต์ผ๋ก ๊ตฌํ๋ฉ๋๋ค(์ํธํ๋ฅผ ๋ณ๋์ ์๋ฒ๋ก ์ด๋ํ๊ธฐ ์ํด). ์๊ฒฉ ์๋ฒ์์ nginx๋ ์น์ฌ์ดํธ์ ๋ํด HTTPS ๋ฐ์ธ๋ฉ์ด ๊ตฌ์ฑ๋๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ TLS ํธ๋ํฝ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ํ์ธ์์ ๋ํ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์๋ฒ ๊ฐ ํต์ , ๊ถํ ์๋ DNS ์๋ฒ๊ฐ ์์ญ์ ์ ์กํ ๋, ๋ค๋ฅธ DNS์์ ์ง์ํ๋ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ ์ ์๋ ์ผ๋ฐ ์ ์ก์ผ๋ก DoH๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋๋ค. ์ด์ก.
DoH/DoT๋ก ๋น๋๋ฅผ ๋นํ์ฑํํ๊ฑฐ๋ ์ํธํ๋ฅผ ๋ค๋ฅธ ์๋ฒ๋ก ์ด๋ํ์ฌ ๋ณด์ํ ์ ์๋ ๋จ์ ์ค์์ ์ฝ๋ ๋ฒ ์ด์ค์ ์ผ๋ฐ์ ์ธ ๋ณต์ก์ฑ์ด ๋๋๋ฌ์ง๋๋ค. ๋ด์ฅ HTTP ์๋ฒ์ TLS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ๊ฐ๋์ด ์ ์ฌ์ ์ผ๋ก ๋ค์์ ํฌํจํ ์ ์์ต๋๋ค. ์ทจ์ฝ์ ์ ์ ๊ฑฐํ๊ณ ๊ณต๊ฒฉ์ ์ํ ์ถ๊ฐ ๋ฒกํฐ๋ก ์์ฉํฉ๋๋ค. ๋ํ DoH๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ํฝ์ด ์ฆ๊ฐํฉ๋๋ค.
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 ํ์ค์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ฅผ ์ธ์ฆํ๋ ๋ฐ์๋ง ์ํธํ๋ฅผ ์ฌ์ฉํ์ง๋ง ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๋ ๊ฒ์ ๋ฐฉ์งํ์ง ์์ผ๋ฉฐ ์์ฒญ์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค.
๊ธฐํ ํ์ :
- TCP ๋ฐ UDP๋ฅผ ํตํด ์์ฒญ์ ๋ณด๋ด๊ณ ๋ฐ์ ๋ ์ฌ์ฉ๋๋ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๊ธฐ ์ํด tcp-receive-buffer, tcp-send-buffer, udp-receive-buffer ๋ฐ udp-send-buffer ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค. ์ฌ์ฉ๋์ด ๋ง์ ์๋ฒ์์ ์์ ๋ฒํผ๋ฅผ ๋๋ฆฌ๋ฉด ํธ๋ํฝ์ด ์ต๊ณ ์กฐ์ ๋ฌํ๋ ๋์ ํจํท์ด ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ๋ฒํผ๋ฅผ ์ค์ด๋ฉด ์ค๋๋ ์์ฒญ์ผ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋งํ์ ์ ๊ฑฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- RPZ(์๋ต ์ ์ฑ ์์ญ) ์ ๋ฌ ์์ ์ ๋ณ๋๋ก ๊ธฐ๋กํ ์ ์๋ ์๋ก์ด ๋ก๊ทธ ๋ฒ์ฃผ "rpz-passthru"๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- response-policy ์น์ ์ "nsdname-wait-recurse" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. "no"๋ก ์ค์ ํ๋ฉด ํด๋น ์์ฒญ์ ๋ํด ์บ์์ ์๋ ๊ถํ ์๋ ์ด๋ฆ ์๋ฒ๊ฐ ๋ฐ๊ฒฌ๋ ๊ฒฝ์ฐ์๋ง RPZ NSDNAME ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค. RPZ NSDNAME ๊ท์น์ ๋ฌด์๋์ง๋ง ์ ๋ณด๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ฒ์๋์ด ํ์ ์์ฒญ์ ์ ์ฉ๋ฉ๋๋ค.
- HTTPS ๋ฐ SVCB ์ ํ์ ๋ ์ฝ๋์ ๋ํด "ADDITIONAL" ์น์ ์ฒ๋ฆฌ๊ฐ ๊ตฌํ๋์์ต๋๋ค.
- SRV ๋ฐ PTR ๋ ์ฝ๋์ ์ ๋ฐ์ดํธ๋ฅผ ์ ํํ ์ ์๋ ์ฌ์ฉ์ ์ ์ ์ ๋ฐ์ดํธ ์ ์ฑ ๊ท์น ์ ํ(krb5-subdomain-self-rhs ๋ฐ ms-subdomain-self-rhs)์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ ๋ฐ์ดํธ ์ ์ฑ ๋ธ๋ก์ ๋ํ ๊ฐ ์ ํ์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ๋ ์ฝ๋ ์์ ๋ํ ์ ํ์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค.
- dig ์ ํธ๋ฆฌํฐ์ ์ถ๋ ฅ์ ์ ์ก ํ๋กํ ์ฝ(UDP, TCP, TLS, HTTPS) ๋ฐ DNS64 ์ ๋์ฌ์ ๋ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋๋ฒ๊น ๋ชฉ์ ์ ์ํด dig์๋ ํน์ ์์ฒญ ์๋ณ์๋ฅผ ์ง์ ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(dig +qid= ).
- OpenSSL 3.0 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- 2020๋ DNS ํ๋๊ทธ ๋ฐ์ด๋ก ์๋ณ๋ ๋๊ท๋ชจ DNS ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ๋ IP ์กฐ๊ฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ฒญ์ ๋ํ ์๋ต์ด ์์ ๋ EDNS ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์ฝ๋๊ฐ ํ์ธ์์์ ์ ๊ฑฐ๋์์ต๋๋ค. ์ด์ ๋ชจ๋ ๋๊ฐ๋ ์์ฒญ์ ๋ํด EDNS ๋ฒํผ ํฌ๊ธฐ๊ฐ ์์(edns-udp-size)๋ก ์ค์ ๋ฉ๋๋ค.
- ๋น๋ ์์คํ ์ autoconf, automake ๋ฐ libtool์ ์กฐํฉ์ ์ฌ์ฉํ๋๋ก ์ ํ๋์์ต๋๋ค.
- "๋งต" ํ์(๋ง์คํฐํ์ผ ํ์ ๋งต)์ ์์ญ ํ์ผ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. ์ด ํ์์ ์ฌ์ฉ์๋ ๋ช ๋ช ๋-compilezone ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ญ์ ์์ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ์ด์ DLZ(๋์ ๋ก๋ ๊ฐ๋ฅ ์์ญ) ๋๋ผ์ด๋ฒ์ ๋ํ ์ง์์ด ์ค๋จ๋๊ณ DLZ ๋ชจ๋๋ก ๋์ฒด๋์์ต๋๋ค.
- Windows ํ๋ซํผ์ ๋ํ ๋น๋ ๋ฐ ์คํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. Windows์ ์ค์นํ ์ ์๋ ๋ง์ง๋ง ๋ถ๊ธฐ๋ BIND 9.16์ ๋๋ค.
์ถ์ฒ : opennet.ru