Miksi Cloudflaren välityspalvelin ei voi kuljettaa OpenVPN:ää yhdellä nimellä
Välitetty tietue hoitaa HTTP:n ja HTTPS:n. Erota nimet, pidä kaksi kuuntelijaa ja anna jokaiselle yhteydelle sertifikaatti, johon sen vastapuoli todella luottaa.
Yksi kone pyörittää verkkosivustoa ja OpenVPN-palvelinta, ja houkutus on osoittaa siihen yksi isäntänimi ja antaa oranssin pilven hoitaa liikenne. Välityspalvelin hoitaa HTTP:n ja HTTPS:n. Se ei hoida OpenVPN-istuntoa, käytti istunto mitä porttia tahansa. Kaksi nimeä, yksi suora ja yksi välitetty, ei maksa mitään ja poistaa koko sekaannusten luokan.
Kaksi nimeä, kaksi kuljetusta
Anna verkkosivustolle välitetty tietue, jotta sen HTTP- ja HTTPS-liikenne kulkee Cloudflaren kautta. Anna VPN:lle vain DNS -tietue, joka ratkeaa suoraan julkiseen VPN-sisäänkäyntiin, ja anna asiakkaan käyttää sitä UDP- tai TCP-porttia, johon se on määritetty.
Molemmat nimet voivat päätyä samalle lähdekoneelle. Ero on siinä, mitä asiakkaan ja tuon koneen välillä tapahtuu, ja juuri se ero on jaon tarkoitus.
Cloudflaren verkkoporttien viite luettelee, mitkä portit tavallinen verkon välityspalvelin hyväksyy. Luettelo koskee HTTP:tä ja HTTPS:ää noilla porteilla, ei mielivaltaisia protokollia, jotka sattuvat jakamaan numeron.
Portti ei ole protokolla
OpenVPN:n siirtäminen TCP 443:een ei tee siitä HTTPS:ää. Välityspalvelin odottaa yhä HTTP-pyyntöä yhteyden alussa, ja OpenVPN-asiakas lähettää sen sijaan binäärin ohjausviestin. Yhteys epäonnistuu tavalla, joka näyttää verkkoblokilta, koska mitään hyödyllistä ei saavuta lokia.
Jos vaatimus on todella sijoittaa Cloudflare-tuote VPN:n datapolulle, arvioi sellaista, joka dokumentoi tarvitsemasi protokollan tuen. Älä oleta, että oranssi pilvi on yleinen TCP- tai UDP-tunneli, sillä se on käänteinen välityspalvelin verkkoliikenteelle, jolla on tietty tehtävä.
Vain DNS -tietue on tylsä vastaus, joka toimii, ja siihen kannattaa tarttua ensin.
Yksi kone tarvitsee silti kaksi kuuntelijaa
Erotetut nimet eivät salli kahden prosessin varata samaa osoitetta, porttia ja kuljetusta samanaikaisesti. Jos verkkopalvelin pitää jo TCP 443:a kaikilla osoitteilla, OpenVPN-instanssi ei voi ottaa sitä myös ilman tarkoituksellista järjestelyä.
Sido VPN-kuuntelija toiseen porttiin tai toiseen osoitteeseen, tai aseta eteen dokumentoitu multiplekseri ja hyväksy siitä seuraava käyttökustannus. Jokaisen näistä valinnoista pitäisi näkyä palomuurin säännöissä, sillä kuuntelija, jota kukaan ei dokumentoinut, on se, joka jää huomaamatta häiriön aikana. Kirjoita valittu sidonta samaan runbookiin, joka kuvaa tunnelin. Silloin seuraava ihminen ei löydä sitä uudelleen kahdelta aamuyöllä.
Sertifikaatit seuraavat yhteyttä, jota ne suojaavat
Selaimen TLS-yhteys Cloudflareen ja Cloudflaren yhteys lähteeseesi ovat kaksi erillistä suhdetta ja kaksi erillistä sertifikaattia. Selain näkee reunasertifikaatin. Lähde esittää Cloudflarelle oman sertifikaattinsa, ja Cloudflare Origin CA -sertifikaatti on tarkoitettu juuri tuota toista suhdetta varten.
Cloudflare luottaa tuohon lähdesertifikaattiin Full (strict) -tilassa, eikä se ole yleisesti luotettu selainsertifikaatti. Jos joku vierailee vain DNS -isäntänimessä suoraan ja saa varoituksen, se on odotettu seuraus muuttuneesta luottamuspolusta, ei todiste siitä, että salaus olisi loppunut.
Suoraan vierailtu verkkosivusto tarvitsee siksi sertifikaattiketjun, johon sen selaimet luottavat. Se voi esiintyä rinnakkain välitetyn sivuston kanssa, jonka lähdettä ei ole tarkoitettu vierailtavaksi lainkaan.
OpenVPN kantaa oman palvelinidentiteettinsä ja asiakastodennuksensa, omalla varmentajallaan ja omalla ohjauskanavan suojauksellaan. Sivuston lukko ei tarjoa mitään siitä, ja kahden valmistelun prosessin pitäisi pysyä erillään.
Paljastuminen seuraa nimeä
Vain DNS -VPN-tietue julkaisee osoitteen, johon se osoittaa. Jos tuo osoite on myös verkkolähde, lähde ei ole piilossa, ja sen kuvaaminen piilotetuksi siksi, että toinen nimi on välitetty, on virhe, joka säilyy kunnes joku skannaa sen.
Päätä, mitkä verkkopyynnöt voivat saavuttaa lähteen suoraan, ja valvo sitä lähteessä, ja salli sitten VPN-kuuntelija omilla ehdoillaan. Hallintasivut, profiililataukset ja datakuuntelija voivat vaatia kolme erilaista paljastumisvaatimusta, vaikka yksi paketti tarjoaisi kaikki kolme.
Pidä luodut linkit julkisella verkkonimellä ja HTTPS-kaaviolla ja asiakasprofiilit VPN-nimellä oikealla protokollalla ja portilla. Kumpikaan palvelu ei saisi normaalikäytössä riippua toisen välitysasetuksen kääntämisestä.
Työjärjestys: välitetty nimi sivustolle, vain DNS -nimi VPN:lle, erilliset kuuntelijat, sertifikaatti suhdetta kohden, ja sitten yksi testi, joka todistaa, että jokainen nimi saavuttaa vain sen palvelun, jonka pitää.