Prevádzka VPN a webu na jednom hoste bez kolízií
Jeden host môže obsluhovať web a ukončovať VPN peery, ale len s výslovným rozhodnutím o poslucháčovi, identite a správe. Potom otestujte hranice.
Keď zdieľate jeden host medzi verejným webom a VPN, dedíte dve otázky, nie jednu: čo kde počúva a kto koho autentizuje. Odpovedzte na obe skôr, než sa dotknete konfiguračného súboru, pretože predvolené hodnoty sú nesprávne spôsobmi, ktoré sa prejavia až pod záťažou. Stránka, ktorá sa načíta cez HTTPS, dokazuje, že webový poslucháč odpovedá, a nič o partnerskom poslucháčovi. Nasleduje poradie rozhodnutí, ktoré bráni tomu, aby sa navzájom zožrali.
Rozhodnite, čo počúva na ktorej adrese a transporte
Napíšte tabuľku s tromi stĺpcami, adresa, transport a port, a jeden riadok na službu, vrátane administratívneho rozhrania. TCP 443 pre web a UDP 443 pre VPN nie sú konflikt, aj keď sa čísla zhodujú, pretože transport je iný. Dve služby na tej istej adrese, transporte a porte potrebujú usporiadanie, ktoré implementácia dokumentuje, nie to, ktoré vymyslíte počas výpadku. Tá tabuľka je aj artefakt, ktorý robí ďalšiu zmenu preskúmateľnou.
Oddelené adresy alebo druhý port robia vlastníctvo viditeľným v zachytení paketov, čo má väčšiu cenu než elegancia. Niektoré implementácie VPN podporujú zdieľanie portu s webovým serverom, ale mechanizmus je špecifický: démon skontroluje prvé bajty a preposiela prevádzku, ktorá nie je jeho protokolom. Všeobecný reverzný proxy pre HTTP to nerobí a prepisovanie hlavičiek ho nenaučí rozumieť podaniu ruky šifrovaného tunela. Prečítajte si poznámky k nasadeniu protokolu, napríklad dokumentáciu poslucháča OpenVPN, a riaďte sa usporiadaním, ktoré opisuje.
Rozhodnite, ktorá identita patrí ktorej službe
Certifikát prehliadača a prihlasovací údaj VPN partnera sú rôzne objekty s rôznymi modelmi dôvery. Webový certifikát overuje verejná autorita a pomenúva názov hostu, zatiaľ čo partnerský údaj autentizuje zariadenie alebo používateľa voči koncentrátoru a môže byť podpísaný sám sebou alebo vydaný interne. Opätovné použitie jedného ako druhého funguje v úzkych prípadoch a málokedy stojí za to prepojenie. Vypnutie overovania, aby sa spoločný certifikát zmestil, nie je plán oddelenia; odstraňuje kontrolu, ktorá údaju dávala zmysel.
Udržujte oba trezory nezávislé a zapíšte, ktorá autorita každý vydáva. Keď sa jeden obmení, druhý by nemal potrebovať zmenu, a ak potrebuje, prepojenie je to, čo treba opraviť.
Rozhodnite, kde žije správa
Administratívne rozhranie VPN patrí na cestu správy, nikdy na verejného poslucháča, aj keď host už obsluhuje internet. Webový server na 443 neznamená, že konzola partnerov má byť dostupná odvšadiaľ, a konzola je zvyčajne cieľom s vyššou hodnotou. Pripojte ju k loopback alebo správcovskej adrese, obmedzte ju podľa zdroja a udržujte cestu obnovy, ktorá nezávisí od toho, či je tunel hore. Cesta obnovy je dôležitá, pretože bežná porucha je zamknúť sa von, keď opravujete zámok.
Píšte úzke pravidlá firewallu, jedno na poslucháča, a pomenujte rozhranie alebo servisný účet, kde to platforma podporuje. Široké pravidlá, ktoré otvárajú host, pretože web potrebuje 443, sú spôsob, akým sa administratívne rozhrania dostanú do indexov skenerov.
Tieto pravidlá revidujte voči tabuľke poslucháčov vždy, keď sa pridá služba. Revízia je lacná a zachytí pravidlo, ktoré niekto pridal o druhej ráno.
Rozhodnite, čo robiť, keď sa obe hádajú
Zdieľanie hostu znamená zdieľanie procesora, pamäte, deskriptorov súborov a šírky pásma, a sporný prostriedok nie je vždy ten zrejmý. Zaneprázdnený web môže zaplniť tabuľku spojení, vyčerpať pracovné sloty alebo zatlačiť front disku natoľko, že sa protokolovanie VPN zasekne. Sledujte využitie po službách, nie súčty hostu, pretože priemer skrýva, ktorý proces hladuje. Ak jedna záťaž opakovane narúša druhú, izolujte ich namiesto ladenia okolo príznaku.
Izoláciou môže byť kontajner, limit cgroup, samostatný front alebo druhý host a správna voľba závisí od toho, ktorý prostriedok sa spori. Zmena portu tu nič neopraví a väčšia inštancia neopraví nič, ak je limitom jeden nasýtený front. Rozhodnite meraním: pomenujte prostriedok, zaťažte ho a potom vyberte najmenšiu izoláciu, ktorá spore odstráni.
Overte zvonku, potom znova po reštarte
Testujte zo zariadenia, ktoré nie je v sieti samotného hostu: načítajte web, zdvihnite tunel a dosiahnite jeden prostriedok, ktorý ho vyžaduje. Potom reštartujte každú službu zvlášť a zopakujte druhý test, pretože reštart je chvíľa, keď usporiadanie zdieľaného poslucháča stráca poradie. Ak VPN štartuje skôr než webový server, ktorý vlastní zdieľaný port, mechanizmus zdieľania sa nemusí nikdy pripojiť a príznakom je tunel, ktorý včera fungoval. Urobte závislosť výslovnou v poradí jednotiek.
Potom potvrďte hranice: web odpovedá na svojom porte, VPN odpovedá na svojom a administratívne rozhranie odpovedá len z cesty správy. Zapíšte výsledok vedľa tabuľky poslucháčov s dátumom. Host, ktorý po reštarte prejde všetkými tromi kontrolami, je host, ktorý môžete odovzdať niekomu inému bez preškolenia.