Veiklos vadovas: dviejų OpenVPN klientų atskiras priėmimas
Du klientai viename OpenVPN hoste turi turėti atskirus klausytojus, telkinius, pasitikėjimo failus ir atšaukimo pristatymą, kartu su priėmimo testu, kuris juos atskiria.
Du klientai viename hoste skamba kaip dar vienas serverio blokas ir antras prievadas. Tai tampa kitu projektu, kai išvardiji viską, ką klientas iš tikrųjų valdo: klausytoją, tunelio telkinį, tapatybę, pasitikėjimo failus, maršrutus ir atšaukimo grafiką. Praleisk vieną iš jų ir antras klientas tyliai paveldi dalį pirmojo. Sukurk kortelę kiekvienam klientui ir užpildyk ją prieš prisijungiant pirmajam klientui.
Kiekvienam klientui skirk visą išteklių kortelę
Rezervuok visą rinkinį kartu: viešą prievadą, tunelio potinklį, konfigūracijos kelią, žurnalų paskirties vietą, paslaugos egzemplioriaus pavadinimą ir įrenginį. Jų įvardijimas grupe yra tai, kas apsaugo nuo klasikinės veikiančio failo kopijos, kurioje dar yra pirmojo kliento telkinys ar sąsaja. Reikšmės yra pavyzdžiai, o ne rezervuoti prievadai, todėl patikrink, ką hostas jau naudoja. Paslauga, kuri paleidžiama, nėra tas pats kaip užbaigtas klientas.
Laikyk kortelę prie konfigūracijos ir atnaujink ją, kai tik pasikeičia reikšmė. Dokumentacija, kuri nutolsta nuo realybės, yra blogiau nei jokios.
Laikyk pasitikėjimo medžiagą kiekvieno kliento viduje
Atskira išdavimo institucija kiekvienam klientui palengvina ribos supratimą ir laiko pasirašymo raktą toli nuo internetui atviro hosto. Bendra šaknis taip pat gali veikti, bet bendras inkaras nepaverčia dviejų paslaugų viena narystės sritimi. Nuspręsk, kokias grandines priima kiekvienas klausytojas ir kokias kliento tapatybes jis įgalioja, tada užrašyk abu. Nenuimk sertifikatų nuo grandinės bandymų ir klaidų metodu, kol kažkas prisijungs.
Serverio nuosavas privatusis raktas priklauso apsaugotam failui kiekvienam klientui, o ne šablonų katalogui, kuris replikuojamas kartu su konfigūracija.
Atskirk tinklus taip pat kaip procesus
Du procesai dviejuose prievaduose vis dar dalijasi hostu ir maršrutizavimo lentele, jei jų neatskirsi. Patvirtink, kas klausosi, prieš pasitikėdamas projektu.
ss -lunp | grep -E '1194|1195'
openssl verify -CAfile customer-a/ca.crt customer-a/client.pemKlausytojo patikra parodo, kuris procesas valdo kiekvieną viešą prievadą, o tikrinimas parodo, ar kliento sertifikatas susiejamas su numatytu inkaru. Nė viena išvestis neįrodo, kad A klientas negali pasiekti B potinklio, todėl apibrėžk šaltinio ir paskirties politiką, grįžimo maršrutus ir bet kokią sąmoningai bendrą paslaugą. Tinklo vardų erdvės ar konteineriai atskiria maršrutizavimo kontekstus ir sumažina atsitiktinį maišymąsi, bet jie nėra visavertė nuomininko riba patys savaime. Pasirink stipresnį izoliavimo mechanizmą, kai to reikalauja grėsmių modelis.
Pristatyk atšaukimą prieš perdavimą
Sertifikato diegimas nebaigtas, kol atšaukimas neturi pristatymo kelio. Patikrink CRL išdavėją ir galiojimo langą kaip priėmimo dalį.
openssl crl -in customer-a/crl.pem -noout -lastupdate -nextupdate
systemctl status openvpn@customer-aCRL patikra praneša, kada sąrašas išduotas ir kada baigiasi, o paslaugos būsena patvirtina, kad jį skaitantis egzempliorius veikia. Atnaujink sąrašą pagal išdavimo politikos grafiką net kai nieko naujo neatšaukta, nes pasibaigęs CRL gali atmesti kiekvieną klientą. Skelbk visą failą, o ne palik skaitytojams dalinį įrašą, ir prieš diegimą patikrink parašą. Užfiksuok, kas valdo išdavimą, galinio taško eksploatavimą ir išėmimą, kad A kliento išjungimas netrukdytų B.
Tada paleisk priėmimo porą: leidžiamas klientas pasiekia savo paslaugą, o A prisijungimo duomenys atmetami B klausytojo. Tai riba, išreikšta kaip testas.