"ืื•ื”ื‘ ื•ืœื ืื•ื”ื‘": DNS ื“ืจืš HTTPS

ืื ื• ืžื ืชื—ื™ื ื“ืขื•ืช ื‘ื ื•ื’ืข ืœืชื›ื•ื ื•ืช ืฉืœ DNS ื“ืจืš HTTPS, ืฉื”ืคื›ื• ืœืื—ืจื•ื ื” ืœ"ืกืœืข ืžื—ืœื•ืงืช" ื‘ืงืจื‘ ืกืคืงื™ ืื™ื ื˜ืจื ื˜ ื•ืžืคืชื—ื™ ื“ืคื“ืคื ื™ื.

"ืื•ื”ื‘ ื•ืœื ืื•ื”ื‘": DNS ื“ืจืš HTTPS
/unsplash/ ืกื˜ื™ื‘ ื—ืœืžื”

ืžื”ื•ืช ื—ื•ืกืจ ื”ื”ืกื›ืžื”

ืœืื—ืจื•ื ื” ื›ืœื™ ืชืงืฉื•ืจืช ืžืจื›ื–ื™ื™ื ะธ ืคืœื˜ืคื•ืจืžื•ืช ื ื•ืฉืื™ื•ืช (ื›ื•ืœืœ Habr), ื”ื ื›ื•ืชื‘ื™ื ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืขืœ ืคืจื•ื˜ื•ืงื•ืœ DNS over HTTPS (DoH). ื”ื•ื ืžืฆืคื™ืŸ ื‘ืงืฉื•ืช ืœืฉืจืช ื”-DNS ื•ืชื’ื•ื‘ื•ืช ืœื”ืŸ. ื’ื™ืฉื” ื–ื• ืžืืคืฉืจืช ืœืš ืœื”ืกืชื™ืจ ืืช ืฉืžื•ืช ื”ืžืืจื—ื™ื ืฉื”ืžืฉืชืžืฉ ื ื™ื’ืฉ ืืœื™ื”ื. ืžื”ืคืจืกื•ืžื™ื ื ื™ืชืŸ ืœื”ืกื™ืง ืฉื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ (ื‘-IETF ืื™ืฉืจ ืืช ื–ื” ื‘ืฉื ืช 2018) ื—ื™ืœืง ืืช ืงื”ื™ืœืช ื”-IT ืœืฉื ื™ ืžื—ื ื•ืช.

ืžื—ืฆื™ืชื ืžืืžื™ื ื™ื ืฉื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ื™ืฉืคืจ ืืช ืื‘ื˜ื—ืช ื”ืื™ื ื˜ืจื ื˜ ื•ืžื™ื™ืฉืžื™ื ืื•ืชื• ื‘ื™ื™ืฉื•ืžื™ื ื•ื‘ืฉื™ืจื•ืชื™ื ืฉืœื”ื. ื”ื—ืฆื™ ื”ืฉื ื™ ืžืฉื•ื›ื ืข ืฉื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืจืง โ€‹โ€‹ืžืงืฉื” ืขืœ ืขื‘ื•ื“ืชื ืฉืœ ืžื ื”ืœื™ ืžืขืจื›ืช. ืœืื—ืจ ืžื›ืŸ, ื ื ืชื— ืืช ื”ื˜ื™ืขื•ื ื™ื ืฉืœ ืฉื ื™ ื”ืฆื“ื“ื™ื.

ืื™ืš DoH ืขื•ื‘ื“

ืœืคื ื™ ืฉื ื™ื›ื ืก ืœืžื” ืกืคืงื™ ืื™ื ื˜ืจื ื˜ ื•ืžืฉืชืชืคื™ ืฉื•ืง ืื—ืจื™ื ื‘ืขื“ ืื• ื ื’ื“ DNS ื‘ืืžืฆืขื•ืช HTTPS, ื‘ื•ืื• ื ืกืชื›ืœ ื‘ืงืฆืจื” ื›ื™ืฆื“ ื–ื” ืขื•ื‘ื“.

ื‘ืžืงืจื” ืฉืœ 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. ื›ืชื•ืฆืื” ืžื›ืš, ื‘ืงืฉื•ืช ืœืžืขืจื›ืช ืฉืžื•ืช ื”ื“ื•ืžื™ื™ืŸ ื ืฉืืจื•ืช ืื ื•ื ื™ืžื™ื•ืช.

ืœืžื” ื”ื•ื ืœื ืžื•ืขื“ืฃ?

ืžืชื ื’ื“ื™ื ืœ-DNS ื“ืจืš HTTPS ื”ื ืื•ืžืจื™ืืฉื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ื™ืคื—ื™ืช ืืช ืื‘ื˜ื—ืช ื”ื—ื™ื‘ื•ืจื™ื. ืขืœ ื™ื“ื™ ืขืœ ืคื™ ืคื•ืœ ื•ื™ืงืกื™, ื—ื‘ืจ ื‘ืฆื•ื•ืช ื”ืคื™ืชื•ื— ืฉืœ DNS, ื™ืงืฉื” ืขืœ ืžื ื”ืœื™ ืžืขืจื›ืช ืœื—ืกื•ื ืืชืจื™ื ืฉืขืœื•ืœื™ื ืœื”ื™ื•ืช ื–ื“ื•ื ื™ื™ื. ืžืฉืชืžืฉื™ื ืจื’ื™ืœื™ื ื™ืื‘ื“ื• ืืช ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ื‘ืงืจืช ื”ื•ืจื™ื ืžื•ืชื ื™ืช ื‘ื“ืคื“ืคื ื™ื.

ื“ืขื•ืชื™ื• ืฉืœ ืคื•ืœ ืžืฉื•ืชืคื•ืช ืœืกืคืงื™ ืื™ื ื˜ืจื ื˜ ื‘ื‘ืจื™ื˜ื ื™ื”. ื—ืงื™ืงื” ื‘ืžื“ื™ื ื” ืžื—ื™ื™ื‘ ืœื—ืกื•ื ืื•ืชื ืžืžืฉืื‘ื™ื ืขื ืชื•ื›ืŸ ืืกื•ืจ. ืื‘ืœ ืชืžื™ื›ื” ื‘-DoH ื‘ื“ืคื“ืคื ื™ื ืžืกื‘ื›ืช ืืช ืžืฉื™ืžืช ืกื™ื ื•ืŸ ื”ืชื ื•ืขื”. ืžื‘ืงืจื™ ื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ื›ื•ืœืœื™ื ื’ื ืืช ืžืจื›ื– ื”ืชืงืฉื•ืจืช ื”ืžืžืฉืœืชื™ ื‘ืื ื’ืœื™ื” (GCHQ) ื•ืงืจืŸ ื”ืฉืขื•ืŸ ื‘ืื™ื ื˜ืจื ื˜ (IWF), ื”ืžื ื”ืœ ืจื™ืฉื•ื ืฉืœ ืžืฉืื‘ื™ื ื—ืกื•ืžื™ื.

ื‘ื‘ืœื•ื’ ืฉืœื ื• ืขืœ Habrรฉ:

ืžื•ืžื—ื™ื ืžืฆื™ื™ื ื™ื ืฉ-DNS ื“ืจืš HTTPS ื™ื›ื•ืœ ืœื”ืคื•ืš ืœืื™ื•ื ืื‘ื˜ื—ืช ืกื™ื™ื‘ืจ. ื‘ืชื—ื™ืœืช ื™ื•ืœื™ ืžื•ืžื—ื™ ืื‘ื˜ื—ืช ืžื™ื“ืข ืž-Netlab ื’ื™ืœื• ื”ื•ื•ื™ืจื•ืก ื”ืจืืฉื•ืŸ ืฉื”ืฉืชืžืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ื›ื“ื™ ืœื‘ืฆืข ื”ืชืงืคื•ืช DDoS - ื’ื•ื“ืœื•ืื”. ื”ืชื•ื›ื ื” ื”ื–ื“ื•ื ื™ืช ื ื™ื’ืฉื” ืœ-DoH ื›ื“ื™ ืœื”ืฉื™ื’ ืจืฉื•ืžื•ืช ื˜ืงืกื˜ (TXT) ื•ืœื—ืœืฅ ื›ืชื•ื‘ื•ืช URL ืฉืœ ืฉืจืช ืคืงื•ื“ื•ืช ื•ื‘ืงืจื”.

ื‘ืงืฉื•ืช DoH ืžื•ืฆืคื ื•ืช ืœื ื–ื•ื”ื• ืขืœ ื™ื“ื™ ืชื•ื›ื ืช ืื ื˜ื™ ื•ื™ืจื•ืก. ืžื•ืžื—ื™ ืื‘ื˜ื—ืช ืžื™ื“ืข ืคึผึทื—ึทื“ืฉืื—ืจื™ Godlua ื™ื’ื™ืขื• ืชื•ื›ื ื•ืช ื–ื“ื•ื ื™ื•ืช ืื—ืจื•ืช, ื‘ืœืชื™ ื ืจืื•ืช ืœื ื™ื˜ื•ืจ DNS ืคืกื™ื‘ื™.

ืื‘ืœ ืœื ื›ื•ืœื ื ื’ื“

ืœื”ื’ื ื” ืขืœ DNS ื“ืจืš HTTPS ื‘ื‘ืœื•ื’ ืฉืœื• ื“ื™ื‘ืจ ืžื”ื ื“ืก APNIC ื’'ืฃ ื™ื•ืกื˜ื•ืŸ. ืœื“ื‘ืจื™ื•, ื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ื™ืืคืฉืจ ืœื”ื™ืœื—ื ื‘ื”ืชืงืคื•ืช ื—ื˜ื™ืคืช DNS, ืฉื”ืคื›ื• ืœืื—ืจื•ื ื” ื™ื•ืชืจ ื•ื™ื•ืชืจ ื ืคื•ืฆื•ืช. ื”ืขื•ื‘ื“ื” ื”ื–ื• ืžืืฉืจ ื“ื•ื— ื™ื ื•ืืจ ืžื—ื‘ืจืช ืื‘ื˜ื—ืช ื”ืกื™ื™ื‘ืจ FireEye. ื’ื ื—ื‘ืจื•ืช IT ื’ื“ื•ืœื•ืช ืชืžื›ื• ื‘ืคื™ืชื•ื— ื”ืคืจื•ื˜ื•ืงื•ืœ.

ื‘ืชื—ื™ืœืช ื”ืฉื ื” ืฉืขื‘ืจื”, DoH ื”ื—ืœ ืœื”ื™ื‘ื“ืง ื‘ื’ื•ื’ืœ. ื•ืœืคื ื™ ื—ื•ื“ืฉ ื”ื—ื‘ืจื” ืžื•ืฆื’ ื’ืจืกืช ื–ืžื™ื ื•ืช ื›ืœืœื™ืช ืฉืœ ืฉื™ืจื•ืช DoH ืฉืœื”. ื‘ื’ื•ื’ืœ ืœึฐืงึทื•ื•ึนืช, ืฉืชื’ื‘ื™ืจ ืืช ืื‘ื˜ื—ืช ื”ื ืชื•ื ื™ื ื”ืื™ืฉื™ื™ื ื‘ืจืฉืช ื•ื™ื’ืŸ ืžืคื ื™ ื”ืชืงืคื•ืช MITM.

ืžืคืชื— ื“ืคื“ืคืŸ ืื—ืจ - ืžื•ื–ื™ืœื” - ืชื•ืžืš DNS ื“ืจืš HTTPS ืžืื– ื”ืงื™ืฅ ืฉืขื‘ืจ. ื‘ืžืงื‘ื™ืœ, ื”ื—ื‘ืจื” ืžืงื“ืžืช ื‘ืื•ืคืŸ ืคืขื™ืœ ื˜ื›ื ื•ืœื•ื’ื™ื” ื—ื“ืฉื” ื‘ืกื‘ื™ื‘ืช ื”-IT. ืœืฉื ื›ืš, ืื™ื’ื•ื“ ืกืคืงื™ ื”ืื™ื ื˜ืจื ื˜ (ISPA) ืืคื™ืœื• ืžื•ืขืžื“ ืžื•ื–ื™ืœื” ืœืคืจืก ื ื‘ืœ ื”ืฉื ื” ื‘ืื™ื ื˜ืจื ื˜. ื‘ืชื’ื•ื‘ื”, ื ืฆื™ื’ื™ ื”ื—ื‘ืจื” ืฆื™ื™ื ืชื™, ืฉืžืชื•ืกื›ืœื™ื ืžื”ืจืชื™ืขื” ืฉืœ ืžืคืขื™ืœื™ ื˜ืœืงื•ื ืœืฉืคืจ ืืช ืชืฉืชื™ืช ื”ืื™ื ื˜ืจื ื˜ ื”ืžื™ื•ืฉื ืช ืฉืœื”ื.

"ืื•ื”ื‘ ื•ืœื ืื•ื”ื‘": DNS ื“ืจืš HTTPS
/unsplash/ TETrebbien

ืชืžื™ื›ื” ื‘ืžื•ื–ื™ืœื” ื›ืœื™ ื”ืชืงืฉื•ืจืช ื”ื’ื“ื•ืœื™ื ื”ืชื‘ื˜ืื• ื•ื›ืžื” ืกืคืงื™ ืื™ื ื˜ืจื ื˜. ื‘ืžื™ื•ื—ื“ ื‘ื‘ืจื™ื˜ื™ืฉ ื˜ืœืงื•ื ืฉืงื•ืœืฉื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ ืœื ื™ืฉืคื™ืข ืขืœ ืกื™ื ื•ืŸ ื”ืชื•ื›ืŸ ื•ื™ืฉืคืจ ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ื”ืžืฉืชืžืฉื™ื ื‘ื‘ืจื™ื˜ื ื™ื”. ื‘ืœื—ืฅ ืฆื™ื‘ื•ืจื™ ISPA ื”ื™ื” ืฆืจื™ืš ืœื”ื™ื–ื›ืจ ืžื•ืขืžื“ื•ืช ืœ"ื ื‘ืœ".

ืกืคืงื™ ืขื ืŸ ื’ื ื“ื’ืœื• ื‘ื”ื›ื ืกืช DNS ื“ืจืš HTTPS, ืœืžืฉืœ Cloudflare. ื”ื ื›ื‘ืจ ืžืฆื™ืขื™ื ืฉื™ืจื•ืชื™ DNS ื”ืžื‘ื•ืกืกื™ื ืขืœ ื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉ. ืจืฉื™ืžื” ืžืœืื” ืฉืœ ื“ืคื“ืคื ื™ื ื•ืœืงื•ื—ื•ืช ื”ืชื•ืžื›ื™ื ื‘-DoH ื–ืžื™ื ื” ื‘ื›ืชื•ื‘ืช GitHub.

ื‘ื›ืœ ืžืงืจื”, ืขื“ื™ื™ืŸ ืœื ื ื™ืชืŸ ืœื“ื‘ืจ ืขืœ ืกื™ื•ื ื”ืขื™ืžื•ืช ื‘ื™ืŸ ืฉื ื™ ื”ืžื—ื ื•ืช. ืžื•ืžื—ื™ IT ื—ื•ื–ื™ื ืฉืื DNS ืขืœ HTTPS ื ื•ืขื“ ืœื”ืคื•ืš ืœื—ืœืง ืžื—ืกื ื™ืช ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืื™ื ื˜ืจื ื˜ ื”ืžื™ื™ื ืกื˜ืจื™ื, ื–ื” ื™ื™ืงื— ืœื ืขืฉื•ืจ ืื—ื“.

ืขืœ ืžื” ืขื•ื“ ืื ื—ื ื• ื›ื•ืชื‘ื™ื ื‘ื‘ืœื•ื’ ื”ืืจื’ื•ื ื™ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”