{"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\/hu\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2","title":{"rendered":"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>Bevezet\u00e9s<\/h3>\n<p>\nAz els\u0151 r\u00e9szben <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/475372\/\">cikkb\u0151l sz\u00e1rmaznak<\/a><\/noindex> r\u00f6viden bemutattuk az encrypted SNI (eSNI) mechanizmus\u00e1t. Megmutattuk, hogyan lehet e mechanizmus seg\u00edts\u00e9g\u00e9vel elker\u00fclni a modern DPI rendszerek detekt\u00e1l\u00e1s\u00e1t (p\u00e9ld\u00e1ul a Beeline DPI \u00e9s a tiltott RKN rutracker eset\u00e9ben), valamint megvizsg\u00e1ltuk egy \u00faj domain-fronting vari\u00e1nst ezen mechanizmus alapj\u00e1n.<\/p>\n<p>A cikk m\u00e1sodik r\u00e9sz\u00e9ben a RedTeam szakemberek neh\u00e9z munk\u00e1j\u00e1ban hasznos gyakorlati dolgokra t\u00e9r\u00fcnk \u00e1t. V\u00e9g\u00fcl is a c\u00e9lunk nem a blokkolt er\u0151forr\u00e1sokhoz val\u00f3 hozz\u00e1f\u00e9r\u00e9s (ilyen ban\u00e1lis dolgokhoz ott van a r\u00e9gi j\u00f3 VPN). Szerencs\u00e9re rengeteg VPN szolg\u00e1ltat\u00f3 l\u00e9tezik, ahogy mondani szokt\u00e1k, minden \u00edzl\u00e9snek, sz\u00ednnek \u00e9s k\u00f6lts\u00e9gvet\u00e9snek megfelel\u0151en.<\/p>\n<p>Megpr\u00f3b\u00e1ljuk alkalmazni a domain-fronting mechanizmust a modern RedTeam eszk\u00f6z\u00f6kh\u00f6z, p\u00e9ld\u00e1ul a Cobalt Strike-hoz, Empire-hez stb., \u00e9s extra lehet\u0151s\u00e9geket biztos\u00edtani sz\u00e1mukra a mimikrihez \u00e9s a modern tartalomsz\u0171r\u0151 rendszerek elker\u00fcl\u00e9s\u00e9hez.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLegut\u00f3bb az eSNI mechanizmust integr\u00e1ltuk az OpenSSL k\u00f6nyvt\u00e1rba, \u00e9s sikeresen haszn\u00e1ltuk azt a mindenki \u00e1ltal ismert curl eszk\u00f6zben. De egyed\u00fcl a curl nem el\u00e9g, ahogy mondani szokt\u00e1k. Term\u00e9szetesen szeretn\u00e9nk valami hasonl\u00f3t megval\u00f3s\u00edtani magas szint\u0171 nyelveken is. Sajnos a weben v\u00e9gzett keresg\u00e9l\u00e9s csal\u00f3d\u00e1st okozott, mivel az eSNI mechanizmusa teljes m\u00e9rt\u00e9kben csak a GOLANG-ban van megval\u00f3s\u00edtva. \u00cdgy v\u00e1laszt\u00e1si lehet\u0151s\u00e9g\u00fcnk nem t\u00fal nagy: \u00edrnunk kell vagy tiszta C-ben vagy C++-ban a jav\u00edtott OpenSSL k\u00f6nyvt\u00e1r haszn\u00e1lat\u00e1val, vagy haszn\u00e1ljunk a CloudFlare \u00e1ltal k\u00e9sz\u00edtett k\u00fcl\u00f6n GOLANG forkot, \u00e9s pr\u00f3b\u00e1ljuk meg port\u00e1lni az eszk\u00f6zeinket oda. Van azonban m\u00e9g egy m\u00e1sik, klasszikusabb, de egyben id\u0151ig\u00e9nyes megold\u00e1s is \u2013 ez az eSNI t\u00e1mogat\u00e1s megval\u00f3s\u00edt\u00e1sa Python sz\u00e1m\u00e1ra. V\u00e9g\u00fcl is a Python is OpenSSL-t haszn\u00e1l a https m\u0171veletekhez. De ezt a lehet\u0151s\u00e9get m\u00e1soknak hagyjuk fejleszt\u00e9sre, mi a GOLANG megval\u00f3s\u00edt\u00e1ssal fogunk megel\u00e9gedni, f\u0151leg mivel a kedvenc Cobalt Strike-unk remek\u00fcl tud dolgozni a k\u00fcls\u0151 eszk\u00f6z\u00f6k \u00e1ltal l\u00e9trehozott kommunik\u00e1ci\u00f3s csatorn\u00e1val (External C2 channel) \u2013 err\u0151l a cikk v\u00e9g\u00e9n besz\u00e9l\u00fcnk.<\/p>\n<h3>Try Harder\u2026<\/h3>\n<p>\nAz egyik Go nyelven megval\u00f3s\u00edtott eszk\u00f6z \u2013 a bels\u0151 h\u00e1l\u00f3zatba t\u00f6rt\u00e9n\u0151 pivot\u00e1l\u00e1shoz k\u00e9sz\u00fclt tunneler <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mis-team\/rsockstun\">rsockstun<\/a><\/noindex>, aminek jelenleg a Microsoft \u00e9s a Symantec eszk\u00f6zei nagyon k\u00e1ros szoftverk\u00e9nt tekintenek, amely a glob\u00e1lis stabilit\u00e1s megzavar\u00e1s\u00e1ra ir\u00e1nyul\u2026<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/13d2635b92051416b2f33415783a2837.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ\u00f3 lenne a kor\u00e1bbi fejleszt\u00e9st ebben az esetben is felhaszn\u00e1lni. Azonban itt van egy kis probl\u00e9ma. Az rsockstun alapvet\u0151en a szerverrel val\u00f3 szinkron SSL kapcsolat haszn\u00e1lat\u00e1t felt\u00e9telezi. Ez azt jelenti, hogy a kapcsolat egyszer j\u00f6n l\u00e9tre, \u00e9s a tunneler m\u0171k\u00f6d\u00e9se alatt fenn\u00e1ll. Ahogy bizony\u00e1ra tudja, a https protokoll n\u00e9mileg nem alkalmas az ilyen m\u0171k\u00f6d\u00e9si m\u00f3dra \u2013 k\u00e9r\u00e9s-v\u00e1lasz m\u00f3dban m\u0171k\u00f6dik, ahol minden \u00faj http-k\u00e9r\u00e9s \u00faj tcp-kapcsolaton bel\u00fcl j\u00f6n l\u00e9tre.<\/p>\n<p>Ezen rendszer f\u0151 h\u00e1tr\u00e1nya az, hogy a szerver nem tud adatokat k\u00fcldeni az \u00fcgyf\u00e9lnek, am\u00edg az \u00fcgyf\u00e9l nem k\u00fcld egy \u00faj http-k\u00e9r\u00e9st. De szerencs\u00e9re sz\u00e1mos megold\u00e1si lehet\u0151s\u00e9g l\u00e9tezik erre a probl\u00e9m\u00e1ra \u2013 a http protokollon kereszt\u00fcli adatfolyam-k\u00fcld\u00e9s (v\u00e9g\u00fcl is k\u00e9pesek vagyunk n\u00e9zni a kedvenc sorozatainkat \u00e9s hallgatni a zen\u00e9t az https-t haszn\u00e1l\u00f3 port\u00e1lokr\u00f3l, \u00e9s a vide\u00f3- \u00e9s audio\u00e1tvitel nem m\u00e1s, mint adatfolyam-k\u00fcld\u00e9s). Az egyik technol\u00f3gia, amely lehet\u0151v\u00e9 teszi egy teljes \u00e9rt\u00e9k\u0171 tcp-kapcsolat emul\u00e1l\u00e1s\u00e1t a http protokoll felett, a web-socketek (WebSockets) technol\u00f3gi\u00e1ja, amelynek l\u00e9nyege, hogy teljes \u00e9rt\u00e9k\u0171 h\u00e1l\u00f3zati kapcsolatot hozzon l\u00e9tre az \u00fcgyf\u00e9l \u00e9s a web-szerver k\u00f6z\u00f6tt.<\/p>\n<p>Szerencs\u00e9re (hurrah-hurrah!!!) ez a technol\u00f3gia alap\u00e9rtelmezetten minden CloudFlare tarifacsomagban el\u00e9rhet\u0151, \u00e9s remek\u00fcl m\u0171k\u00f6dik az eSNI-vel. Ezt fogjuk haszn\u00e1lni, hogy megtan\u00edtsuk tunneler\u00fcnket dom\u00e9nfrontaliz\u00e1l\u00e1sra \u00e9s elrejt\u00e9sre a modern DPI el\u0151l. <\/p>\n<h3>R\u00f6viden a WebSocketekr\u0151l<\/h3>\n<p>\nEls\u0151sorban r\u00f6viden \u00e9s egyszer\u0171 szavakkal fogunk besz\u00e9lni a web-socketekr\u0151l, hogy mindenki k\u00e9pet kapjon arr\u00f3l, mivel fogunk dolgozni. <\/p>\n<p>A web-socketek technol\u00f3gia lehet\u0151v\u00e9 teszi, hogy ideiglenesen \u00e1tv\u00e1ltsunk az http-kapcsolatr\u00f3l a norm\u00e1l adatfolyam-ra a h\u00e1l\u00f3zati socketen an\u00e9lk\u00fcl, hogy megszak\u00edtan\u00e1nk a kialak\u00edtott tcp-kapcsolatot. Amikor az \u00fcgyf\u00e9l a web-socketre akar v\u00e1ltani, a http-k\u00e9r\u00e9s\u00e9ben n\u00e9h\u00e1ny http-fejl\u00e9ck\u00e9nt megadja. K\u00e9t k\u00f6telez\u0151 fejl\u00e9c \u2013 <i><b>Connection: Upgrade<\/b><\/i> \u00e9s <i><b>Upgrade: websocket<\/b><\/i>. Ezen k\u00edv\u00fcl k\u00e9nyszer\u00edtheti a web-socket protokoll verzi\u00f3j\u00e1t is (<i><b>Sec-Websocket-Version: 13<\/b><\/i>) \u00e9s egyfajta base64 webSocket azonos\u00edt\u00f3 (<i><b>Sec-WebSocket-Key: DAGDJSiREI3+KjDfwxm1FA==<\/b><\/i>). A szerver 101 Switching Protocols HTTP-k\u00f3ddal v\u00e1laszol, \u00e9s be\u00e1ll\u00edtja a fejl\u00e9cet <i><b>Connection, Upgrade<\/b><\/i> \u00e9s <i><b>Sec-WebSocket-Accept<\/b><\/i>. A v\u00e1lt\u00e1si folyamatot az al\u00e1bbi k\u00e9pen l\u00e1thatjuk:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/1ee9af28074e5e190daea9b4b4a4a524.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEzut\u00e1n a WebSocket kapcsolat l\u00e9trehoz\u00e1s\u00e1t befejezettnek tekinthetj\u00fck. B\u00e1rmilyen adat, legyen az az \u00fcgyf\u00e9lt\u0151l vagy a szervert\u0151l, ezut\u00e1n nem http, hanem WebSocket fejl\u00e9cet kap (ezek 0x82 b\u00e1jttal kezd\u0151dnek). Most a szervernek nem kell v\u00e1rnia az \u00fcgyf\u00e9l k\u00e9r\u00e9s\u00e9re, hogy adatokat tov\u00e1bb\u00edtson, mivel a tcp kapcsolat nem szakad meg.<\/p>\n<p>A Golangban a webSokettel val\u00f3 munka sor\u00e1n t\u00f6bb k\u00f6nyvt\u00e1r is el\u00e9rhet\u0151. A legn\u00e9pszer\u0171bbek k\u00f6z\u00e9 tartozik a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gorilla\/websocket\">Gorilla WebSocket<\/a><\/noindex> \u00e9s a standard <noindex><a rel=\"nofollow\" href=\"https:\/\/godoc.org\/golang.org\/x\/net\/websocket\">WebSocket<\/a><\/noindex>. Az ut\u00f3bbit v\u00e1lasztjuk, mivel egyszer\u0171bb, kevesebb \u00e9s, mint mondj\u00e1k, egy kicsit gyorsabb.<\/p>\n<p>A rsockstun kliens k\u00f3dj\u00e1ban sz\u00fcks\u00e9ges, hogy a net.dial vagy tls.dial h\u00edv\u00e1sokat a megfelel\u0151 WebSocket h\u00edv\u00e1sokra cser\u00e9lj\u00fck:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/e7ffc8aadeed32b8c456ef03cff4cdf8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/035b3190717482f6aaac22b06cd25bc9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAzt szeretn\u00e9nk, hogy a tunneler kliens r\u00e9sze univerz\u00e1lis legyen \u00e9s k\u00e9pes legyen m\u0171k\u00f6dni k\u00f6zvetlen ssl kapcsolaton kereszt\u00fcl, valamint WebSocket protokollon kereszt\u00fcl. Ehhez l\u00e9trehozunk egy k\u00fcl\u00f6n funkci\u00f3t <i><b>func connectForWsSocks(address string, proxy string) error {\u2026}<\/b><\/i> hasonl\u00f3an a <i><b>connectForSocks()<\/b><\/i> funkci\u00f3hoz, \u00e9s ezt fogjuk haszn\u00e1lni a webSocket-ek kezel\u00e9s\u00e9re, abban az esetben, ha a kliens ind\u00edt\u00e1sakor megadott szerver c\u00edme ws: vagy wss: -t (a Secure WebSocket eset\u00e9ben) kezd\u0151dik.<\/p>\n<p>A tunneler szerveroldal\u00e1hoz k\u00fcl\u00f6n funkci\u00f3t is l\u00e9trehozunk a webSoketek kezel\u00e9s\u00e9re. Ebben egy http oszt\u00e1ly p\u00e9ld\u00e1ny\u00e1t hozunk l\u00e9tre, \u00e9s be\u00e1ll\u00edtjuk a http kapcsolat kezel\u0151j\u00e9t (wsHandler funkci\u00f3): <\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/ad904b629aa40bf45d42c095d4285658.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz \u00f6sszes kapcsolatkezel\u00e9si logik\u00e1t (\u00fcgyf\u00e9l hiteles\u00edt\u00e9se jelsz\u00f3val, yamux session l\u00e9trehoz\u00e1sa \u00e9s befejez\u00e9se) az WebSocket kapcsolatkezel\u0151be helyezz\u00fck:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/a624dca4819cee4b9d46f1325aafc544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA projektet leford\u00edtjuk, ind\u00edtjuk a szerveroldali r\u00e9szt:<\/p>\n<pre><code class=\"go\">.\/rsockstun \u2013listen ws:127.0.0.1:8080 \u2013pass P@ssw0rd<\/code><\/pre>\n<p>\nMajd ind\u00edtjuk a kliens oldalt:<\/p>\n<pre><code class=\"go\">.\/rsockstun -connect ws:127.0.0.1:8080 \u2013pass P@ssw0rd<\/code><\/pre>\n<p>\n\u00c9s ellen\u0151rizz\u00fck a m\u0171k\u00f6d\u00e9st a helyi hoszton:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/34bb12087eb7dd72cf1f35d7addf2c72.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/83fc82e962961ba8491164d26f27be95.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>\u00c1tt\u00e9r\u00fcnk a domain-frontra<\/h3>\n<p>\n\u00dagy t\u0171nik, hogy a webSoketek ter\u00e9n m\u00e1r tiszt\u00e1ban vagyunk. Most t\u00e9rj\u00fcnk \u00e1t az eSNI-re \u00e9s a domain-frontra. Ahogy m\u00e1r eml\u00edtett\u00fck, a DoH \u00e9s az eSNI haszn\u00e1lat\u00e1hoz egy speci\u00e1lis golang \u00e1gat kell haszn\u00e1lnunk a c\u00e9gt\u0151l <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/cloudflare\/tls-tris\">CDN<\/a><\/noindex>. Sz\u00fcks\u00e9g\u00fcnk van egy eSNI t\u00e1mogat\u00e1ssal rendelkez\u0151 \u00e1gra (pwu\/esni).<\/p>\n<p>Let\u00f6ltj\u00fck magunkhoz lok\u00e1lisan, vagy let\u00f6ltj\u00fck \u00e9s kib\u0151v\u00edtj\u00fck a megfelel\u0151 zip f\u00e1jlt:<\/p>\n<pre><code class=\"plaintext\">git clone -b pwu\/esni https:\/\/github.com\/cloudflare\/tls-tris.git<\/code><\/pre>\n<p>\nEzut\u00e1n m\u00e1solnunk kell a GOROOT mapp\u00e1t, lecser\u00e9lni a megfelel\u0151 f\u00e1jlokat a kl\u00f3nozott \u00e1gb\u00f3l, \u00e9s alap\u00e9rtelmezett\u00e9 \u00e1ll\u00edtani. Hogy megk\u00f6nny\u00edts\u00e9k a fejleszt\u0151k dolg\u00e1t, a CloudFlare csapata k\u00e9sz\u00edtett egy speci\u00e1lis scriptet \u2013 _dev\/go.sh. Egyszer\u0171en futtassuk le. A script a makefile-lal mindent elint\u00e9z. Ha \u00e9rdekli, belen\u00e9zhet a makefile-ba a r\u00e9szletek\u00e9rt.<\/p>\n<p>A script futtat\u00e1sa ut\u00e1n a projekt ford\u00edt\u00e1sakor meg kell adnunk GOROOT-k\u00e9nt a script \u00e1ltal el\u0151k\u00e9sz\u00edtett helyi mapp\u00e1t. Ez \u00edgy n\u00e9z ki:<\/p>\n<pre><code class=\"plaintext\">GOROOT=\"\/opt\/tls-tris\/_dev\/GOROOT\/linux_amd64\" go build \u2026.<\/code><\/pre>\n<p>\nEzut\u00e1n a tunneling funkci\u00f3ban meg kell val\u00f3s\u00edtanunk a k\u00edv\u00e1nt domain nyilv\u00e1nos eSNI kulcsainak lek\u00e9rdez\u00e9s\u00e9t \u00e9s feldolgoz\u00e1s\u00e1t. Az eset\u00fcnkben ezek a CloudFlare frontend szerverek nyilv\u00e1nos eSNI kulcsai lesznek. Ehhez h\u00e1rom funkci\u00f3t fogunk l\u00e9trehozni:<\/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>\nA funkci\u00f3k nevei, l\u00e9nyeg\u00e9ben, maguk\u00e9rt besz\u00e9lnek. Az adatokat az esni_query.go f\u00e1jlb\u00f3l fogjuk venni, amely r\u00e9sze a tls-tris-nek. Az els\u0151 funkci\u00f3 egy h\u00e1l\u00f3zati csomagot hoz l\u00e9tre a CloudFlare DNS szerver\u00e9nek lek\u00e9rdez\u00e9s\u00e9hez, DoH (DNS-over-HTTPS) protokoll haszn\u00e1lat\u00e1val, a m\u00e1sodik feldolgozza a lek\u00e9rdez\u00e9s eredm\u00e9nyeit, \u00e9s megkapja a domain nyilv\u00e1nos kulcsainak \u00e9rt\u00e9keit, a harmadik pedig a k\u00e9t el\u0151z\u0151 funkci\u00f3 t\u00e1rol\u00f3ja.<\/p>\n<p>Ezut\u00e1n bejegyz\u00fcnk a frissen l\u00e9trehozott webszerver csatlakoz\u00e1si funkci\u00f3nkba. <i><b>connectForWsSocks<\/b><\/i> az eSNI kulcsok lek\u00e9rdez\u00e9si funkci\u00f3j\u00e1t a domain sz\u00e1m\u00e1ra. Ahol a szerveroldal m\u0171k\u00f6dik, be\u00e1ll\u00edtjuk a TLS param\u00e9tereket, valamint megadjuk a hamis \"fed\u0151domain\" nev\u00e9t:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/63abc51177058223e0f0941a78d182fa.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nItt \u00e9rdemes megjegyezni, hogy az eredeti tls-tris \u00e1g nem k\u00e9sz\u00fclt domain-frontaliz\u00e1l\u00e1sra. Ez\u00e9rt a hamis szervern\u00e9vnek nem szenteltek figyelmet (a client-hello csomagban \u00fcres serverName mez\u0151 ker\u00fcl \u00e1tad\u00e1sra). Hogy ezt jav\u00edtsuk, hozz\u00e1 kell adnunk a TlsConfig strukt\u00far\u00e1hoz a megfelel\u0151 FakeServerName mez\u0151t. A strukt\u00fara ServerName mez\u0151j\u00e9t nem haszn\u00e1lhatjuk, mert azt a tls bels\u0151 mechanizmusai haszn\u00e1lj\u00e1k, \u00e9s ha ez elt\u00e9r az alap\u00e9rtelmezett\u0151l, a tls handshake hiba\u00fczenettel v\u00e9gz\u0151dik. A TlsConfig strukt\u00fara le\u00edr\u00e1sa a f\u00e1jlban tal\u00e1lhat\u00f3. <b>tls\/common.go<\/b> \u2013 ezt nek\u00fcnk kell jav\u00edtanunk:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/04f35bb49a5f6a28625de28b23d686f0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/0caf5cfccb2ffffeae703ecfe3eb6652.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEmellett v\u00e1ltoztat\u00e1sokat kell eszk\u00f6z\u00f6ln\u00fcnk a f\u00e1jlban. <b>tls\/handshake_client.go<\/b>, hogy haszn\u00e1lni tudjuk a FakeServerName mez\u0151nket a TLS k\u00e9zfog\u00f3 l\u00e9trehoz\u00e1sakor:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/ac68f37f426603b2fcec467c6ee886ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnnyi! Most m\u00e1r lehet ford\u00edtani a projektet \u00e9s ellen\u0151rizni a m\u0171k\u00f6d\u00e9s\u00e9t. De miel\u0151tt futtatn\u00e1nk a tesztet, be kell \u00e1ll\u00edtani a CloudFlare fi\u00f3kot. Vagyis, hogy \u00fagy mondjam, egyszer\u0171en l\u00e9tre kell hozni egy fi\u00f3kot a CloudFlare-en, \u00e9s \u00f6ssze kell kapcsolni a saj\u00e1t domain\u00fcnket vele. Minden, a DoH-val, WebSocket-tel \u00e9s ESNI-vel kapcsolatos funkci\u00f3 alap\u00e9rtelmez\u00e9s szerint be van kapcsolva a CloudFlare-n\u00e9l. Miut\u00e1n a DNS rekordok friss\u00fclnek, ellen\u0151rizni lehet a domain m\u0171k\u00f6d\u00e9s\u00e9t az eSNI kulcsok lek\u00e9rdez\u00e9s\u00e9vel:<\/p>\n<pre><code class=\"plaintext\">dig +short txt _esni.df13tester.info <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/09d07d1f49defc3551c3720d9b67569e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHa valami hasonl\u00f3t l\u00e1tsz a domaineden, akkor minden rendben m\u0171k\u00f6dik, \u00e9s \u00e1tt\u00e9rhetsz a tesztel\u00e9sre.<\/p>\n<p>Ind\u00edtunk egy Ubuntu VPS-t, p\u00e9ld\u00e1ul a DigitalOcean-en. P.S. A mi eset\u00fcnkben az \u00fajonnan kiadott VPS provider IP-c\u00edme a RKN feketelist\u00e1in szerepelt. Sz\u00f3val ne lep\u0151dj meg, ha veled is hasonl\u00f3 t\u00f6rt\u00e9nik. Haszn\u00e1lni kellett a VPN-t, hogy hozz\u00e1f\u00e9rj\u00fcnk a VPS-hez.<\/p>\n<p>\u00c1tm\u00e1soljuk a VPS-re a m\u00e1r leford\u00edtott rsockstun-t (am\u00fagy ez a Go nyelv egyik el\u0151nye \u2013 a projektet a saj\u00e1t g\u00e9peden le tudod ford\u00edtani, \u00e9s b\u00e1rmely Linuxon elind\u00edtani, csup\u00e1n a rendszer architekt\u00far\u00e1j\u00e1t kell figyelembe venni) \u00e9s elind\u00edtjuk a szerveroldali r\u00e9szt:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/f86be92203d646832205fb611fe4d056.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAzt\u00e1n elind\u00edtjuk a kliensoldali r\u00e9szt:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/c8852d7431e8bba7eab1494989ceb46d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAhogy l\u00e1tjuk, a kliens sikeresen csatlakozott a szerverhez a CloudFlare frontend szerver\u00e9n kereszt\u00fcl WebSocket haszn\u00e1lat\u00e1val. Annak ellen\u0151rz\u00e9s\u00e9re, hogy a tunneling val\u00f3ban tunnelingk\u00e9nt m\u0171k\u00f6dik, curl lek\u00e9rdez\u00e9st v\u00e9gezhet\u00fcnk a szerveren nyitott helyi socks5-\u00f6n kereszt\u00fcl:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/87b6f42676e5e895b7f7b03da16420bb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMost n\u00e9zz\u00fck meg, mit l\u00e1t a DPI a kommunik\u00e1ci\u00f3s csatorn\u00e1ban:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/d546b676904d5b8ded7e0891ff5a98e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEls\u0151k\u00e9nt a tunneler a DoH mechanizmus seg\u00edts\u00e9g\u00e9vel a Cloudflare DNS szerver\u00e9hez fordul az eSNI kulcsok\u00e9rt a c\u00e9l domainhez (1-19. csomagok), majd a frontend szerver fel\u00e9 fordul \u00e9s TLS kapcsolatot l\u00e9tes\u00edt, mik\u00f6zben elfedi mag\u00e1t a domain alatt <noindex><a rel=\"nofollow\" href=\"http:\/\/www.google.com\">www.google.com<\/a><\/noindex> (ez az alap\u00e9rtelmezett \u00e9rt\u00e9k, amikor a kliens elind\u00edt\u00e1sa sor\u00e1n nem adunk meg hamis domaint). A saj\u00e1t hamis domain megad\u00e1s\u00e1hoz a -fronfDomain param\u00e9tert kell haszn\u00e1lni:<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/3f55e03eecd7436b1e9c2312d88b46af.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/da5e219fb5a097e6ad6d75844d7a5687.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMost egy m\u00e1sik dolog. Alap\u00e9rtelmez\u00e9s szerint a CloudFlare fi\u00f3k be\u00e1ll\u00edt\u00e1s\u00e1n\u00e1l a Flexible SSL \u00fczemm\u00f3d van be\u00e1ll\u00edtva. Ez azt jelenti, hogy a Cloudflare frontend szervereihez \u00e9rkez\u0151 HTTPS lek\u00e9rdez\u00e9seket a kliens nem titkos\u00edtott (HTTP) form\u00e1ban ir\u00e1ny\u00edtj\u00e1k a szerver\u00fcnkh\u00f6z. Ez\u00e9rt ind\u00edtottuk a tunneler szerveroldali r\u00e9sz\u00e9t non-ssl m\u00f3dban (-listen ws:0.0.0.0) \u00e9s nem (-listen wss:0.0.0.0) m\u00f3dban.<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/17f820b973f8a3f26f78a30c10bdb493.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA teljes titkos\u00edt\u00e1si m\u00f3dra val\u00f3 \u00e1t\u00e1ll\u00e1shoz ki kell v\u00e1lasztani <b>Teljes<\/b>, vagy <b>Full (strict)<\/b> ha a szerveren \u00e9rv\u00e9nyes tan\u00fas\u00edtv\u00e1ny van. A m\u00f3dv\u00e1lt\u00e1s ut\u00e1n k\u00e9pesek lesz\u00fcnk HTTPS protokollon kereszt\u00fcl fogadni a csatlakoz\u00e1sokat a CloudFlare-t\u0151l. Ne felejtsd el gener\u00e1lni a self-signed tan\u00fas\u00edtv\u00e1nyt a tunneler szerveroldal\u00e1hoz.<\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/c9a05134c9ba01e6008b4432cf59c74e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA szorgalmas olvas\u00f3 megk\u00e9rdezheti: \u201eMi van a Windows klienssel? Bizony\u00e1ra a tunneler f\u0151 alkalmaz\u00e1sa a v\u00e1llalati g\u00e9pek \u00e9s szerverek h\u00e1ts\u00f3 bek\u00f6t\u00e9s\u00e9nek fel\u00e1ll\u00edt\u00e1sa, ahol \u00e1ltal\u00e1ban mindig Windows van. Hogyan tudom leford\u00edtani a tunnelt Windows-ra, r\u00e1ad\u00e1sul egy specifikus TLS veremmel?\u201d Most bemutatunk egy \u00fajabb funkci\u00f3t, amely megmutatja, mennyire k\u00e9nyelmes a Go. K\u00f6zvetlen\u00fcl Kali-b\u00f3l leford\u00edtjuk Windows-ra, csak annyit kell hozz\u00e1tenn\u00fcnk, hogy a 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>\nVagy a 32 bites v\u00e1ltozat:<\/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\u00e9sz! \u00c9s t\u00f6bb\u00e9 nincs sz\u00fcks\u00e9g egy\u00e9b bonyodalmakra. Ez val\u00f3ban m\u0171k\u00f6dik! <\/p>\n<p><img decoding=\"async\" alt=\"Domain-fronting TLS 1.3 alap\u00fa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2019\/11\/2c60d41c115b8df32a8b53b06a45e915.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA ford\u00edt\u00f3flag-ek \u2013w \u00e9s \u2013s arra val\u00f3k, hogy elt\u00e1vol\u00edts\u00e1k a felesleges hullad\u00e9kot a v\u00e9grehajthat\u00f3 f\u00e1jlb\u00f3l, ezzel p\u00e1r megab\u00e1jttal cs\u00f6kkentve annak m\u00e9ret\u00e9t. Tov\u00e1bbi csomagol\u00e1sra UPX-t is haszn\u00e1lhatunk, hogy m\u00e9g ink\u00e1bb cs\u00f6kkents\u00fck a m\u00e9retet.<\/p>\n<h3>\u00d6sszegz\u00e9sk\u00e9nt<\/h3>\n<p>\nA cikk\u00fcnkben a Go nyelven \u00edrt tunneler p\u00e9ld\u00e1j\u00e1n kereszt\u00fcl szeml\u00e9ltett\u00fck az \u00faj domain fronting technol\u00f3gia alkalmaz\u00e1s\u00e1t, amely a TLS 1.3 protokoll egy \u00e9rdekes saj\u00e1toss\u00e1g\u00e1n alapszik. Hasonl\u00f3 m\u00f3don alkalmazhatjuk a megl\u00e9v\u0151 Go eszk\u00f6zk\u00e9szletet a CloudFlare szervereken val\u00f3 munk\u00e1ra is, p\u00e9ld\u00e1ul. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Ne0nd0g\/merlin\">Merlin<\/a><\/noindex> \u2014 egy j\u00f3l ismert C2, vagy k\u00e9nyszer\u00edthetj\u00fck a CobaltStrike Beacont az eSNI domain fronting haszn\u00e1lat\u00e1ra a Teamserver-rel val\u00f3 munkav\u00e9gz\u00e9s sor\u00e1n <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ryhanson\/ExternalC2\">K\u00fcls\u0151 C2 csatorna<\/a><\/noindex>, megval\u00f3s\u00edtva a Go nyelv\u00e9n, vagy ak\u00e1r a szabv\u00e1nyos C++-ban, a kor\u00e1bban eml\u00edtett, m\u00f3dos\u00edtott OpenSSL verzi\u00f3val, amelyr\u0151l a cikk\u00fcnk el\u0151z\u0151 r\u00e9sz\u00e9ben \u00edrtunk. Sz\u00f3val, a fant\u00e1zia hat\u00e1rtalan.<\/p>\n<p>A tunneler \u00e9s a CloudFlare p\u00e9lda konceptu\u00e1lisan van bemutatva, \u00e9s egyel\u0151re neh\u00e9z megmondani, milyen t\u00e1voli perspekt\u00edv\u00e1i vannak ennek a domain fronting t\u00edpusnak. Jelenleg az eSNI t\u00e1mogat\u00e1sa csak a CloudFlare-n\u00e9l val\u00f3sult meg, \u00e9s elvileg semmi nem akad\u00e1lyozza meg \u0151ket abban, hogy le\u00e1ll\u00edts\u00e1k ezt a fajta frontingot, \u00e9s p\u00e9ld\u00e1ul megszak\u00edts\u00e1k a TLS kapcsolatokt\u00f3l, ha az SNI \u00e9s az eSNI nem egyezik. \u00d6sszess\u00e9g\u00e9ben a j\u00f6v\u0151 majd megmutatja. De egyel\u0151re a \u201ekremlin.ru \u00e1lc\u00e1ja m\u00f6g\u00f6tt\u201d val\u00f3 munka lehet\u0151s\u00e9ge el\u00e9g cs\u00e1b\u00edt\u00f3an fest. Nem igaz?<\/p>\n<p>A friss\u00edtett alag\u00fatk\u00f3d \u00e9s a leford\u00edtott v\u00e9grehajthat\u00f3 exe f\u00e1jlok egy k\u00fcl\u00f6n \u00e1gon tal\u00e1lhat\u00f3ak a projektban a k\u00f6vetkez\u0151 c\u00edmen: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mis-team\/rsockstun\">github<\/a><\/noindex>Minden lehets\u00e9ges alag\u00fatkapcsolati probl\u00e9m\u00e1val kapcsolatban a legtiszt\u00e1bb, ha az issue r\u00e9szlegbe \u00edrunk a GitHub projektoldalon.<br \/>\n<br \/>Forr\u00e1s: <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 5.0.3 - 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).\" \/>\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\/hu\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/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\udd47TLS 1.3 alap\u00fa domainek elrejt\u00e9se. 2. r\u00e9sz | ProHoster","description":"Bevezet\u00e9s Az \u00edr\u00e1s els\u0151 r\u00e9sz\u00e9ben r\u00f6vid \u00e1ttekint\u00e9st adtunk az encrypted SNI (eSNI) mechanizmus\u00e1r\u00f3l.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/domen-fronting-na-baze-tls-1-3-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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).","og:url":"https:\/\/prohoster.info\/hu\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/53317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=53317"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/53317\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=53317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=53317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=53317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}