Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ 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 Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ².
Aoka hotsaroantsika fa ny DNS-over-HTTPS dia mety ilaina amin'ny fisorohana ny fiparitahan'ny vaovao momba ny anaran'ny mpampiantrano nangatahana amin'ny alΓ lan'ny mpizara DNS an'ny mpamatsy, miady amin'ny fanafihana MITM sy ny fanodikodinana fifamoivoizana DNS (ohatra, rehefa mifandray amin'ny Wi-Fi ho an'ny daholobe), fanoherana. fanakanana amin'ny ambaratonga DNS (DNS-over-HTTPS dia tsy afaka manolo VPN amin'ny alΓ lan'ny fandalovana fanakanana ampiharina amin'ny ambaratonga DPI) na amin'ny fandaminana asa rehefa tsy azo atao ny miditra mivantana amin'ny mpizara DNS (ohatra, rehefa miasa amin'ny proxy). Raha amin'ny toe-javatra mahazatra, ny fangatahana DNS dia alefa mivantana any amin'ireo mpizara DNS voafaritra ao amin'ny rafitry ny rafitra, dia amin'ny tranga DNS-over-HTTPS ny fangatahana hamaritana ny adiresy IP mpampiantrano dia voarakitra ao amin'ny fifamoivoizana HTTPS ary alefa any amin'ny mpizara HTTP, izay ny solver dia manao fangatahana amin'ny alΓ lan'ny Web API.
Ny "DNS over TLS" dia tsy mitovy amin'ny "DNS over HTTPS" amin'ny fampiasana ny protocol DNS mahazatra (fampiasana matetika ny seranan-tserasera 853), nofonosina amin'ny fantsom-pifandraisana voatahiry voalamina amin'ny alΓ lan'ny protocol TLS miaraka amin'ny fanamarinana ny maha-marina ny mpampiantrano amin'ny alΓ lan'ny fanamarinana TLS/SSL voamarina. amin'ny alalan'ny fahefana fanamarinana. Ny fenitra DNSSEC efa misy dia mampiasa encryption fotsiny mba hanamarinana ny mpanjifa sy ny mpizara, fa tsy miaro ny fifamoivoizana amin'ny fisakanana ary tsy miantoka ny tsiambaratelon'ny fangatahana.
Source: opennet.ru