Funkčnost myQNAPcloud(Link) jako plného tunelu na základě TLS
Napsal: 24 led 2022, 15:22
Dobrý den, mám poměrně odborný dotaz specifické využití funkce na myQNAPcloud / Link. Odpověď snad bude stručnější, ale dotaz budu muset celkem obšírně vysvětlit a je k němu nutná znalost HTTP, TLS, SNI . Klíčový fakt je, že nemám veřejnou IP adresu (jinak bych se na něj připojil přímo nebo Jistě by to šlo řešit nějakou VPS , na kterou by NAS za NATem udržoval spojení, VPS by forwardovala porty nebo forwardovala celý IP traffic NAS ). Taky jsem si myQNAPCloud (a tedy ani Link) neaktivoval (nikam jsem ještě neopisoval kód na stěně NASu Cloud Key a proto mi to na všech záložkách píše you need validad sign in using qnap id) a neznám na vlastní kůži co tyto funkce přesně nabízí, umí a dělají. (Mám takové zevrubné tušení z produktových článků nebo recenzí že Link právě pomůže lidem bez veřejné IP adresy, že dělá+udržuje tunel z NAS na veřejné servery a myQNAPcloud jako taková funkce asi jen dělá DDNS, taková je moje představa)
Pokud znáte službu ngrok.io, tak asi budete vědět na co se ptám. Jak jsem psal, celé to pramení z absence veřejné adresy. To na co se ptám, na jaké úrovni umí myqnapCloudLink tunelovat traffic k NASu. Klíčová funkcionalita (na straně serverů qnapCloud Link), aby toto mohlo fungovat, je SNI alias rozlišování více "virtuálních hostů"(domén) jak to známe z HTTP serveru Apache, kde jeden https server může obsluhovat více domén Na základě Hlavičky host, ale v šifrovaném spojení na základě SNI- jelikož HTTP je skryto a šifrováno.)
Obdobně, serverů myQNAPcloud Link je relativně pár a přesto mohou obsluhovat více NASů a to na základě Multiplexingu TLS přes SNI. Proto je klíčové, aby servery věděly, ke kterému NASu patří jaká doména (xxx.myqnapcloud.com)
takže ty otázky
(a opravdu jsem si je promýšlel abych se neptal na něco co zjevně je nesmyslné.)
1. Umožňuje myQNAP cloud Link jen k vybraným funkcím NAS (File station) a tedy i administračnímu rozhraní, nebo i k vybraným portům nebo dokonce přímo ke všem portům NAS? Logicky to může fungovat jen na těch protokolech, které používají TLS vrstvu - protože podle SNI domény v hlavičce TLS pozná, kam TLS odklonit-přesměrovat. Rozdíl v označení funkcním/portům je zásadní nepsal jsem to jen tak. Pokud mi poběží https server na portu 8999 tak jestli bude dostupný i přes Link)
2. Funguje to i na vlastní doméně ( nastavím DNS: janalfonsryba.cz -> CNAME nas7482ryba.myqnapcloud.com) ? Logicky by se v konfiguraci serverů/služby Link přidat aby akceptoval i doménu janalfonsryba.cz, jinak by nevěděl, komu doménu přiřadit. (Doména se tam vyskytne hned dvakrát, prvně v SNI, podruhé v HTTP Host: v případě provozu HTTP)
3. Jak je to s certifikáty? Funguje to end-to-end? Tím myslím, že TCP stream od někoho z internetu bez změny (nebo lépe řečeno bez dešifrování a opakovaného zašifrovanání) půjde přes servery Link na můj NAS. ož teoreticky je mozné, protože to pozná dle SNI. A ten člověk uvidí ten samý certifikát, který já sám jsem si na NASU vytvořil - klidně self-signed?
A nebo qnap Link servery stream dešifrují (tím pádem návštěvník uvidí nějaký jiný certifikát - něco jako QNAP Systems Inc, ) a zabezepčeným tunelem pošle na můj NAS( ten tunel iniciuje můj NAS,protože je za NATem) .
4. Bude fungovat například http a https server na nasu? Jaký certifikát se ukáže návštěvníkovi? Pozor, dokonce lze vystavit různé certifikáty na různých portech!
5. Bonusová otázka: může být myQNAPCloud (Link) registrováno na víc domén?
Teoreticky tomu nic nebrání :
https://janalfonsryba.cz:8980 půjde na servery myqnap cloud Link (díky cname a například DNS záznamu *.myqnapcloud.com nebo nas7842ryba.myqnapcloud.com A 1.2.3.4 A 1.3.3.8 .... )
TLS demultiplexer na serverech pozná že jde o TLS spojení pro klienta nas7842:ryba.myqnapcloud.com a podle odpovědi na otázku 3 přepošle stream bez úprav rovnou na můj NAS(což jde, jelikož NAS tam udržuje spojení, když je za NATem) a nebo stream dešifruje a znova jinak zašifrovaný pošle zase na muj NAS.
Otázky převedeny do praktické roviny:
1 .
Je možné https://nas7482ryba.myqnapcloud.com (bez uvedeného portu- implicitně 443) ... Otevře se administrační rozhraní nebo http(s) server nebo speciální obrazovka myQNAPcloud?
Nebo Server Link funguje "hloupě", že doménu nijak nezkoumá a nerozlišuje a ukazuje standardizovaný dialog jako pro přihlášení do NASu?
Co bude na https://nas7482ryba.myqnapcloud.com:8443 a https://nas7482ryba.myqnapcloud.com:67000, když v nasu budu mít nastaveno konfig.rozhraní na portu 8443 a http server na 67000?
2.
https://mojedomena123.cz --- je možné (v konfiguraci myqnapCloud/(Link)) říct serverům, že tato doména je spjata s mým NAS?
3. Při přístupu na https://mojedomena123.cz nebo https://nas7482ryba.myqnapcloud.com:8443 se ukáže ten certifikát Let's encrypt, který jsem si vygeneroval nebo nahrál vlastní a nebo se tam ukáže jiný certifikát?
rozhodně Nečekám, že rozhodně všechno půjde, je to ostatně i celkem riskantní pro servery qnapu, že budou dělat proxy pro všechno , ačkoliv pořád jen pro množinu klientů QNAP. Přesto bych rád věděl, co všechno ten myqnapcloud + Link umí z těchto požadovaných funkcí. Bod 3(certifikáty) je dokonce hodně odvážný.
Pokud znáte službu ngrok.io, tak asi budete vědět na co se ptám. Jak jsem psal, celé to pramení z absence veřejné adresy. To na co se ptám, na jaké úrovni umí myqnapCloudLink tunelovat traffic k NASu. Klíčová funkcionalita (na straně serverů qnapCloud Link), aby toto mohlo fungovat, je SNI alias rozlišování více "virtuálních hostů"(domén) jak to známe z HTTP serveru Apache, kde jeden https server může obsluhovat více domén Na základě Hlavičky host, ale v šifrovaném spojení na základě SNI- jelikož HTTP je skryto a šifrováno.)
Obdobně, serverů myQNAPcloud Link je relativně pár a přesto mohou obsluhovat více NASů a to na základě Multiplexingu TLS přes SNI. Proto je klíčové, aby servery věděly, ke kterému NASu patří jaká doména (xxx.myqnapcloud.com)
takže ty otázky
(a opravdu jsem si je promýšlel abych se neptal na něco co zjevně je nesmyslné.)
1. Umožňuje myQNAP cloud Link jen k vybraným funkcím NAS (File station) a tedy i administračnímu rozhraní, nebo i k vybraným portům nebo dokonce přímo ke všem portům NAS? Logicky to může fungovat jen na těch protokolech, které používají TLS vrstvu - protože podle SNI domény v hlavičce TLS pozná, kam TLS odklonit-přesměrovat. Rozdíl v označení funkcním/portům je zásadní nepsal jsem to jen tak. Pokud mi poběží https server na portu 8999 tak jestli bude dostupný i přes Link)
2. Funguje to i na vlastní doméně ( nastavím DNS: janalfonsryba.cz -> CNAME nas7482ryba.myqnapcloud.com) ? Logicky by se v konfiguraci serverů/služby Link přidat aby akceptoval i doménu janalfonsryba.cz, jinak by nevěděl, komu doménu přiřadit. (Doména se tam vyskytne hned dvakrát, prvně v SNI, podruhé v HTTP Host: v případě provozu HTTP)
3. Jak je to s certifikáty? Funguje to end-to-end? Tím myslím, že TCP stream od někoho z internetu bez změny (nebo lépe řečeno bez dešifrování a opakovaného zašifrovanání) půjde přes servery Link na můj NAS. ož teoreticky je mozné, protože to pozná dle SNI. A ten člověk uvidí ten samý certifikát, který já sám jsem si na NASU vytvořil - klidně self-signed?
A nebo qnap Link servery stream dešifrují (tím pádem návštěvník uvidí nějaký jiný certifikát - něco jako QNAP Systems Inc, ) a zabezepčeným tunelem pošle na můj NAS( ten tunel iniciuje můj NAS,protože je za NATem) .
4. Bude fungovat například http a https server na nasu? Jaký certifikát se ukáže návštěvníkovi? Pozor, dokonce lze vystavit různé certifikáty na různých portech!
5. Bonusová otázka: může být myQNAPCloud (Link) registrováno na víc domén?
Teoreticky tomu nic nebrání :
https://janalfonsryba.cz:8980 půjde na servery myqnap cloud Link (díky cname a například DNS záznamu *.myqnapcloud.com nebo nas7842ryba.myqnapcloud.com A 1.2.3.4 A 1.3.3.8 .... )
TLS demultiplexer na serverech pozná že jde o TLS spojení pro klienta nas7842:ryba.myqnapcloud.com a podle odpovědi na otázku 3 přepošle stream bez úprav rovnou na můj NAS(což jde, jelikož NAS tam udržuje spojení, když je za NATem) a nebo stream dešifruje a znova jinak zašifrovaný pošle zase na muj NAS.
Otázky převedeny do praktické roviny:
1 .
Je možné https://nas7482ryba.myqnapcloud.com (bez uvedeného portu- implicitně 443) ... Otevře se administrační rozhraní nebo http(s) server nebo speciální obrazovka myQNAPcloud?
Nebo Server Link funguje "hloupě", že doménu nijak nezkoumá a nerozlišuje a ukazuje standardizovaný dialog jako pro přihlášení do NASu?
Co bude na https://nas7482ryba.myqnapcloud.com:8443 a https://nas7482ryba.myqnapcloud.com:67000, když v nasu budu mít nastaveno konfig.rozhraní na portu 8443 a http server na 67000?
2.
https://mojedomena123.cz --- je možné (v konfiguraci myqnapCloud/(Link)) říct serverům, že tato doména je spjata s mým NAS?
3. Při přístupu na https://mojedomena123.cz nebo https://nas7482ryba.myqnapcloud.com:8443 se ukáže ten certifikát Let's encrypt, který jsem si vygeneroval nebo nahrál vlastní a nebo se tam ukáže jiný certifikát?
rozhodně Nečekám, že rozhodně všechno půjde, je to ostatně i celkem riskantní pro servery qnapu, že budou dělat proxy pro všechno , ačkoliv pořád jen pro množinu klientů QNAP. Přesto bych rád věděl, co všechno ten myqnapcloud + Link umí z těchto požadovaných funkcí. Bod 3(certifikáty) je dokonce hodně odvážný.