Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ DNS-ΡΠ΅ΡΠ²Π΅ΡΠ° BIND ΡΠΎΠΎΠ±ΡΠΈΠ»ΠΈ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ 9.17 ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Β«DNS ΠΏΠΎΠ²Π΅ΡΡ HTTPSΒ» (DoH, DNS over HTTPS) ΠΈ DNS ΠΏΠΎΠ²Π΅ΡΡ TLS (DoT, DNS over TLS), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° XFR-over-TLS Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ DNS-Π·ΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ. DoH Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ 9.17.10, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DoT ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 9.17.7. ΠΠΎΡΠ»Π΅ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DoT ΠΈ DoH Π±ΡΠ΄Π΅Ρ Π±ΡΠΊΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π° Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ 9.16.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP/2, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² DoH, ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ nghttp2, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠΈΡΠ»ΠΎ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π² ΡΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ (TLS), ΡΠ°ΠΊ ΠΈ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ HTTP/2. ΠΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ named ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ DNS-Π·Π°ΠΏΡΠΎΡΡ, Π½ΠΎ ΠΈ Π·Π°ΠΏΡΠΎΡΡ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ DoH (DNS-over-HTTPS) ΠΈ DoT (DNS-over-TLS). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTPS Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (dig) ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°. ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° XFR-over-TLS Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΊΠ°ΠΊ Π΄Π»Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ DoH ΠΈ DoT Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ http ΠΈ tls Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ listen-on. ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ DNS-over-HTTP Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«tls noneΒ». ΠΠ»ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΠΈΠΈ Β«tlsΒ». Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΡΡΡ 853 Π΄Π»Ρ DoT, 443 Π΄Π»Ρ DoH ΠΈ 80 Π΄Π»Ρ DNS-over-HTTP ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ tls-port, https-port ΠΈ http-port. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: tls local-tls { key-file Β«/path/to/priv_key.pemΒ»; cert-file Β«/path/to/cert_chain.pemΒ»; }; http local-http-server { endpoints { Β«/dns-queryΒ»; }; }; options { https-port 443; listen-on port 443 tls local-tls http myserver {any;}; }
ΠΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ DoH Π² BIND ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΊ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΡ, Π½ΠΎ ΠΈ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π·ΠΎΠ½ Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌ DNS-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π»ΡΠ±ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ°ΠΌΠΈ DNS.
ΠΡΡΠ³ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ½ΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ TLS Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ TLS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Ρ web-ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ) ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΎΠΌ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ DNS-over-HTTP ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎΠ²Π΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅ΡΠΈ, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ° Π²ΡΠ½ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ TLS-ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ nginx, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅ΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΠ° HTTPS Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ².
Masikhumbule ukuba i-DNS-over-HTTPS inokuba luncedo ekuthinteleni ukuvuza kolwazi malunga namagama aceliwe abamba ngomncedisi we-DNS wababoneleli, ukulwa nokuhlaselwa kwe-MITM kunye ne-DNS traffic spoofing (umzekelo, xa udibanisa kwi-Wi-Fi yoluntu), ukubala. ukuvimba kwinqanaba le-DNS (i-DNS-over-HTTPS ayinakuthatha indawo ye-VPN kwi-blocking blocking ephunyezwe kwinqanaba le-DPI) okanye ukulungelelanisa umsebenzi xa kungenakwenzeka ukufikelela ngokuthe ngqo kwiiseva ze-DNS (umzekelo, xa usebenza nge-proxy). Ukuba kwimeko yesiqhelo izicelo ze-DNS zithunyelwa ngokuthe ngqo kwiiseva ze-DNS ezichazwe kuqwalaselo lwenkqubo, ngoko kwimeko ye-DNS-over-HTTPS isicelo sokumisela idilesi ye-IP yomkhosi ifakwe kwi-traffic ye-HTTPS kwaye ithunyelwe kumncedisi we-HTTP, apho umsombululi uqhuba izicelo ngeWeb API.
"I-DNS phezu kwe-TLS" yahlukile kwi-"DNS phezu kwe-HTTPS" ekusetyenzisweni kweprotocol ye-DNS eqhelekileyo (i-network port 853 idla ngokusetyenziswa), isongelwe kwisitishi sonxibelelwano esifihliweyo esicwangciswe kusetyenziswa iprothokholi ye-TLS kunye nokuqinisekisa ukuba ngumamkeli ngezatifikethi ze-TLS/SSL eziqinisekisiweyo. ngugunyaziwe woqinisekiso. Umgangatho okhoyo we-DNSSEC usebenzisa i-encryption kuphela ukuqinisekisa umxhasi kunye neseva, kodwa ayikhuseli i-traffic kwi-interception kwaye ayiqinisekisi ubumfihlo bezicelo.
umthombo: opennet.ru