Fa'asinomaga i luma e fa'avae ile TLS 1.3

Faatomuaga

Fa'asinomaga i luma e fa'avae ile TLS 1.3
O faiga fa'aonaponei fa'aonaponei fa'ainitaneti mai tagata ta'uta'ua e pei o Cisco, BlueCoat, FireEye e tele naua mea e tutusa ai ma a latou paaga sili atu ona malosi - DPI, lea o lo'o fa'atinoina i le atunu'u. O le ute o le galuega a le lua o le asiasia lea o feoaiga i luga ole Initaneti ma fafo ma, faʻavae i luga ole lisi uliuli/paʻepaʻe, fai se faʻaiʻuga e faʻasa le fesoʻotaʻiga Initaneti. Ma talu ai o loʻo faʻalagolago uma i laʻua i mataupu faavae tutusa i faʻavae o la latou galuega, o auala mo le faʻafefeina oi latou o le a tele foi mea e tutusa ai.

O se tasi o tekinolosi e mafai ai ona e faʻaogaina lelei le faʻaogaina o le DPI ma faiga faʻapisinisi o le faʻaogaina o tekonolosi. O lona uiga o le tatou o atu i se punaoa poloka, lafi i tua o le isi, nofoaga lautele ma se igoa lelei, lea e mautinoa lava o le a le taofia e soʻo se faiga, mo se faʻataʻitaʻiga google.com.

E tele naua tala ua uma ona tusia e uiga i lenei tekinolosi ma tele faʻataʻitaʻiga ua tuʻuina atu. Ae ui i lea, o le taʻutaʻua ma talu ai nei na talanoaina DNS-over-HTTPS ma faʻailoga-SNI tekinolosi, faʻapea foʻi ma le lomiga fou o le TLS 1.3 protocol, e mafai ai ona mafaufau i se isi filifiliga mo le pito i luma.

Malamalama i tekinolosi

Muamua, seʻi o tatou faʻamalamalamaina ni nai manatu faavae ina ia maua e tagata uma se malamalama poʻo ai ma pe aisea e manaʻomia ai nei mea uma. Na matou taʻua le masini eSNI, o le faʻatinoga o le a talanoaina atili. O le eSNI (encrypted Server Name Indication) o se fa'amaumauga saogalemu o le SNI, e avanoa mo na'o le TLS 1.3 protocol. O le manatu autu o le fa'ailoga, fa'atasi ai ma isi mea, fa'amatalaga e uiga i le vaega e lafo i ai le talosaga.

Se'i o tatou va'ai pe fa'apefea ona fa'atino le masini eSNI.

Seʻi tatou fai atu o loʻo i ai sau punaoa Initaneti ua poloka e se fofo faʻaonaponei DPI (seʻi o tatou ave, mo se faʻataʻitaʻiga, le lauiloa torrent tracker rutracker.nl). A matou taumafai e faʻaoga le upega tafaʻilagi a le torrent tracker, matou te vaʻaia le faʻamautu masani a le kamupani e faʻaalia ai ua poloka le punaoa:

Fa'asinomaga i luma e fa'avae ile TLS 1.3

I luga o le upega tafaʻilagi a le RKN o loʻo lisiina moni lenei vaega i lisi taofi:

Fa'asinomaga i luma e fa'avae ile TLS 1.3

A e fesiligia poʻo ai, e mafai ona e vaʻaia o le vaega lava ia o loʻo "natia" i tua o le cloud provider Cloudflare.

Fa'asinomaga i luma e fa'avae ile TLS 1.3

Ae e le pei o "tagata tomai faapitoa" mai le RKN, o tagata faigaluega sili atu ona atamai mai le Beeline (poʻo le aʻoaʻoina e le poto masani o le matou taʻutaʻua taʻutaʻua) e leʻi faʻafefeteina le saite i le tuatusi IP, ae faʻaopoopo le igoa ole igoa ile lisi taofi. E faigofie ona e faʻamaonia lenei mea pe a e vaʻavaʻai i isi vaega o loʻo natia i tua o le tuatusi IP tutusa, asiasi i se tasi oi latou ma vaʻai e le o poloka le avanoa:

Fa'asinomaga i luma e fa'avae ile TLS 1.3

E faapefea ona tupu lenei mea? E fa'afefea ona iloa e le DPI o lo'o tu'uina atu le vaega o lo'o i ai la'u su'esu'ega, talu ai o feso'ota'iga uma e tupu mai i le https protocol, ma matou te le'i matauina le suia o tusi faamaonia https mai le Beeline? O ia e va'ava'ai pe o mulimulita'ia a'u?

Sei o tatou taumafai e tali lenei fesili e ala i le tilotilo i le auala e ala i le wireshark

Fa'asinomaga i luma e fa'avae ile TLS 1.3

O le faʻamalama o loʻo faʻaalia ai e muamua ona maua e le suʻega le tuatusi IP a le server e ala i le DNS, ona tupu ai lea o se faʻataʻitaʻiga TCP faʻatasi ma le server taunuʻuga, ona taumafai lea o le browser e faʻavae se fesoʻotaʻiga SSL ma le server. Ina ia faia lenei mea, e auina atu se SSL Client Hello packet, lea o loʻo i ai le igoa o le faʻalapotopotoga faʻapogai i tusitusiga manino. O lenei fanua e manaʻomia e le cloudflare frontend server ina ia mafai ai ona saʻo le auala o le fesoʻotaʻiga. O le mea lea e maua ai i matou e le kamupani DPI, motusia la matou sootaga. I le taimi lava e tasi, matou te le mauaina soʻo se paʻu mai le tuʻuina atu, ma matou vaʻai i le faʻasologa masani o le browser e pei o le saite ua le atoatoa pe naʻo le le galue:

Fa'asinomaga i luma e fa'avae ile TLS 1.3

Ia tatou faʻatagaina le masini eSNI i le browser, e pei ona tusia i faatonuga mo Firefox :
Ina ia faia lenei mea matou te tatalaina le itulau faʻaopoopo Firefox e uiga i: config ma fa'agaoioi tulaga nei:

network.trr.mode = 2;
network.trr.uri = https://mozilla.cloudflare-dns.com/dns-query
network.security.esni.enabled = true

A maeʻa lenei mea, o le a matou siakiina o loʻo galue saʻo le faʻatulagaina i luga o le upega tafaʻilagi a le cloudflare. fesoʻotaʻiga ma tatou toe taumafai le togafiti i le tatou torrent tracker.

Fa'asinomaga i luma e fa'avae ile TLS 1.3

Voila. Na tatalaina le matou siaki e sili ona fiafia i ai e aunoa ma se VPN poʻo se sui sui. Se'i o tatou va'ai nei i le lapisi o taavale i le wireshark e iloa ai le mea na tupu.

Fa'asinomaga i luma e fa'avae ile TLS 1.3

O le taimi lea, o le ssl client hello package e le o manino mai le nofoaga o loʻo i ai, ae nai lo lena, o se fanua fou na faʻaalia i totonu o le afifi - encrypted_server_name - o le mea lea o loʻo i ai le tau o le rutracker.nl, ma e naʻo le cloudflare frontend server e mafai ona faʻaumatia lenei mea. fanua. Ma afai o lea, ona leai lea o se filifiliga a le DPI e tuʻuina atu ae na o le fufuluina o ona lima ma faʻatagaina ia fefaʻatauaiga. E leai ni isi filifiliga ma fa'ailoga.

O lea la, na matou vaʻavaʻai i le auala e galue ai tekinolosi i totonu o le browser. Ia tatou taumafai nei e fa'atatau i mea e sili atu ona patino ma manaia. Ma muamua, o le a matou aʻoaʻoina le curl tutusa e faʻaaoga le eSNI e galulue ai ma le TLS 1.3, ma i le taimi lava e tasi o le a tatou vaʻai pe faʻafefea ona galue le eSNI-based domain fronting itself.

Laufanua i luma ile eSNI

Ona o le mea moni e faʻaaoga e curl le faletusi openssl masani e faʻafesoʻotaʻi e ala i le https protocol, muamua lava e manaʻomia le tuʻuina atu o le lagolago eSNI iina. E leai se lagolago eSNI i lala matai openssl i le taimi nei, o lea e tatau ai ona matou sii maia se lala openssl faapitoa, tuufaatasia ma faʻapipiʻi.

Matou te faʻapipiʻi le faleoloa mai GitHub ma faʻapipiʻi pei ona masani ai:

$ git clone https://github.com/sftcd/openssl
$ cd openssl
$ ./config

$ make
$ cd esnistuff
$ make

Ma le isi, matou te faʻapipiʻi le faleoloa ma curl ma faʻapipiʻi lona tuʻufaʻatasiga e faʻaaoga ai le matou faletusi openssl tuufaatasia:

$ cd $HOME/code
$ git clone https://github.com/niallor/curl.git curl-esni
$ cd curl-esni

$ export LD_LIBRARY_PATH=/opt/openssl
$ ./buildconf
$ LDFLAGS="-L/opt/openssl" ./configure --with-ssl=/opt/openssl --enable-esni --enable-debug

O iinei e taua ai le faʻamaonia saʻo uma o lisi o loʻo i ai openssl (i la matou tulaga, o le /opt/openssl/) ma ia mautinoa o loʻo alu le faʻatulagaga e aunoa ma ni mea sese.

Afai e manuia le faʻatulagaina, o le a tatou vaʻai i le laina:

LAPATA'IGA: esni ESNI ua mafai ae ua faailogaina FA'ATA'ITA'I. Fa'aaoga ma le fa'aeteete!

$ make

A maeʻa le fausiaina o le afifi, o le a matou faʻaogaina se faila bash faapitoa mai openssl e faʻapipiʻi ma taʻavale curl. Sei o tatou kopi i le lisi ma curl mo le faigofie:

cp /opt/openssl/esnistuff/curl-esni 

ma fai se suʻega https talosaga i le cloudflare server, aʻo faʻamaumau faʻamaumauga DNS ma TLS i le Wireshark.

$ ESNI_COVER="www.hello-rkn.ru" ./curl-esni https://cloudflare.com/

I le tali a le server, e faaopoopo atu i le tele o faʻamatalaga faʻamatalaga mai openssl ma curl, o le a matou maua se tali HTTP ma le code 301 mai cloudflare.

HTTP/1.1 301 Moved Permanently
< Date: Sun, 03 Nov 2019 13:12:55 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: max-age=3600
< Expires: Sun, 03 Nov 2019 14:12:55 GMT
< Location: https://www.cloudflare.com/

lea e fa'ailoa mai ai na fa'amanuiaina la matou talosaga i le 'au'aunaga o lo'o i ai, fa'afofogaina ma fa'agasolo.

Se'i o tatou va'ai la i le lafoa'i o taavale i wireshark, i.e. mea na va'aia e le kamupani DPI i lenei tulaga.

Fa'asinomaga i luma e fa'avae ile TLS 1.3

E mafai ona iloa na liliu muamua curl i le DNS server mo le lautele eSNI ki mo le cloudflare server - o se TXT DNS talosaga i _esni.cloudflare.com (package Nu. 13). Ma, i le faʻaaogaina o le faletusi openssl, na tuʻuina atu e curl se talosaga TLS 1.3 i le server cloudflare lea na faʻailogaina ai le fanua SNI ma le ki lautele na maua i le laasaga muamua (packet #22). Ae, i le faaopoopo atu i le fanua eSNI, o le SSL-hello packet na aofia ai foi se fanua ma le masani - tatala SNI, lea e mafai ona matou faʻamaonia i soʻo se faʻatonuga (i lenei tulaga - www.hello-rkn.ru).

O lenei avanoa SNI fanua e leʻi amanaia i soʻo se auala pe a faʻatautaia e cloudflare servers ma naʻo le avea o se matapulepule mo le DPI e tuʻuina atu. Na maua e le server cloudflare la matou ssl-hello packet, faʻamalo le eSNI, aveese le SNI muamua mai iina ma faʻatautaia e pei e leai se mea na tupu (na faia mea uma e pei ona fuafuaina pe a atiaʻe le eSNI).

Na o le pau lava le mea e mafai ona maua i lenei mataupu mai le DPI manatu o le talosaga DNS muamua i _esni.cloudflare.com. Ae na matou tatalaina le talosaga DNS e faʻaalia ai le auala e galue ai lenei masini mai totonu.

Ina ia toso ese le fala mai lalo o le DPI, matou te faʻaogaina le DNS-over-HTTPS mechanism. O sina fa'amatalaga - DOH ose fa'atonuga e mafai ai ona e puipuia mai se osofa'iga a le tagata i le ogatotonu e ala i le tu'uina atu o se talosaga DNS ile HTTPS.

Sei o tatou toe faʻatinoina le talosaga, ae o le taimi lenei o le a tatou mauaina lautele eSNI ki e ala i le https protocol, ae le o DNS:

ESNI_COVER="www.hello-rkn.ru" DOH_URL=https://mozilla.cloudflare-dns.com/dns-query ./curl-esni https://cloudflare.com/

O lo'o fa'aalia i le fa'amalama o lo'o i lalo:

Fa'asinomaga i luma e fa'avae ile TLS 1.3

E mafai ona iloa o le curl e muamua ona maua le mozilla.cloudflare-dns.com server e ala i le DoH protocol (https fesoʻotaʻiga i le server 104.16.249.249) e maua mai ia i latou le tau o ki lautele mo le SNI encryption, ona oʻo atu lea i le taunuuga. server, lafi i tua o le vaega www.hello-rkn.ru.

I le faaopoopo atu i le DoH solver mozilla.cloudflare-dns.com o loʻo i luga, e mafai ona matou faʻaogaina isi auaunaga taʻutaʻua a le DoH, mo se faʻataʻitaʻiga, mai le kamupani taʻutaʻua leaga.
Se'i fai le fesili lea:

ESNI_COVER="www.kremlin.ru" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/

Ma matou maua le tali:

< HTTP/1.1 301 Moved Permanently
< Date: Sun, 03 Nov 2019 14:10:22 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=da0144d982437e77b0b37af7d00438b1a1572790222; expires=Mon, 02-Nov-20 14:10:22 GMT; path=/; domain=.rutracker.nl; HttpOnly; Secure
< Location: https://rutracker.nl/forum/index.php
< CF-Cache-Status: DYNAMIC
< Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< Server: cloudflare
< CF-RAY: 52feee696f42d891-CPH

Fa'asinomaga i luma e fa'avae ile TLS 1.3

I lenei tulaga, na matou liliu atu i le server rutracker.nl poloka, e faʻaaoga ai le DoH resolver dns.google (e leai se typo iinei, o lea ua i ai i le kamupani taʻutaʻua lana lava vaega muamua) ma ufiufi i matou i se isi vaega, lea e matuaʻi atoatoa. fa'asaina mo DPI uma ona poloka ile tiga ole oti. E tusa ai ma le tali na maua mai, e mafai ona e malamalama na fa'agasolo lelei le matou talosaga.

I le avea ai o se siaki faʻaopoopo e tali atu le DPI a le kamupani tuʻufaʻatasia i le SNI tatala, lea matou te tuʻuina atu e fai ma ufiufi, e mafai ona matou faia se talosaga i le rutracker.nl i lalo o le faʻaogaina o se isi punaoa faʻasaina, mo se faʻataʻitaʻiga, o se isi "lelei" torrent tracker:

$ ESNI_COVER="rutor.info" DOH_URL=https://dns.google/dns-query ./curl-esni https://rutracker.nl/

Matou te le maua se tali mai le 'auʻaunaga, aua ... o la matou talosaga o le a poloka e le DPI system.

O se faaiuga puupuu i le vaega muamua

O lea la, na mafai ona matou faʻaalia le faʻatinoga o le eSNI faʻaaoga openssl ma curl ma faʻataʻitaʻi le faʻaogaina o le pito i luma e faʻavae ile eSNI. I le auala lava e tasi, e mafai ona tatou fetuunaia tatou meafaigaluega e sili ona fiafia i ai e faʻaaoga ai le faletusi openssl e galue "i lalo o le faʻailoga" o isi vaega. O nisi faʻamatalaga e uiga i lenei mea ile matou tala o loʻo sosoo mai.

puna: www.habr.com

Faaopoopo i ai se faamatalaga