{"id":53317,"date":"2019-11-29T00:00:00","date_gmt":"2019-11-28T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/domen-fronting-na-baze-tls-1-3-chast-2"},"modified":"2020-02-18T14:01:12","modified_gmt":"2020-02-18T11:01:12","slug":"domen-fronting-na-baze-tls-1-3-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2","title":{"rendered":"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>Sissejuhatus<\/h3>\n<p>\nEsimese osa jooksul <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/475372\/\">artikkel<\/a><\/noindex> andisime \u00fclevaate encrypted SNI (eSNI) mehhanismist. N\u00e4itasime, kuidas selle p\u00f5hjal on v\u00f5imalik v\u00e4ltida t\u00e4nap\u00e4evaste DPI-s\u00fcsteemide tuvastamist (n\u00e4iteks Beeline'i DPI ja keelatud RKN ruTracker), samuti uurisime uut domeeni silumist selle mehhanismi p\u00f5hjal.<\/p>\n<p>Teise osa jooksul liikudes keskendume praktilisematele k\u00fclgedele, mis on kasulikud RedTeam spetsialistidele nende raske t\u00f6\u00f6 juures. L\u00f5ppkokkuv\u00f5ttes on meie eesm\u00e4rk mitte ligip\u00e4\u00e4s blokeeritud ressurssidele (selle jaoks on meil alati olemas vana hea VPN). Hea on, et VPN-teenuse pakkujaid on tohutult, nagu \u00f6eldakse, igaks maitseks, v\u00e4rviks ja eelarveks.<\/p>\n<p>P\u00fc\u00fcame rakendada domeeni silumise mehhanismi t\u00e4nap\u00e4evaste RedTeam t\u00f6\u00f6riistadega, n\u00e4iteks Cobalt Strike'i, Empire'i jne, ja anda neile t\u00e4iendavaid v\u00f5imalusi varjatuks j\u00e4\u00e4miseks ja t\u00e4nap\u00e4evaste sisu filtreerimise s\u00fcsteemide v\u00e4ltimiseks.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEelmisel korral integreerisime eSNI mehhanismi OpenSSL raamatukogusse ja kasutasime seda tuttavas utiliidis curl. Kuid \u00fche curl'iga, nagu \u00f6eldakse, n\u00e4lga ei j\u00e4\u00e4. Loomulikult tahaksime sarnast lahendust ka k\u00f5rgema taseme keeltes. Kahjuks, kiire otsing internetis pettis meid, kuna eSNI mehhanismi t\u00e4ie\u00f5iguslik tugi on teostatud ainult GOLANGis. Seega ei ole meie valik eriti lai: kas kirjutame puhtas C's v\u00f5i C++-s muudetud OpenSSL raamatukoguga v\u00f5i kasutame CloudFlare'i eraldiseisvat GOLANGi forki ja proovime oma t\u00f6\u00f6riistu sinna portida. Tegelikult on veel \u00fcks variant, klassikalisem, kuid samas t\u00f6\u00f6mahukas \u2013 rakendada eSNI tuge Pythonis. L\u00f5ppude l\u00f5puks kasutab Python samuti OpenSSL-i https-iga t\u00f6\u00f6tamiseks. Kuid selle variandi j\u00e4tame kellegi teise arendamiseks ja me j\u00e4\u00e4me rahule GOLANGi lahendusega, eriti kuna meie lemmik Cobalt Strike oskab suurep\u00e4raselt t\u00f6\u00f6tada kolmandate osapoolte vahenditega \u00fcles ehitatud sidekanaliga (External C2 channel) \u2013 sellest r\u00e4\u00e4gime artikli l\u00f5pus.<\/p>\n<h3>Proovige rohkem\u2026<\/h3>\n<p>\n\u00dcks meie Go keeles teostatud t\u00f6\u00f6riistu \u2013 meie arendus sisemistele tunneli \u00fchendustele \u2013 tunneli lahendus <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mis-team\/rsockstun\">rsockstun<\/a><\/noindex>, mis, muide, tuvastatakse t\u00e4na Microsofti ja Symanteci t\u00f6\u00f6riistadega v\u00e4ga kahjuliku tarkvarana, mille eesm\u00e4rk on globaalse stabiliteedi h\u00e4irimine \u2026<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/13d2635b92051416b2f33415783a2837.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOleks tore kasutada eelnevat arendust ka antud juhul. Kuid siin tekib v\u00e4ike probleem. Asi on selles, et algselt eeldab rsockstun serveriga suhtlemiseks s\u00fcnkroneeritud SSL-kanali kasutamist. See t\u00e4hendab, et \u00fchendus luuakse ainult \u00fcks kord ja see p\u00fcsib tunneli t\u00f6\u00f6tamise ajal. Nagu aru saate, ei ole http protokoll selliseks t\u00f6\u00f6re\u017eiimiks just k\u00f5ige sobivam \u2013 see t\u00f6\u00f6tab p\u00e4ringu-vastuse re\u017eiimis, kus iga uus http-p\u00e4ring eksisteerib uue tcp-\u00fchenduse raames.<\/p>\n<p>Peamine puudus sellises skeemis on see, et server ei saa andmeid kliendile edastada seni, kuni klient ei saada uut HTTP-p\u00e4ringut. \u00d5nneks on selle probleemi lahendamiseks palju v\u00f5imalusi \u2013 andmete voogedastus HTTP-protokollis (l\u00f5ppude l\u00f5puks suudame ikkagi vaadata oma lemmiksarju ja kuulata muusikat HTTPS-platvormidelt, ja video ning audio edastamine on mitte midagi muud kui andmete voogedastus). \u00dcks tehnoloogia t\u00e4ie\u00f5igusliku TCP-\u00fchenduse emuleerimise jaoks HTTP-protokolli peal on veebisoketid (WebSockets), mille p\u00f5hij\u00f5ud seisneb t\u00e4ie\u00f5igusliku v\u00f5rgu\u00fchenduse korraldamises kliendi ja veebiserveri vahel.<\/p>\n<p>Meie \u00f5nneks (h\u00fc\u00fcdke r\u00f5\u00f5must!!!) on see tehnoloogia vaikimisi k\u00f5ikides CloudFlare'i hinnaklassides sisse l\u00fclitatud ja t\u00f6\u00f6tab h\u00e4sti eSNI-ga. Just seda me kasutame, et \u00f5petada meie tunnelit kasutama domeeni esitlemist ja varjama end kaasaegsete DPI-de eest. <\/p>\n<h3>Veebisoketidest natuke<\/h3>\n<p>\nEsiteks r\u00e4\u00e4gime l\u00fchidalt ja lihtsate s\u00f5nadega veebisocketitest, et k\u00f5ik saaksid aimu, millega me tegeleme. <\/p>\n<p>Veebipoodide tehnoloogia v\u00f5imaldab ajutiselt vahetada http-\u00fchendust tavap\u00e4rase andmevoo edastamise vahel v\u00f5rgu soketi kaudu, katkestamata samal ajal kehtivat tcp-\u00fchendust. Kui klient soovib vahetada veebipoodi, saadab ta oma http-p\u00e4ringus mitmeid http-pealkirju. Kaks kohustuslikku pealkirja on <i><b>Connection: Upgrade<\/b><\/i> ja <i><b>Upgrade: websocket<\/b><\/i>. Samuti saab ta sundida veebipoodide protokolli versiooni (<i><b>Sec-WebSocket-Version: 13<\/b><\/i>) ja midagi nagu base64 identifikaator veebipoodi (<i><b>Sec-WebSocket-Key: DAGDJSiREI3+KjDfwxm1FA==<\/b><\/i>). Server vastab http-koodiga 101 Switching Protocols ja seadistab samuti pealkirjad <i><b>Connection, Upgrade<\/b><\/i> ja <i><b>Sec-WebSocket-Accept<\/b><\/i>. Protsessi vahetus on selgelt n\u00e4idatud alloleval ekraanipildil:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/1ee9af28074e5e190daea9b4b4a4a524.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast seda v\u00f5ib veebipoodide \u00fchenduse loomist pidada l\u00f5petatuks. K\u00f5ik andmed nii kliendilt kui serverilt varustatakse n\u00fc\u00fcd mitte http, vaid WebSocket pealkirjadega (need algavad baitiga 0x82). N\u00fc\u00fcd ei pea server ootama kliendi p\u00e4ringut andmete edastamiseks, kuna tcp-\u00fchendus ei purune.<\/p>\n<p>Go keeles veebipoodide k\u00e4sitlemiseks on mitmeid raamatukogusid. Populaarseimate hulka kuuluvad <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gorilla\/websocket\">Gorilla WebSocket<\/a><\/noindex> ja standardne <noindex><a rel=\"nofollow\" href=\"https:\/\/godoc.org\/golang.org\/x\/net\/websocket\">WebSocket<\/a><\/noindex>. Kasutame viimasena, kuna see on lihtsam, kompaktsem ja peab olema veidi kiirem.<\/p>\n<p>Kliendikoodis rsockstun peame asendama net.dial v\u00f5i tls.dial vastavate WebSocketi k\u00f5nedega:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/e7ffc8aadeed32b8c456ef03cff4cdf8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/035b3190717482f6aaac22b06cd25bc9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSoovime muuta meie tunnelikliendi osa universaalseks, et see t\u00f6\u00f6taks nii otse ssl\u00fchenduse kui ka WebSockset protokolli kaudu. Selleks loome eraldi funktsiooni. <i><b>func connectForWsSocks(address string, proxy string) error {\u2026}<\/b><\/i> sarnasel p\u00f5hjusel <i><b>connectForSocks()<\/b><\/i> ja kasutame seda WebSocketide jaoks juhul, kui serveri aadress, mis on m\u00e4\u00e4ratud kliendi k\u00e4ivitamisel, algab ws: v\u00f5i wss: (Secure WebSocketi puhul).<\/p>\n<p>Tunneliserveri poole jaoks loome samuti WebSocketide jaoks eraldi funktsiooni. Seal luuakse http klassi eksemplar ja m\u00e4\u00e4ratakse http\u00fchenduse handler (funktsioon wsHandler): <\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/ad904b629aa40bf45d42c095d4285658.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKogu \u00fchenduse t\u00f6\u00f6tlemise loogika (kliendi autoriseerimine parooli j\u00e4rgi, yamux sessiooni loomine ja l\u00f5petamine) paigutatakse WebSocketi \u00fchenduse handlerisse:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/a624dca4819cee4b9d46f1325aafc544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKompileerime projekti, k\u00e4ivitame serveri poole:<\/p>\n<pre><code class=\"go\">.\/rsockstun \u2013listen ws:127.0.0.1:8080 \u2013pass P@ssw0rd<\/code><\/pre>\n<p>\nJa seej\u00e4rel kliendi osa:<\/p>\n<pre><code class=\"go\">.\/rsockstun -connect ws:127.0.0.1:8080 \u2013pass P@ssw0rd<\/code><\/pre>\n<p>\nJa kontrollime t\u00f6\u00f6d kohalikul hostil:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/34bb12087eb7dd72cf1f35d7addf2c72.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/83fc82e962961ba8491164d26f27be95.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Liigutame edasi domeeni esiplaanile<\/h3>\n<p>\nTundub, et me oleme veebik\u00fcsimustega juba hakkama saanud. N\u00fc\u00fcd liigume otse eSNI ja domeeni esiplaanile. Nagu varem mainitud, vajame t\u00f6\u00f6tamiseks DoH ja eSNI jaoks spetsiaalset Golangi haru ettev\u00f5ttelt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cloudflare\/tls-tris\">CloudFlare<\/a><\/noindex>. Me vajame haru, mis toetab eSNI (pwu\/esni).<\/p>\n<p>Kloonime selle endale kohalikult v\u00f5i laadime alla ja v\u00e4ljastame sobiva zipi:<\/p>\n<pre><code class=\"plaintext\">git clone -b pwu\/esni https:\/\/github.com\/cloudflare\/tls-tris.git<\/code><\/pre>\n<p>\nSeej\u00e4rel peame kopeerima GOROOT katalooge, asendama kloonitud harust vastavad failid ja seadistama selle p\u00f5hikataloogiks. Arendajate peavalude v\u00e4hendamiseks on CloudFlare'i meeskond valmistanud spetsiaalse skripti \u2013 _dev\/go.sh. Lihtsalt k\u00e4ivitage see. Skript koos makefile'iga teeb k\u00f5ik ise. Huvi korral \u2014 v\u00f5ite teha pilgu makefile'i detailide jaoks.<\/p>\n<p>P\u00e4rast skripti t\u00f6\u00f6tamist, projekti kompileerimisel, peame m\u00e4\u00e4rama GOROOT-ina skripti ettevalmistatud kohalikku katalooge. Meie puhul n\u00e4eb see v\u00e4lja j\u00e4rgmine:<\/p>\n<pre><code class=\"plaintext\">GOROOT=\"\/opt\/tls-tris\/_dev\/GOROOT\/linux_amd64\" go build \u2026.<\/code><\/pre>\n<p>\nSeej\u00e4rel peame tunnelis rakendama funktsionaalsuse eSNI v\u00f5tmete p\u00e4rimiseks ja anal\u00fc\u00fcsimiseks soovitud domeenile. Meie puhul on need CloudFlare'i esiplaaniserverite avalikud eSNI v\u00f5tmed. Selle saavutamiseks loome kolm funktsiooni:<\/p>\n<pre><code class=\"plaintext\">func makeDoTQuery(dnsName string) ([]byte, error)\nfunc parseTXTResponse(buf []byte, wantName string) (string, error)\nfunc QueryESNIKeysForHost(hostname string) ([]byte, error)<\/code><\/pre>\n<p>\nFunktsioonide nimed r\u00e4\u00e4givad p\u00f5him\u00f5tteliselt enda eest. Sisu v\u00f5ime v\u00f5tta failist esni_query.go, mis kuulub tls-tris'i koosseisu. Esimene funktsioon loob v\u00f5rgu paketi p\u00e4ringuks CloudFlare'i DNS-serverile kasutades protokolli DoH (DNS-over-HTTPS), teine - anal\u00fc\u00fcsib p\u00e4ringu tulemusi ja saab domeeni avalikud v\u00f5tme v\u00e4\u00e4rtused, kolmas on konteiner esimestele kahele.<\/p>\n<p>Seej\u00e4rel toome meie, \u00e4sja loodud, veebisoketi \u00fchenduse funktsiooni <i><b>connectForWsSocks<\/b><\/i> eSNI v\u00f5tmete p\u00e4rimise funktsionaalsuse domeeni jaoks. Seal, kus serveripool t\u00f6\u00f6tab, seadistame TLS parameetrid ja m\u00e4\u00e4rame vale \u00abmaskendatud domeeni\u00bb nime:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/63abc51177058223e0f0941a78d182fa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiin on oluline m\u00e4rkida, et algselt ei olnud tls-tris haru m\u00f5eldud domeeni esitlemise jaoks. Seet\u00f5ttu ei p\u00f6\u00f6rata t\u00e4helepanu vale serveri nimele (client-hello paketi raames edastatakse t\u00fchi serverName v\u00e4li). Selle parandamiseks peame lisama TlsConfig struktuuri vastava vale serveri nime v\u00e4lja. Me ei saa kasutada struktuuri standardset ServerName v\u00e4lja, kuna seda kasutavad sisemised tls mehhanismid ja kui see erineb algsest, siis l\u00f5ppeb tls-k\u00e4epigistus veaga. TlsConfig struktuuri kirjeldus on failis <b>tls\/common.go<\/b> \u2013 seda peamegi parandama:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/04f35bb49a5f6a28625de28b23d686f0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/0caf5cfccb2ffffeae703ecfe3eb6652.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLisaks peame tegema muudatusi failis <b>tls\/handshake_client.go<\/b>, et kasutada meie vale serveri nime v\u00e4lja TLS k\u00e4epigistuse vormimisel:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/ac68f37f426603b2fcec467c6ee886ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSelleks on k\u00f5ik! Projekti saab kompileerida ja t\u00f6\u00f6le testida. Kuid enne kontrollimise k\u00e4ivitamist tuleb seadistada CloudFlare'i konto. Kuidas seda \u00f6elda, seadistada \u2013 lihtsalt luua CloudFlare'is konto ja siduda oma domeen sellega. K\u00f5ik DoH, WebSocket ja ESNI seonduvad funktsioonid on CloudFlare'is vaikimisi lubatud. P\u00e4rast DNS-kirjete v\u00e4rskendamist on v\u00f5imalik domeeni t\u00f6\u00f6d kontrollida, saates eSNI v\u00f5tmete p\u00e4ringu:<\/p>\n<pre><code class=\"plaintext\">dig +short txt _esni.df13tester.info <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/09d07d1f49defc3551c3720d9b67569e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui teie domeeni jaoks ilmub midagi sarnast \u2013 siis k\u00f5ik t\u00f6\u00f6tab ja saate j\u00e4tkata testimisega.<\/p>\n<p>K\u00e4ivitame Ubuntu VPS, n\u00e4iteks DigitalOceanis. P.S. Meie puhul osutus lihtsalt v\u00e4lja antud VPS-i IP-aadress RKNi mustadesse nimekirjadele kuuluvaks. Seega \u00e4rge \u00fcllatuge, kui juhtub midagi sarnast. Pidi kasutama VPN-i, et oma VPS-ile juurde p\u00e4\u00e4seda.<\/p>\n<p>Kopeerime VPS-ile juba kompileeritud rsockstun (see on muide veel \u00fcks Go-eeliste hulk \u2013 v\u00f5ite projekti enda juures kompileerida ja k\u00e4ivitada igal Linuxil, j\u00e4rgides ainult s\u00fcsteemi arhitektuuri) ja k\u00e4ivitame serveri osa:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/f86be92203d646832205fb611fe4d056.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeej\u00e4rel k\u00e4ivitame kliendi osa:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/c8852d7431e8bba7eab1494989ceb46d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuidas me n\u00e4eme, on klient edukalt \u00fchendatud serveriga CloudFlare'i eesserveri kaudu veebisoketi kasutamisega. Tunneli korrektse toimimise kontrollimiseks saab teha cURL-p\u00e4ringu kohaliku SOCKS5 kaudu, mis on serveris avatud:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/87b6f42676e5e895b7f7b03da16420bb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd vaatame, mida DPI n\u00e4eb sidekanalis:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/d546b676904d5b8ded7e0891ff5a98e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsialgu p\u00f6\u00f6rdub tunneliteenuse osutaja DoH mehhanismi kaudu CloudFlare'i DNS-serveri poole, et saada eSNI-v\u00f5tmed sihtdomeeni jaoks (paketid nr 1-19), ja seej\u00e4rel p\u00f6\u00f6rdub eesserveri poole ning loob TLS-\u00fchenduse, varjates end samas domeeni taha. <noindex><a rel=\"nofollow\" href=\"http:\/\/www.google.com\">www.google.com<\/a><\/noindex> (see on vaikimisi v\u00e4\u00e4rtus, kui kliendi k\u00e4ivitamisel pole vale domeeni m\u00e4\u00e4ratud). Oma vale domeeni m\u00e4\u00e4ramiseks tuleb kasutada parameetrit -fronfDomain:<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/3f55e03eecd7436b1e9c2312d88b46af.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/da5e219fb5a097e6ad6d75844d7a5687.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd veel \u00fcks punkt. Vaikimisi on CloudFlare'i konto seadetes seadistatud Flexible SSL t\u00f6\u00f6re\u017eiim. See t\u00e4hendab, et HTTPS-p\u00e4ringud CloudFlare'i eesserveritele klientidelt suunatakse meie serverisse kr\u00fcpteerimata (HTTP) kujul. Just seet\u00f5ttu k\u00e4ivitasime tunneldaja serveri osa non-ssl re\u017eiimis (-listen ws:0.0.0.0), mitte (-listen wss:0.0.0.0).<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/17f820b973f8a3f26f78a30c10bdb493.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00e4ieliku kr\u00fcpteerimise re\u017eiimi \u00fclemineku jaoks tuleb valida <b>T\u00e4ielik<\/b>, v\u00f5i <b>T\u00e4ielik (range)<\/b> olemasoleva sertifikaadi olemasolu korral serveris. Re\u017eiimi vahetamise j\u00e4rel saame vastu v\u00f5tta \u00fchendusi CloudFlare'ilt https protokolli kaudu. \u00c4ra unusta genereerida iseallkirjastatud sertifikaati tunneliteenuse serveripoolseks osaks.<\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/c9a05134c9ba01e6008b4432cf59c74e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00fcsimus, mis v\u00f5iks huvi pakkuda: \"Kuidas on lood Windowsi kliendiga? T\u00f5en\u00e4oliselt on tunneliteenuse peamine kasutusala tagasij\u00f5udmine ettev\u00f5tte masinatelt ja serveritelt, kus tavaliselt on alati Windows. Kuidas ma saan tunnelit Windowsi jaoks kompileerida, ja veel spetsiifilise TLS-i virna kasutades?\" N\u00fc\u00fcd tutvustame veel \u00fchte funktsiooni, mis n\u00e4itab, kui mugav Go on. Kompileerime Windowsi jaoks otse Kali-st, lisades lihtsalt parameetri GOOS=windows:<\/p>\n<pre><code class=\"plaintext\">GOARCH=amd64 GOROOT=\"\/opt\/tls-tris\/_dev\/GOROOT\/linux_amd64\" GOOS=windows go build -ldflags=\"-s -w\"<\/code><\/pre>\n<p>\nV\u00f5i 32-bitine variant:<\/p>\n<pre><code class=\"plaintext\">GOARCH=386 GOROOT=\"\/opt\/tls-tris\/_dev\/GOROOT\/linux_amd64\" GOOS=windows go build -ldflags=\"-s -w\"<\/code><\/pre>\n<p>\nK\u00f5ik! Ja rohkem muretseda ei ole vaja. See t\u00f5esti t\u00f6\u00f6tab! <\/p>\n<p><img decoding=\"async\" alt=\"TLS 1.3 baasil p\u00f5hinev domeeni esitlemine. Osa 2\" src=\"\/wp-content\/uploads\/2019\/11\/2c60d41c115b8df32a8b53b06a45e915.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKompilaatori lipud \u2013w ja \u2013s on vajalikud selleks, et eemaldada t\u00e4iendav pr\u00fcgi t\u00e4idetavast failist, muutes selle paar megabaiti v\u00e4iksemaks. Lisaks saab selle hiljem pakendada UPX-i abil, et veelgi v\u00e4hendada faili suurust.<\/p>\n<h3>Kokkuv\u00f5tte asemel<\/h3>\n<p>\nArtiklis n\u00e4itasime, kasutades golangis kirjutatud tunnelit, uue domeenifrontimise tehnoloogia rakendamist, mis p\u00f5hineb \u00fcsna huvitaval TLS 1.3 protokolli omadusel. Samamoodi saab olemasolevat golangis kirjutatud t\u00f6\u00f6riista kohandada t\u00f6\u00f6tama CloudFlare'i serverite kaudu, n\u00e4iteks. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Ne0nd0g\/merlin\">Merlin<\/a><\/noindex> \u2014 tuntud C2 v\u00f5i sundida CobaltStrike Beaconit kasutama eSNI domeenifrontimist Teamserveriga suhtlemisel. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryhanson\/ExternalC2\">External C2 Channel<\/a><\/noindex>, mis on rakendatud golangis v\u00f5i standardses C++-s kasutades propatchitud versiooni OpenSSL-ist, millest r\u00e4\u00e4kisime artikli eelmisel osal. \u00dches\u00f5naga, fantaasia on piiramatu.<\/p>\n<p>Tunnelija ja CloudFlare'i n\u00e4ide on esitatud kontseptsioonina ja praegu on keeruline r\u00e4\u00e4kida sellise domeenifrontimise kaugematest perspektiividest. Praegu on eSNI tugi rakendatud ainult CloudFlare'is ja teoreetiliselt ei takista miski neil taolist frontimist v\u00e4lja l\u00fclitada ja n\u00e4iteks katkestada TLS-\u00fchendusi, kui SNI ja eSNI ei \u00fchti. \u00dches\u00f5naga, tulevik n\u00e4itab. Kuid praegu tundub perspektiiv t\u00f6\u00f6tada \"kremlin.ru\" varjus \u00fcsna ahvatlev. Kas pole?<\/p>\n<p>Uuendatud tunneli kood ja kompileeritud t\u00e4itev exe-failid on paigutatud projekti eraldi haru alla <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mis-team\/rsockstun\">github<\/a><\/noindex>. K\u00f5igi tunneli v\u00f5imalike probleemide kohta on parem kirjutada probleemid projektilehe GitHubis.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/477696\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 encrypted SNI (eSNI). \u041f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043b\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 (\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0438\u043b\u0430\u0439\u043d\u043e\u0432\u0441\u043a\u043e\u0433\u043e DPI \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0420\u041a\u041d \u0440\u0443\u0442\u0440\u0435\u043a\u0435\u0440\u0430), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0435\u0449\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53317","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 encrypted SNI (eSNI). \u041f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043b\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 (\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0438\u043b\u0430\u0439\u043d\u043e\u0432\u0441\u043a\u043e\u0433\u043e DPI \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0420\u041a\u041d \u0440\u0443\u0442\u0440\u0435\u043a\u0435\u0440\u0430), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0435\u0449\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433 \u043d\u0430 \u0431\u0430\u0437\u0435 TLS 1.3. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 encrypted SNI (eSNI). \u041f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043b\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 (\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0438\u043b\u0430\u0439\u043d\u043e\u0432\u0441\u043a\u043e\u0433\u043e DPI \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0420\u041a\u041d \u0440\u0443\u0442\u0440\u0435\u043a\u0435\u0440\u0430), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0435\u0449\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-28T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:12+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Domeeni esitlemine TLS 1.3 baasil. Osa 2 | ProHoster","description":"Sissejuhatus Esimeses artikli osas andsime l\u00fchikese \u00fclevaate encrypted SNI (eSNI) mehhanismist. N\u00e4itasime, kuidas selle p\u00f5hjal saab v\u00e4ltida t\u00e4nap\u00e4evaste DPI-s\u00fcsteemide tuvastamist (n\u00e4iteks Beeline'i DPI ja keelatud RKN ruteerijat) ning uurisime uut domeeni esitlemise varianti, mis p\u00f5hineb antud mehhanismil. Teises artikli osas liigume praktilisemate asjade juurde, mis on kasulikud","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433 \u043d\u0430 \u0431\u0430\u0437\u0435 TLS 1.3. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u0434\u0430\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 encrypted SNI (eSNI). \u041f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u043a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u043b\u043e\u043d\u044f\u0442\u044c\u0441\u044f \u043e\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 (\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0438\u043b\u0430\u0439\u043d\u043e\u0432\u0441\u043a\u043e\u0433\u043e DPI \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0420\u041a\u041d \u0440\u0443\u0442\u0440\u0435\u043a\u0435\u0440\u0430), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043e\u043c\u0435\u043d-\u0444\u0440\u043e\u043d\u0442\u0438\u043d\u0433\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0435\u0449\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u044b","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-28T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:12+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53317","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 06:55:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:27:38","updated":"2026-01-24 06:55:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/53317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=53317"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/53317\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=53317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=53317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=53317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}