Domain anoloana mifototra amin'ny TLS 1.3

fampidirana

Domain anoloana mifototra amin'ny TLS 1.3
Ny rafitra fanivanana votoaty maoderina avy amin'ny mpanamboatra malaza toa ny Cisco, BlueCoat, FireEye dia manana fitoviana be dia be amin'ny mpiara-miasa aminy matanjaka kokoa - rafitra DPI, izay ampiharina amin'ny sehatra nasionaly. Ny tena fototry ny asan'izy roa dia ny fanaraha-maso ny fifamoivoizana amin'ny Internet miditra sy mivoaka ary, mifototra amin'ny lisitra mainty/fotsy, manapa-kevitra handrΓ ra ny fifandraisana Internet. Ary satria samy miantehitra amin'ny foto-kevitra mitovy amin'ny fototry ny asany izy roa, dia hanana fitoviana be dia be koa ny fomba handosirana azy ireo.

Ny iray amin'ireo teknolojia ahafahanao mandingana tsara ny DPI sy ny rafitra orinasa dia ny teknolojia manoloana ny sehatra. Ny votoatiny dia ny fandehanana mankany amin'ny loharano voasakana, miafina ao ambadiky ny sehatra iray hafa manana laza tsara, izay mazava ho azy fa tsy hosakanan'ny rafitra rehetra, ohatra google.com.

Betsaka ny lahatsoratra efa nosoratana momba ity teknolojia ity ary maro ny ohatra nomena. Na izany aza, ny DNS-over-HTTPS sy ny teknolojia encrypted-SNI malaza sy noresahina vao haingana, ary koa ny dikan-teny vaovao amin'ny protocol TLS 1.3, dia ahafahana mandinika safidy hafa ho an'ny fidirana amin'ny sehatra.

Fahatakarana ny teknolojia

Andeha aloha hofaritana ireo foto-kevitra fototra kely mba hahafantaran'ny tsirairay hoe iza ary nahoana no ilaina izany rehetra izany. Nolazainay ny mekanika eSNI, izay horesahina bebe kokoa ny fampandehanana azy. Ny rafitra eSNI (Server Name Indication) dia dika azo antoka amin'ny SNI, tsy misy afa-tsy amin'ny protocol TLS 1.3. Ny hevi-dehibe dia ny fanafenana, ankoatry ny zavatra hafa, ny fampahalalana momba ny sehatra handefasana ny fangatahana.

Andeha hojerentsika ny fomba fiasan'ny mekanika eSNI amin'ny fampiharana.

Andeha atao hoe manana loharanon-tserasera voasakana amin'ny vahaolana DPI maoderina isika (aoka horaisina, ohatra, ilay torrent tracker malaza rutracker.nl). Rehefa manandrana miditra amin'ny tranokalan'ny torrent tracker izahay dia mahita ny stub manara-penitra an'ny mpamatsy izay milaza fa voasakana ny loharano:

Domain anoloana mifototra amin'ny TLS 1.3

Ao amin'ny tranokalan'ny RKN ity sehatra ity dia tena voatanisa ao amin'ny lisitry ny fiatoana:

Domain anoloana mifototra amin'ny TLS 1.3

Rehefa manontany hoe iza ianao dia hitanao fa ny sehatra dia "miafina" ao ambadiky ny mpamatsy rahona Cloudflare.

Domain anoloana mifototra amin'ny TLS 1.3

Saingy tsy tahaka ireo β€œspΓ©cialiste” avy amin'ny RKN, ireo mpiasa mahay kokoa ara-teknika avy ao amin'ny Beeline (na ampianarin'ny traikefa mangidy ataon'ny mpandrindra malaza eto amintsika) dia tsy nandrara ny tranokala tamin'ny alΓ lan'ny adiresy IP, fa nampiditra ny anaran'ny sehatra ho amin'ny lisitry ny fiatoana. Azonao atao ny manamarina izany mora foana raha mijery ny sehatra hafa miafina ao ambadiky ny adiresy IP mitovy ianao, tsidiho ny iray amin'izy ireo ary jereo fa tsy voasakana ny fidirana:

Domain anoloana mifototra amin'ny TLS 1.3

Ahoana no mitranga izany? Ahoana no ahafantaran'ny DPI an'ny mpamatsy izay sehatra misy ny navigateur, satria ny fifandraisana rehetra dia mitranga amin'ny alΓ lan'ny protocol https, ary tsy mbola nahatsikaritra ny fanoloana ny mari-pankasitrahana https avy amin'ny Beeline izahay? Mahafantatra tsara ve izy sa izaho no arahina?

Andao hiezaka hamaly ity fanontaniana ity amin'ny fijerena ny fifamoivoizana amin'ny wireshark

Domain anoloana mifototra amin'ny TLS 1.3

Ny pikantsary dia mampiseho fa ny navigateur aloha dia mahazo ny adiresy IP an'ny mpizara amin'ny alΓ lan'ny DNS, avy eo dia misy fifampikasohana TCP mahazatra miaraka amin'ny mpizara toerana, ary avy eo ny navigateur dia manandrana mametraka fifandraisana SSL amin'ny mpizara. Mba hanaovana izany, dia mandefa fonosana SSL Client Hello, izay misy ny anaran'ny sehatra loharano amin'ny lahatsoratra mazava. Ity sehatra ity dia takian'ny server cloudflare frontend mba hampandeha tsara ny fifandraisana. Eto no ahazoan'ny mpamatsy DPI antsika, manapaka ny fifandraisantsika. Amin'izay fotoana izay ihany koa, tsy mahazo stub avy amin'ny mpamatsy izahay, ary mahita ny hadisoan'ny navigateur mahazatra toy ny hoe kilemaina ny tranokala na tsy mandeha tsotra izao:

Domain anoloana mifototra amin'ny TLS 1.3

Andeha hojerentsika izao ny mekanika eSNI ao amin'ny navigateur, araka ny voasoratra ao amin'ny torolΓ lana momba ny Firefox :
Mba hanaovana izany dia manokatra ny pejy fanamafisana Firefox izahay About: config ary ampidiro ireto fanovana manaraka ireto:

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

Aorian'izany dia hojerentsika fa mandeha tsara ny fikandrana ao amin'ny tranokala cloudflare. rohy ary andramo indray ny fika amin'ny torrent tracker.

Domain anoloana mifototra amin'ny TLS 1.3

Voila. Nisokatra ny tracker ankafizinay tsy misy mpizara VPN na proxy. Andeha hojerentsika ny fanariam-pako ao amin'ny wireshark hahitana izay nitranga.

Domain anoloana mifototra amin'ny TLS 1.3

Amin'ity indray mitoraka ity, ny fonosana hello client ssl dia tsy mirakitra mazava ny faritry ny toerana haleha, fa kosa, nisy saha vaovao niseho tao amin'ny fonosana - encrypted_server_name - eto no misy ny sandan'ny rutracker.nl, ary ny server frontend cloudflare ihany no afaka mamadika izany. saha. Ary raha izany, dia tsy manan-tsafidy ny mpamatsy DPI afa-tsy ny manasa tanana sy mamela ny fifamoivoizana toy izany. Tsy misy safidy hafa misy encryption.

Noho izany, nijery ny fomba fiasan'ny teknolojia ao amin'ny navigateur izahay. Andeha isika izao hiezaka hampihatra izany amin'ny zavatra manokana sy mahaliana kokoa. Ary voalohany, hampianatra ny curl mitovy amin'ny fampiasana eSNI hiasa amin'ny TLS 1.3 isika, ary miaraka amin'izay koa dia ho hitantsika ny fomba fiasan'ny sehatra mifototra amin'ny eSNI.

Sehatra eo anoloana miaraka amin'ny eSNI

Noho ny zava-misy fa ny curl dia mampiasa ny tranomboky openssl mahazatra mba hifandraisana amin'ny alΓ lan'ny protocol https, voalohany indrindra dia mila manome fanohanana eSNI any isika. Tsy mbola misy fanohanana eSNI ao amin'ny sampana master openssl, noho izany dia mila misintona sampana openssl manokana isika, manangona ary mametraka izany.

Manangona ny tahiry avy amin'ny GitHub izahay ary manangona toy ny mahazatra:

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

$ make
$ cd esnistuff
$ make

Manaraka izany, dia clone ny tahiry miaraka amin'ny curl ary amboary ny fanangonana azy amin'ny alΓ lan'ny tranomboky openssl natambatray:

$ 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

Eto dia zava-dehibe ny mamaritra tsara ny lahatahiry rehetra misy ny openssl (amin'ity tranga ity dia /opt/openssl/) ary ataovy azo antoka fa mandeha tsy misy hadisoana ny fizotran'ny configuration.

Raha mahomby ny fanamafisam-peo dia ho hitantsika ny tsipika:

FAMPITANDREMANA: esni ESNI alefa fa voamarika EXPERIMENTAL. Ampiasao amim-pitandremana!

$ make

Rehefa vita ny fanamboarana ilay fonosana dia hampiasa rakitra bash manokana avy amin'ny openssl izahay handrindrana sy hampandehanana curl. Andao handika izany amin'ny lahatahiry miaraka amin'ny curl mba hanamora:

cp /opt/openssl/esnistuff/curl-esni 

ary manaova fangatahana https fitsapana amin'ny mpizara cloudflare, sady mirakitra ny fonosana DNS sy TLS ao amin'ny Wireshark.

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

Ao amin'ny valin'ny mpizara, ankoatra ny fampahalalana maro momba ny debugging avy amin'ny openssl sy curl, dia hahazo valiny HTTP miaraka amin'ny code 301 avy amin'ny 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/

izay manondro fa ny fangatahanay dia natolotra soa aman-tsara tany amin'ny lohamilina toerana haleha, heno sy nokarakaraina.

Andeha hojerentsika izao ny fanariam-pifamoivoizana amin'ny wireshark, i.e. izay hitan'ny mpamatsy DPI tamin'ity tranga ity.

Domain anoloana mifototra amin'ny TLS 1.3

Hita fa nitodika tany amin'ny mpizara DNS aloha i curl mba hahazoana fanalahidin'ny eSNI ho an'ny server cloudflare - fangatahana DNS TXT ho an'ny _esni.cloudflare.com (fonosana No. 13). Avy eo, amin'ny fampiasana ny openssl library, curl dia nandefa fangatahana TLS 1.3 ho an'ny mpizara cloudflare izay nanafenana ny saha SNI miaraka amin'ny fanalahidin'ny daholobe azo tamin'ny dingana teo aloha (packet #22). Saingy, ankoatry ny saha eSNI, ny fonosana SSL-hello dia misy saha miaraka amin'ny mahazatra - misokatra SNI, izay azontsika faritana amin'ny filaharana rehetra (amin'ity tranga ity - www.hello-rkn.ru).

Ity sehatra SNI misokatra ity dia tsy noraisina tamin'ny fomba rehetra rehefa nokarakarain'ny server cloudflare ary natao ho saron-tava ho an'ny mpamatsy DPI. Nahazo ny packet ssl-hello ny mpizara cloudflare, nanala ny eSNI, naka ny SNI tany am-boalohany ary nanamboatra azy toy ny tsy nisy na inona na inona (nanao ny zava-drehetra araka ny nomanina tamin'ny famolavolana eSNI).

Ny hany azo tratrarina amin'ity tranga ity amin'ny fomba fijery DPI dia ny fangatahana DNS voalohany amin'ny _esni.cloudflare.com. Saingy nataonay nisokatra ny fangatahana DNS mba hampisehoana ny fomba fiasan'ity rafitra ity avy ao anatiny.

Mba hisintonana ny karipetra amin'ny farany ambany DPI dia mampiasa ny mekanika DNS-over-HTTPS efa voalaza. Fanazavana kely - DOH dia protocole ahafahanao miaro amin'ny fanafihana man-in-the-middle amin'ny alΓ lan'ny fandefasana fangatahana DNS amin'ny HTTPS.

Andao hanatanteraka ny fangatahana indray, fa amin'ity indray mitoraka ity dia hahazo ny lakilen'ny eSNI ho an'ny daholobe amin'ny alΓ lan'ny protocol https, fa tsy DNS:

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

Ny fanariam-pitaterana fangatahana dia aseho amin'ny pikantsary eto ambany:

Domain anoloana mifototra amin'ny TLS 1.3

Hita fa miditra voalohany amin'ny server mozilla.cloudflare-dns.com i curl amin'ny alΓ lan'ny protocol DoH (fifandraisana https amin'ny mpizara 104.16.249.249) mba hahazoana avy amin'izy ireo ny sandan'ny fanalahidin'ny daholobe ho an'ny fanafenana SNI, ary avy eo mankany amin'ny toerana haleha. mpizara, miafina ao ambadiky ny sehatra www.hello-rkn.ru.

Ho fanampin'ny solver DoH etsy ambony mozilla.cloudflare-dns.com, afaka mampiasa serivisy DoH malaza hafa isika, ohatra, avy amin'ny orinasa ratsy malaza.
Andeha hataontsika ity fanontaniana manaraka ity:

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

Ary azontsika ny valiny:

< 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

Domain anoloana mifototra amin'ny TLS 1.3

Amin'ity tranga ity, nitodika tany amin'ny mpizara rutracker.nl voasakana izahay, tamin'ny fampiasana ny DoH resolver dns.google (tsy misy typo eto, ankehitriny ny orinasa malaza dia manana ny sehatra voalohany) ary nandrakotra ny tenanay tamin'ny sehatra hafa, izay hentitra. voarara ho an'ny DPI rehetra hisakana eo ambanin'ny fanaintainan'ny fahafatesana. Miorina amin'ny valinteny voaray, azonao atao ny mahatakatra fa vita soa aman-tsara ny fangatahanay.

Ho fanamarinana fanampiny fa mamaly ny SNI misokatra ny DPI an'ny mpamatsy, izay ampitainay ho toy ny fonony, dia afaka manao fangatahana amin'ny rutracker.nl amin'ny endrika loharano voarara hafa, ohatra, tracker torrent hafa β€œtsara”:

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

Tsy hahazo valiny avy amin’ny mpizara izahay, satria... hosakanan'ny rafitra DPI ny fangatahanay.

Fehiny fohy amin'ny tapany voalohany

Noho izany, afaka naneho ny fiasan'ny eSNI tamin'ny fampiasana openssl sy curl izahay ary nanandrana ny fiasan'ny sehatra fronting mifototra amin'ny eSNI. Toy izany koa, azontsika atao ny mampifanaraka ny fitaovana ankafizinay izay mampiasa ny tranomboky openssl mba hiasa "eo ambanin'ny endrika" amin'ny sehatra hafa. Ny antsipiriany bebe kokoa momba izany dia ao amin'ny lahatsoratra manaraka.

Source: www.habr.com

Add a comment