์ต๊ทผ ์ธํฐ๋ท ์ ๊ณต์
์ฒด์ ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ '๋
ผ์์ ๋ผ๋'๊ฐ ๋๊ณ ์๋ DNS over HTTPS์ ๊ธฐ๋ฅ์ ๋ํ ์๊ฒฌ์ ๋ถ์ํฉ๋๋ค.
/์ธ์คํ๋์ฌ/ ์คํฐ๋ธ ํ ๋ผ๋ง
๋ถ์ผ์น์ ๋ณธ์ง
์ต๊ทผ ์ฃผ์ ์ธ๋ก ะธ ์ฃผ์ ๋ณ ํ๋ซํผ (Habr ํฌํจ) ๊ทธ๋ค์ DoH(DNS over HTTPS) ํ๋กํ ์ฝ์ ๋ํด ์์ฃผ ๊ธ์ ์๋๋ค. DNS ์๋ฒ์ ๋ํ ์์ฒญ์ ์ํธํํ๊ณ ์ด์ ์๋ตํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ก์ธ์คํ๋ ํธ์คํธ์ ์ด๋ฆ์ ์จ๊ธธ ์ ์์ต๋๋ค. ๊ฐํ๋ฌผ์์ ์ฐ๋ฆฌ๋ ์๋ก์ด ํ๋กํ ์ฝ(IETF์์)์ด ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์น์ธํ๋ค 2018๋
) IT ์ปค๋ฎค๋ํฐ๋ฅผ ๋ ๊ฐ์ ์ง์์ผ๋ก ๋๋์์ต๋๋ค.
์ ๋ฐ์ ์๋ก์ด ํ๋กํ ์ฝ์ด ์ธํฐ๋ท ๋ณด์์ ํฅ์์ํฌ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ผ๋ฉฐ ์ด๋ฅผ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์๋น์ค์ ๊ตฌํํ๊ณ ์์ต๋๋ค. ๋๋จธ์ง ์ ๋ฐ์ ๊ธฐ์ ์ด ์์คํ
๊ด๋ฆฌ์์ ์
๋ฌด๋ฅผ ๋์ฑ ์ด๋ ต๊ฒ ๋ง๋ค ๋ฟ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. ๋ค์์ผ๋ก ์์ธก์ ์ฃผ์ฅ์ ๋ถ์ํด ๋ณด๊ฒ ์ต๋๋ค.
DoH ์๋ ๋ฐฉ์
ISP ๋ฐ ๊ธฐํ ์์ฅ ์ฐธ๊ฐ์๊ฐ HTTPS๋ฅผ ํตํ DNS๋ฅผ ์ฐฌ์ฑํ๊ฑฐ๋ ๋ฐ๋ํ๋ ์ด์ ๋ฅผ ์์๋ณด๊ธฐ ์ ์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๊ฐ๋ตํ๊ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
DoH์ ๊ฒฝ์ฐ IP ์ฃผ์ ํ์ธ ์์ฒญ์ด HTTPS ํธ๋ํฝ์ ์บก์ํ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ HTTP ์๋ฒ๋ก ์ด๋ํ์ฌ API๋ฅผ ์ฌ์ฉํ์ฌ ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ค์์ RFC 8484์ ์์ฒญ ์์์
๋๋ค(6 ํ์ด์ง):
:method = GET
:scheme = https
:authority = dnsserver.example.net
:path = /dns-query?
dns=AAABAAABAAAAAAAAAWE-NjJjaGFyYWN0ZXJsYWJl
bC1tYWtlcy1iYXNlNjR1cmwtZGlzdGluY3QtZnJvbS1z
dGFuZGFyZC1iYXNlNjQHZXhhbXBsZQNjb20AAAEAAQ
accept = application/dns-message
๋ฐ๋ผ์ DNS ํธ๋ํฝ์ HTTPS ํธ๋ํฝ์ ์จ๊ฒจ์ ธ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํ์ค ํฌํธ 443์ ํตํด ํต์ ํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ฉ์ธ ์ด๋ฆ ์์คํ
์ ๋ํ ์์ฒญ์ ์ต๋ช
์ผ๋ก ์ ์ง๋ฉ๋๋ค.
์ ๊ทธ๋ ์ํ๋ฅผ ๋ฐ์ง ๋ชปํฉ๋๊น?
HTTPS๋ฅผ ํตํ DNS ๋ฐ๋์ ะณะพะฒะพััั์๋ก์ด ํ๋กํ ์ฝ์ ์ฐ๊ฒฐ ๋ณด์์ ์ฝํ์ํฌ ๊ฒ์
๋๋ค. ์ ์ํด ~์ ๋ฐ๋ฅด๋ฉด DNS ๊ฐ๋ฐ ํ์ ์ผ์์ธ Paul Vixie๋ ์์คํ
๊ด๋ฆฌ์๊ฐ ์ ์ฌ์ ์ธ ์
์ฑ ์ฌ์ดํธ๋ฅผ ์ฐจ๋จํ๋ ๊ฒ์ ๋์ฑ ์ด๋ ต๊ฒ ๋ง๋ค ๊ฒ์
๋๋ค. ์ผ๋ฐ ์ฌ์ฉ์๋ ๋ธ๋ผ์ฐ์ ์์ ์กฐ๊ฑด๋ถ ์๋
๋ณดํธ ๊ธฐ๋ฅ์ ์ค์ ํ๋ ๊ธฐ๋ฅ์ ์๊ฒ ๋ฉ๋๋ค.
Paul์ ๊ฒฌํด๋ ์๊ตญ ์ธํฐ๋ท ์ ๊ณต์
์ฒด์ ๊ณต์ ๋ฉ๋๋ค. ๊ตญ๊ฐ ๋ฒ๋ฅ ์๋ฌด ๊ธ์ง๋ ์ฝํ
์ธ ๊ฐ ํฌํจ๋ ๋ฆฌ์์ค๋ก๋ถํฐ ์ฐจ๋จํ์ธ์. ๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ์์ DoH๋ฅผ ์ง์ํ๋ฉด ํธ๋ํฝ ํํฐ๋ง ์์
์ด ๋ณต์กํด์ง๋๋ค. ์๋ก์ด ํ๋กํ ์ฝ์ ๋ํ ๋นํ์๋ ์๊ตญ์ ์ ๋ถ ์ปค๋ฎค๋์ผ์ด์
์ผํฐ(GCHQ) ๋ฐ ์ธํฐ๋ท ๊ฐ์ ์ฌ๋จ(IWF), ์ฐจ๋จ๋ ๋ฆฌ์์ค์ ๋ฑ๋ก์ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค.
Habrรฉ ๋ธ๋ก๊ทธ์์:
์ ๋ฌธ๊ฐ๋ค์ HTTPS๋ฅผ ํตํ DNS๊ฐ ์ฌ์ด๋ฒ ๋ณด์ ์ํ์ด ๋ ์ ์๋ค๊ณ ์ง์ ํฉ๋๋ค. XNUMX์ ์ด Netlab์ ์ ๋ณด ๋ณด์ ์ ๋ฌธ๊ฐ๋ค์ด ๋ฐ๊ฒฌ DDoS ๊ณต๊ฒฉ์ ์ํํ๊ธฐ ์ํด ์๋ก์ด ํ๋กํ ์ฝ์ ์ฌ์ฉํ ์ต์ด์ ๋ฐ์ด๋ฌ์ค - ๊ฐ๋ฃจ์. ์
์ฑ์ฝ๋๋ DoH์ ์ก์ธ์คํ์ฌ ํ
์คํธ ๋ ์ฝ๋(TXT)๋ฅผ ํ๋ํ๊ณ ๋ช
๋ น ๋ฐ ์ ์ด ์๋ฒ URL์ ์ถ์ถํ์ต๋๋ค.
์ํธํ๋ DoH ์์ฒญ์ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ํํธ์จ์ด์์ ์ธ์๋์ง ์์์ต๋๋ค. ์ ๋ณด๋ณด์ ์ ๋ฌธ๊ฐ ๋๋ ค์Godlua ์ดํ์๋ ์๋์ DNS ๋ชจ๋ํฐ๋ง์๋ ๋ณด์ด์ง ์๋ ๋ค๋ฅธ ์
์ฑ ์ฝ๋๊ฐ ๋ํ๋ ๊ฒ์
๋๋ค.
ํ์ง๋ง ๋ชจ๋๊ฐ ๋ฐ๋ํ๋ ๊ฒ์ ์๋๋ค
๊ทธ์ ๋ธ๋ก๊ทธ์์ HTTPS๋ฅผ ํตํ DNS๋ฅผ ๋ฐฉ์ดํฉ๋๋ค. ๋ง ํ์ด์. APNIC ์์ง๋์ด ์ ํ ํด์คํด. ๊ทธ์ ๋ฐ๋ฅด๋ฉด, ์๋ก์ด ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด ์ต๊ทผ ์ ์ ๋ ์ผ๋ฐํ๋๊ณ ์๋ DNS ํ์ด์ฌํน ๊ณต๊ฒฉ์ ๋์ฒํ ์ ์๊ฒ ๋ ๊ฒ์
๋๋ค. ์ด ์ฌ์ค ํ์ธํ๋ค ์ฌ์ด๋ฒ ๋ณด์ ํ์ฌ์ธ FireEye์ XNUMX์ ๋ณด๊ณ ์. ๋ํ IT ๊ธฐ์
๋ค๋ ํ๋กํ ์ฝ ๊ฐ๋ฐ์ ์ง์ํ๋ค.
์๋
์ด๋ถํฐ DoH๋ Google์์ ํ
์คํธ๋ฅผ ์์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ ๋ฌ ์ ์ ํ์ฌ์์ ์ ์ DoH ์๋น์ค์ ์ผ๋ฐ ๊ฐ์ฉ์ฑ ๋ฒ์ ์
๋๋ค. ๊ตฌ๊ธ์์ ๊ธฐ๋, ๋คํธ์ํฌ์ ๊ฐ์ธ ๋ฐ์ดํฐ ๋ณด์์ ๊ฐํํ๊ณ MITM ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค.
๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ - Mozilla - ะฟะพะดะดะตัะถะธะฒะฐะตั ์ง๋ ์ฌ๋ฆ๋ถํฐ HTTPS๋ฅผ ํตํ DNS. ๋์์, ํ์ฌ๋ IT ํ๊ฒฝ์์ ์ ๊ธฐ์ ์ ์ ๊ทน์ ์ผ๋ก ํ๋ณดํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ์ธํฐ๋ท์๋น์ค์ ๊ณต์ํํ(ISPA) ์ฌ์ง์ด ์ง๋ช
๋จ ์ฌํด์ ์ธํฐ๋ท ์
๋น์์ ์์ํ Mozilla. ์ด์ ํ์ฌ ๊ด๊ณ์๋ ์ ๋ช
ํ, ํต์ ์ฌ์
์๊ฐ ์ค๋๋ ์ธํฐ๋ท ์ธํ๋ผ ๊ฐ์ ์ ๊บผ๋ คํ์ฌ ์ข์ ๊ฐ์ ๋๊ผ์ต๋๋ค.
/์ธ์คํ๋์ฌ/ ํ
ํธ๋ ๋น์
๋ชจ์ง๋ผ๋ฅผ ์ง์ํฉ๋๋ค ์ฃผ์ ์ธ๋ก ์ด ๋ฐํ๋ค ๊ทธ๋ฆฌ๊ณ ์ผ๋ถ ์ธํฐ๋ท ์ ๊ณต์
์ฒด. ํนํ ๋ธ๋ฆฌํฐ์ ํ
๋ ์ฝค์์๋ ๊ณ ๋ คํ๋ค์๋ก์ด ํ๋กํ ์ฝ์ ์ฝํ
์ธ ํํฐ๋ง์ ์ํฅ์ ๋ฏธ์น์ง ์์ผ๋ฉฐ ์๊ตญ ์ฌ์ฉ์์ ๋ณด์์ ํฅ์์ํฌ ๊ฒ์
๋๋ค. ๋์ค์ ์๋ ฅ์ ๋ฐ๊ณ ์๋ ISPA ํ์ํด์ผ ํ๋ค "์
๋น" ์ง๋ช
.
ํด๋ผ์ฐ๋ ์ ๊ณต์
์ฒด๋ ๋ํ HTTPS๋ฅผ ํตํ DNS ๋์
์ ์นํธํ์ต๋๋ค. Cloudflare. ๊ทธ๋ค์ ์ด๋ฏธ ์๋ก์ด ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ DNS ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. DoH๋ฅผ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ๋ฐ ํด๋ผ์ด์ธํธ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค. GitHub์.
์ด์จ๋ ์์ง๊น์ง ๋ ์ง์์ ๋๊ฒฐ์ด ์ด๋ป๊ฒ ๋๋ฌ๋์ง ์ด์ผ๊ธฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. IT ์ ๋ฌธ๊ฐ๋ค์ HTTPS๋ฅผ ํตํ DNS๊ฐ ์ฃผ๋ฅ ์ธํฐ๋ท ๊ธฐ์ ์คํ์ ์ผ๋ถ๊ฐ ๋๋ ค๋ฉด ์๋นํ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. XNUMX ๋
์ด ์๋.
ํ์ฌ ๋ธ๋ก๊ทธ์ ์ฐ๋ฆฌ๊ฐ ์ฐ๋ ๋ค๋ฅธ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ถ์ฒ : habr.com