Pokretanje VPN-a i web stranice na jednom hostu bez sukoba
Jedan host može posluživati stranicu i prekidati VPN partnere, ali samo uz izričitu odluku o slušaču, identitetu i administraciji. Zatim testirajte granice.
Kada dijelite jedan host između javne stranice i VPN-a, nasljeđujete dva pitanja, a ne jedno: šta sluša gdje i ko koga autentificira. Odgovorite na oba prije nego što dotaknete konfiguracijsku datoteku, jer su zadane vrijednosti pogrešne na načine koji se pojavljuju samo pod opterećenjem. Stranica koja se učita preko HTTPS-a dokazuje da web slušač odgovara i ništa o partnerskom slušaču. Ono što slijedi jest red odluka koji sprječava da jedno pojede drugo.
Odlučite šta sluša na kojoj adresi i transportu
Napišite tabelu s tri kolone, adresa, transport i port, i jedan red po usluzi, uključujući administrativno sučelje. TCP 443 za stranicu i UDP 443 za VPN nisu sukob čak i kada se brojevi podudaraju, jer se transport razlikuje. Dvije usluge na istoj adresi, transportu i portu trebaju aranžman koji implementacija dokumentira, a ne onaj koji izmišljate tokom ispada. Ta tabela je i artefakt koji sljedeću promjenu čini preglednom.
Odvojene adrese ili drugi port čine vlasništvo vidljivim u snimci paketa, što vrijedi više od elegancije. Neke VPN implementacije podržavaju dijeljenje porta s web serverom, ali mehanizam je specifičan: daemon pregleda prve bajtove i prosljeđuje promet koji nije njegov protokol. Opći obrnuti proxy za HTTP to ne radi, a prepisivanje zaglavlja neće ga naučiti da razumije rukovanje šifriranim tunelom. Pročitajte bilješke o implementaciji protokola, kao što je dokumentacija OpenVPN slušača, i slijedite aranžman koji opisuje.
Odlučite koji identitet pripada kojoj usluzi
Certifikat preglednika i VPN partnerska vjerodajnica različiti su objekti s različitim modelima povjerenja. Web certifikat validira javno tijelo i imenuje ime hosta, dok partnerska vjerodajnica autentificira uređaj ili korisnika prema koncentratoru i može biti samopotpisana ili interno izdata. Ponovno korištenje jednog kao drugog radi u uskim slučajevima i rijetko vrijedi tu sprega. Isključivanje provjere kako bi zajednički certifikat odgovarao nije plan razdvajanja; ono uklanja provjeru koja je vjerodajnici davala smisao.
Držite dva spremišta neovisnim i zapišite koje tijelo izdaje svako. Kada se jedno rotira, drugo ne bi trebalo trebati promjenu, a ako treba, sprega je ono što treba popraviti.
Odlučite gdje živi administracija
Administrativno sučelje VPN-a pripada upravljačkoj putanji, nikada javnom slušaču, čak i kada host već poslužuje internet. Web server na 443 ne implicira da konzola za partnere treba biti dostupna odasvud, a konzola je obično meta veće vrijednosti. Vežite je na loopback ili upravljačku adresu, ograničite je po izvoru i držite putanju oporavka koja ne ovisi o tome da je tunel podignut. Putanja oporavka je važna jer je uobičajeni kvar zaključavanje sebe van dok popravljate zaključavanje.
Pišite uska pravila vatrozida, po jedno za svaki slušač, imenujući sučelje ili servisni račun gdje to platforma podržava. Široka pravila koja otvaraju host jer stranici treba 443 jesu način na koji administrativna sučelja završe u indeksima skenera.
Pregledajte ta pravila uz tabelu slušača kad god se doda usluga. Pregled je jeftin i hvata pravilo koje je neko dodao u dva ujutro.
Odlučite šta raditi kada se njih dvoje spore
Dijeljenje hosta znači dijeljenje procesora, memorije, datotečnih deskriptora i propusnosti, a sporni resurs nije uvijek očigledan. Zauzeta stranica može napuniti tabelu veza, iscrpiti radne slotove ili gurnuti red diska dovoljno jako da VPN evidentiranje zapne. Gledajte potrošnju po usluzi, a ne ukupne vrijednosti hosta, jer prosjek skriva koji proces gladuje. Ako jedno opterećenje redovno ometa drugo, izolirajte ih umjesto da podešavate oko simptoma.
Izolacija može biti kontejner, cgroup ograničenje, zaseban red ili drugi host, a pravi izbor ovisi o tome koji se resurs spori. Promjena porta ovdje ništa ne popravlja, a veća instanca ne popravlja ništa ako je ograničenje jedan zasićen red. Odlučite mjerenjem: imenujte resurs, opteretite ga, zatim odaberite najmanju izolaciju koja uklanja sporu.
Provjerite izvana, pa ponovo nakon restarta
Testirajte s uređaja koji nije na mreži samog hosta: učitajte stranicu, podignite tunel i dosegnite jedan resurs koji ga zahtijeva. Zatim restartujte svaku uslugu zasebno i ponovite drugi test, jer restart je trenutak kada aranžman zajedničkog slušača gubi svoj redoslijed. Ako VPN startuje prije web servera koji posjeduje zajednički port, mehanizam dijeljenja se možda nikada neće priključiti, a simptom je tunel koji je radio juče. Učinite zavisnost izričitom u redoslijedu jedinica.
Zatim potvrdite granice: stranica odgovara na svom portu, VPN odgovara na svom, a administrativno sučelje odgovara samo s upravljačke putanje. Zapišite rezultat uz tabelu slušača s datumom. Host koji prođe sve tri provjere nakon restarta jest host koji možete predati nekome bez brifinga.