Jedan stroj pokreće web-stranicu i OpenVPN poslužitelj, a iskušenje je usmjeriti jedno ime hosta na njega i pustiti narančasti oblak da posloži promet. Proxy posloži HTTP i HTTPS. Ne posloži OpenVPN sesiju, bez obzira na koji port ta sesija ide. Dva imena, jedno izravno i jedno proksirano, ne koštaju ništa i uklanjaju cijelu klasu zabune.

Dva imena, dva prijenosa

Dajte web-stranici proksiran zapis kako bi njezin HTTP i HTTPS promet prolazio kroz Cloudflare. Dajte VPN-u zapis samo s DNS-om koji se razrješava ravno na javni VPN ulaz, i pustite klijenta da koristi UDP ili TCP port za koji je konfiguriran.

Oba imena mogu završiti na istom izvornom stroju. Razlika je u tome što se događa između klijenta i tog stroja, i ta je razlika smisao podjele.

Cloudflareov pregled mrežnih portova navodi koje portove prihvaća obični web proxy. Taj se popis odnosi na HTTP i HTTPS na tim portovima, a ne na proizvoljne protokole koji slučajno dijele isti broj.

Port nije protokol

Premještanje OpenVPN na TCP 443 ne pretvara ga u HTTPS. Proxy i dalje očekuje HTTP zahtjev na početku veze, a OpenVPN klijent umjesto toga šalje binarnu kontrolnu poruku. Veza pada na način koji izgleda kao mrežna blokada jer ništa korisno ne stiže do zapisa.

Ako je zahtjev doista staviti Cloudflareov proizvod u VPN putanju podataka, procijenite onaj koji dokumentira podršku za protokol koji vam treba. Ne pretpostavljajte da je narančasti oblak opći TCP ili UDP tunel, jer je on obrnuti proxy za web promet s određenim zadatkom.

Zapis samo s DNS-om je dosadan odgovor koji radi, i prvi je kojemu treba posegnuti.

Jedan stroj i dalje treba dva slušača

Odvojena imena ne dopuštaju dvama procesima da istodobno vežu istu adresu, port i prijenos. Ako web poslužitelj već drži TCP 443 na svim adresama, OpenVPN instanca ga ne može također uzeti bez namjernog dogovora.

Vežite VPN slušač na drugi port, ili na drugu adresu, ili stavite naprijed dokumentirani multiplekser i prihvatite operativni trošak koji s tim dolazi. Svaki od tih izbora trebao bi biti vidljiv u pravilima vatrozida, jer slušač koji nitko nije dokumentirao je onaj koji se propusti tijekom incidenta. Upišite odabrano vezivanje u isti runbook koji opisuje tunel. Tada ga sljedeća osoba neće ponovno otkriti u dva sata ujutro.

Certifikati slijede vezu koju štite

TLS veza preglednika prema Cloudflareu i veza Cloudflarea prema vašem izvoru dva su odvojena odnosa s dva odvojena certifikata. Preglednik vidi rubni certifikat. Izvor predstavlja svoj certifikat Cloudflareu, a certifikat Cloudflare Origin CA namijenjen je upravo tom drugom odnosu.

Taj certifikat izvora Cloudflare prihvaća u načinu Full (strict) i on nije općeprihvaćen certifikat preglednika. Ako netko posjeti ime hosta samo s DNS-om izravno i dobije upozorenje, to je očekivana posljedica promijenjene putanje povjerenja, a ne dokaz da je šifriranje prestalo.

Web-stranica kojoj se pristupa izravno stoga treba lanac certifikata kojemu njezini preglednici vjeruju. To može postojati uz proksiranu stranicu čiji izvor uopće nije predviđen za posjet.

OpenVPN nosi vlastiti identitet poslužitelja i autentifikaciju klijenta, sa svojim certifikacijskim tijelom i vlastitom zaštitom kontrolnog kanala. Lokot na web-stranici ne osigurava ništa od toga, i dva procesa osiguravanja trebaju ostati odvojena.

Izloženost slijedi ime

Zapis VPN samo s DNS-om objavljuje adresu na koju pokazuje. Ako je ta adresa i web-izvor, izvor nije skriven, a opisivati ga kao skriven zato što je drugo ime proksirano pogreška je koja traje dok ga netko ne skenira.

Odlučite koji web zahtjevi smiju izravno dosegnuti izvor i to provedite na izvoru, a zatim dopustite VPN slušaču pod njegovim uvjetima. Stranice za upravljanje, preuzimanja profila i slušač podataka mogu imati tri različita zahtjeva za izloženost čak i kada jedan paket pruža sva tri.

Držite generirane poveznice na javnom web imenu i HTTPS shemi, a klijentske profile na VPN imenu sa stvarnim protokolom i portom. Nijedna usluga ne bi trebala ovisiti o prebacivanju proxy postavke druge tijekom normalnog rada.

Redoslijed rada: proksirano ime za stranicu, ime samo s DNS-om za VPN, odvojeni slušači, certifikat po odnosu, pa jedan test koji dokazuje da svako ime doseže samo uslugu koju treba.

Povezani članci