Ar OpenVPN ryšys su statiniu raktu gali aptarnauti kelis klientus?
Statinio rakto režimas sujungia du lygiaverčius mazgus. client-to-client pridėjimas nepaverčia jo serveriu keliems klientams; tam reikia TLS režimo ir kiekvieno įrenginio tapatybės.
Statinio rakto režimas sujungia tiksliai du lygiaverčius mazgus, ir tai yra jo konstrukcija, o ne apribojimas, kurį kas nors pamiršo panaikinti. client-to-client yra serverio režimo persiuntimo parinktis, todėl jos pridėjimas prie --secret konfigūracijos nieko nekeičia tame, kiek klientų gali prisijungti. Sprendimas yra ne tai, kurią vėliavėlę pridėti, o ar diegimui reikia taško-taškas ryšio, ar paslaugos keliems klientams. Jei keli įrenginiai turi jungtis savarankiškai, apsaugos režimas pasikeičia ir kiekvienas įrenginys gauna tapatybę.
Du mazgai, vienas raktas ir jokios būsenos kiekvienam klientui: ši forma yra visa režimo istorija.
Kam skirtas statinio rakto režimas
Slaptojo rakto režime abu mazgai dalijasi vienu rakto failu, ir tas raktas tiesiogiai apsaugo srautą. Nėra rankos paspaudimo, nėra sertifikatų mainų ir nėra sesijos kiekvienam klientui, nes serverio prasme klientų nėra, tik du galiniai taškai.
Režimas lieka naudingas fiksuotai mašinų porai su dokumentuotu raktų keitimo procesu, o OpenVPN 2.6 žymi jį kaip pasenusį būtent todėl, kad TLS režimas tuos atvejus apima geresnėmis savybėmis. Ko jis negali, tai atskirti vieną besijungiantį įrenginį nuo kito, nes failo turėjimas yra visa autentifikavimo istorija. Trečio įrenginio pridėjimas reiškia to paties rakto dalijimąsi su juo, po to pirmieji du nebegali jo atskirti nuo savęs.
Todėl dviejų mazgų riba yra struktūrinė, o ne keičiamas nustatymas.
Kodėl client-to-client nėra trūkstama dalis
client-to-client valdo, ar prisijungę klientai gali keistis srautu per serverį. Jis nepriima klientų, nepriskiria tapatybių ir nesukuria nesukonfigūruoto serverio režimo, o statinio rakto konfigūracijoje nėra klientų sąrašo, kurį jis galėtų valdyti.
Kitas paplitęs sumišimas susijęs su tls-crypt arba tls-auth medžiaga. TLS serveris gali dalytis vienu iš tų raktų visiems klientams, nes jis saugo valdymo kanalą, o ne įrodo, kas yra kiekvienas klientas. Bendras valdymo kanalo raktas TLS režime yra kitas objektas nei bendras statinis duomenų raktas, nors abu ateina kaip panašiai atrodantys failai.
Pasirinkimas tarp režimų susiveda į du klausimus. Ar daugiau nei vienam įrenginiui reikia jungtis savarankiškai, ir ar diegimui reikia atšaukimo kiekvienam įrenginiui? Ne į abu palieka statinio rakto režimą gyvybingą; taip į bet kurį iš jų nukreipia į TLS. Nėra trečio varianto, kuriame antras klientas priimamas be savo tapatybės.
Serverio keliems klientams kūrimas
Serveriui keliems klientams reikia TLS režimo, serverio pusės sertifikato ir tapatybės kiekvienam klientui. Serverio pagalbinė priemonė nustato adresų telkinį ir kelių klientų režimą, bet ji neteikia TLS konfigūracijos, pasitikėjimo inkaro ar klientų sertifikatų, kurie priėmimą daro prasmingą.
Registruokite kiekvieną įrenginį per esamą sertifikavimo instituciją, o ne kopijuokite vieno kliento prisijungimo duomenis. Būtent skirtingos tapatybės leidžia atšaukimą, maršrutizavimą kiekvienam klientui ir naudingus žurnalus, o vienas bendras kliento sertifikatas sugriauna visus tris.
Jei diegimas autentifikuoja naudotojus per išorinį katalogą ar antrą veiksnį, ta konstrukcija lieka tokia, kokia yra. Perėjimas prie TLS serverio režimo nusprendžia, kaip mazgai įrodo save tunelio sluoksnyje, ir nediktuoja paskyrų galinės dalies. Laikykite du sprendimus atskirai, kad vieno pakeitimas tyliai nepakeistų kito.
Tada sąmoningai nuspręskite persiuntimo politiką. client-to-client įjungia srautą tarp klientų serverio kelyje naudotojo erdvėje, ko daugelis diegimų nori, o kai kurie neturi turėti. Tai politikos jungiklis, o ne tapatybės mechanizmas, ir jį reikia įjungti todėl, kad to reikalauja konstrukcija, o ne todėl, kad mokymo programa jį įtraukė.
Patikrinimas, ar klientai tikrai nepriklausomi
Prijunkite du klientus ir patvirtinkite, kad jie gauna skirtingus adresus ir serverio žurnale pasirodo su skirtingomis tapatybėmis. Tada atšaukite vieną ir patvirtinkite, kad kitas toliau veikia, ir tai yra praktinis bandymas, kad tapatybės nebuvo bendros.
Išbandykite leidžiamą tarpusavio paslaugą ir tą, kuri turi likti užblokuota. Du sėkmingi prisijungimai įrodo priėmimą, o ne izoliaciją, ir šis skirtumas svarbus, kai diegimas turi atskirti naudotojų grupes.
Galiausiai skaitykite serverio režimą iš veikiančios konfigūracijos, o ne iš atminties. Statinio rakto konfigūracija su papildomomis parinktimis vis dar yra taško-taško ryšys, ir teisingas TLS serveris yra vienintelė tvarka, kurioje keli klientai yra tikrai atskiri mazgai.
Jei žurnalas rodo vieną bendrą pavadinimą kiekvienam įrenginiui, problema ne režimas. Problema yra registracijos procesas.