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šatelju, identitetu i administraciji. Zatim testirajte granice.
Kada dijelite jedan host između javne stranice i VPN-a, nasljeđujete dva pitanja, a ne jedno: što sluša gdje i tko 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šatelj odgovara i ništa o partnerskom slušatelju. Ono što slijedi jest red odluka koji sprječava da jedno pojede drugo.
Odlučite što sluša na kojoj adresi i transportu
Napišite tablicu s tri stupca, adresa, transport i port, i jedan redak 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 raspored koji implementacija dokumentira, a ne onaj koji izmišljate tijekom ispada. Ta je tablica 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 poslužiteljem, ali mehanizam je specifičan: daemon pregledava 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 uvođenju protokola, kao što je dokumentacija OpenVPN slušatelja, i slijedite raspored 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 izdana. 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 neovisnima 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šatelju, čak i kada host već poslužuje internet. Web poslužitelj 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šatelj, 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 tablicu slušatelja kad god se doda usluga. Pregled je jeftin i hvata pravilo koje je netko dodao u dva ujutro.
Odlučite što 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 tablicu 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 redovito 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 ponovno 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 restartajte svaku uslugu zasebno i ponovite drugi test, jer restart je trenutak kada raspored zajedničkog slušatelja gubi svoj redoslijed. Ako VPN starta prije web poslužitelja koji posjeduje zajednički port, mehanizam dijeljenja se možda nikada neće priključiti, a simptom je tunel koji je radio jučer. 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 tablicu slušatelja s datumom. Host koji prođe sve tri provjere nakon restarta jest host koji možete predati nekome bez brifinga.