OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.
Zamčeno
petrmvd
Příspěvky: 8
Registrován: čtv 18. črc 2013 14:24:26

OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Příspěvek od petrmvd »

Zdravim, chtel bych provozovat minimalisticky OpenVPN server, a rad bych se obesel bez nutnosti mit samostatnou IP adresu. Zda se, ze by bylo mozne pouzit postup uvedeny na http://openvpn.net/index.php/open-sourc ... .html#http s vyuzitim Vasi reverzni proxy. Chtel bych se zeptat:
  • Mate v principu neco proti takovemu vyuziti proxy?
  • Bylo by mozne do proxy doplnit podporu pro CONNECT (zrejme jen na pozadani pro konkretni IP/port, kvuli bezpecnosti)?
Podpora pro CONNECT by mohla byt samozrejme vyuzitelna i pro jine podobne ucely.

Dekuji
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Příspěvek od 4smart.cz »

Dobrý den.

z technického hlediska je to věc zajímavá. Předpokládám, že tím, že se každý TCP packet příslušející OpenVPN zabalí do HTTP, nebude to s rychlostí/odezvou nijak valné. Abych Vám odpověděl na rovinu - nemám proti tomuto řešení nic, ale,

* chtěl bych věnovat určité kvantum času podrobnému prostudování této věci + možných bezpečnostních hrozeb.
* zvážit zavedení firewallu a filtrování tohoto provozu jen pro povolené uživatele
* v neposlední řadě samotná existence rev. http proxy na 4smart.cz čeká na zakomponování do www admin. rozhraní - to má tak trochu větší prioritu.

Proto bych si nyní dovolil (nyní zejména z časových důvodů) řešení tohoto úkolu dočasně zmrazit na pozdější dobu. V tuto chvíli můžete experimentálně vyzkoušet nginx s podporou CONNECT a podělit se zde případně o svoje postřehy co se zejména odezvy a rychlosti přenosu týká. Porovnání s běžnou openvpn konfigurací bude velmi vhodné. Za případné otestování + popis dosažených výsledků bychom mohli uvolnit kredit do cca 100Kč jako odměnu na Váš 4smart.cz účet. Později budu mít alespoň na čem stavět.

J.M.
petrmvd
Příspěvky: 8
Registrován: čtv 18. črc 2013 14:24:26

Re: OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Příspěvek od petrmvd »

Pane administrátore,

děkuji za zprávu. Zkoumal jsem mezitím, jaké jsou možnosti. Jak to vypadá, Nginx podporu pro HTTP CONNECT nemá a nikde jsem nenašel, že by byl nějaký podobný modul, nebo se něco takového plánovalo.

Napadla mě jiná možnost, a to udělat reverzní SOCKS proxy. Zkusil jsem na svůj VS dát Dante SOCKS server a udělat minimální konfiguraci podle http://www.inet.no/dante/doc/1.3.x/config/server.html, jen s tím, že klienti se připojují z venku a cíl spojení je dovnitř. Jde mi připojit se k OpenVPN jak v TCP tak UDP režimu. Řekl bych, že lze Dante nastavit tak, aby bylo takové použití bezpečné, tedy především:
  • Umožnit klientům zvenku připojovat se pouze do vnitřní sítě (aby nešla proxy zneužít jako anonymizér).
  • Povolit připojení pouze k těm serverům a portům, kde si to majitel vyžádá, aby uživatelé bez veřejné IP adresy zůstali chráněni.
  • Omezit klientům akce, které mohou přes SOCKS provádět, zřejmě pouze na connect, možná ještě udpassociate.
S pozdravem,
P.
centrino
Příspěvky: 6
Registrován: pon 20. kvě 2013 9:36:46
Kontaktovat uživatele:

Re: OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Příspěvek od centrino »

Dobry den,
treba jsem asi neco nepochopil, ale nestacilo by na tohle vytvoreni virtualu jen s vnitrni adresou (neverejnou) a sluzbu publikovat pomoci mapovani portu?

Tj port OpenVPN by misto puvodniho portu mely vsichni klienti nastaveno na to, co system prideli prostupu.

Tuto konfiguraci jsem nezkousel ale myslim si, ze by s tim nemel byt velky problem. Hlavne pokud se VPN bude provozovat s protokolem TCP (nevim jak dobre by NATem proslo UDP).

Hezky den preje
David Kunes
petrmvd
Příspěvky: 8
Registrován: čtv 18. črc 2013 14:24:26

Re: OpenVPN bez vnejsi IP adresy pomoci reverzi HTTP proxy

Příspěvek od petrmvd »

Mate pravdu, to je jednodussi reseni. Vyuziti nejakeho tunelu (at uz SOCKS nebo HTTP CONNECT) ma tu vyhodu, ze nedochazi ke kolizim portu. Kazdy virtualni stroj muze pouzivat cisla portu nezavisle na jinych. Lze tedy udelat i univerzalni tunel, kdy jsou povoleny pozadavky na spojeni na vsechny porty urciteho ciloveho stroje, a zavisi pak uz jen na tom, jake porty ma otevrene.
Zamčeno