Juhend: kahe OpenVPN-kliendi eraldi pardale võtmine
Kaks klienti ühel OpenVPN-hostil vajavad eraldi kuulajaid, poole, usaldusfaile ja tühistamise tarnet, koos vastuvõtutestiga, mis hoiab need lahus.
Kaks klienti ühel hostil kõlab nagu veel üks serveriplokk ja teine port. Sellest saab teine projekt, kui loetled üles kõik, mida klient tegelikult omab: kuulaja, tunnelipool, identiteet, usaldusfailid, marsruudid ja tühistamise ajakava. Jäta üks neist vahele ja teine klient pärib vaikselt tüki esimesest. Loo iga kliendi jaoks kaart ja täida see enne, kui esimene klient ühendub.
Määra igale kliendile täielik ressursikaart
Broneeri kogu komplekt korraga: avalik port, tunneli alamvõrk, konfiguratsiooni tee, logi sihtkoht, teenuse eksemplari nimi ja seade. Nende rühmana nimetamine hoiab ära klassikalise töötava faili koopia, mis sisaldab endiselt esimese kliendi pooli või liidest. Väärtused on näited, mitte broneeritud pordid, seega kontrolli, mida host juba kasutab. Käivituv teenus ei ole sama asi kui täielik klient.
Hoia kaarti konfiguratsiooni kõrval ja uuenda seda iga väärtuse muutumisel. Dokumentatsioon, mis reaalsusest eemaldub, on hullem kui puuduv.
Hoia usaldusmaterjal iga kliendi sees
Eraldi väljaandja iga kliendi jaoks teeb piiri mõistmise lihtsaks ja hoiab allkirjastamisvõtme internetile avatud hostist eemal. Jagatud juur võib samuti töötada, kuid ühine ankur ei muuda kahte teenust üheks liikmelisuse domeeniks. Otsusta, milliseid ahelaid iga kuulaja aktsepteerib ja milliseid kliendi identiteete volitab, seejärel kirjuta mõlemad üles. Ära eemalda sertifikaate ahelast katse-eksituse meetodil, kuni midagi ühendub.
Serveri enda privaatvõti kuulub iga kliendi jaoks kaitstud faili, mitte mallikataloogi, mida konfiguratsiooniga koos replikeeritakse.
Eralda võrgud nagu protsessidki
Kaks protsessi kahel pordil jagavad endiselt hosti ja marsruutimistabelit, kui neid ei eralda. Kinnita, mis kuulab, enne kui disaini usaldad.
ss -lunp | grep -E '1194|1195'
openssl verify -CAfile customer-a/ca.crt customer-a/client.pemKuulaja kontroll näitab, milline protsess omab iga avalikku porti, ja verifitseerimine näitab, kas kliendi sertifikaat aheldub kavandatud ankruga. Kumbki väljund ei tõesta, et A klient ei pääse B alamvõrku, seega määra allika- ja sihtpoliitika, tagasiteed ja iga teadlikult jagatud teenus. Võrgu nimeruumid või konteinerid eraldavad marsruutimiskontekste ja vähendavad juhuslikku segunemist, kuid need ei ole täielik rentniku piir iseenesest. Vali tugevam isolatsioonimehhanism, kui ohu mudel seda nõuab.
Tarni tühistamine enne üleandmist
Sertifikaadi juurutamine ei ole täielik enne, kui tühistamisel on tarne tee. Kontrolli CRL-i väljaandjat ja kehtivusakent pardalemineku osana.
openssl crl -in customer-a/crl.pem -noout -lastupdate -nextupdate
systemctl status openvpn@customer-aCRL-i kontroll teatab, millal nimekiri välja anti ja millal see aegub, ning teenuse olek kinnitab, et seda lugev eksemplar töötab. Värskenda nimekirja väljaandmispoliitika ajakava järgi ka siis, kui midagi uut ei tühistatud, sest aegunud CRL võib iga kliendi tagasi lükata. Avalda täielik fail, selle asemel et jätta lugejad osalise kirjutise otsa, ja valideeri allkiri enne juurutamist. Kirjuta üles, kes omab väljaandmist, lõpp-punkti toimimist ja kasutusest kõrvaldamist, et kliendi A sulgemine ei häiriks B-d.
Seejärel käivita vastuvõtupaar: lubatud klient jõuab oma teenusesse ja A mandaat lükatakse B kuulaja poolt tagasi. See on piir, väljendatuna testina.