Twee kliënte op een gasheer klink soos nog ’n bedienerblok en ’n tweede poort. Dit word ’n ander projek sodra jy alles lys wat ’n kliënt werklik besit: ’n luisteraar, ’n tonnelpoel, ’n identiteit, vertrouenslêers, roetes en ’n herroepingskedule. Slaan een daarvan oor en die tweede kliënt erf stilweg ’n stuk van die eerste. Bou ’n kaart per kliënt en vul dit in voordat die eerste kliënt koppel.

Ken ’n volledige hulpbronkaart per kliënt toe

Reserveer die hele stel saam: openbare poort, tonnel-subnet, konfigurasiepad, logbestemming, diensinstansienaam en toestel. Deur hulle as ’n groep te benoem, voorkom jy die klassieke kopie van ’n werkende lêer wat nog die eerste kliënt se poel of koppelvlak bevat. Die waardes is voorbeelde, nie gereserveerde poorte nie, so kyk wat die gasheer reeds gebruik. ’n Diens wat begin, is nie dieselfde ding as ’n kliënt wat volledig is nie.

Hou die kaart langs die konfigurasie en werk dit by wanneer ’n waarde verander. Dokumentasie wat van die werklikheid wegdryf, is slegter as geen dokumentasie nie.

Hou vertrouensmateriaal binne elke kliënt

’n Aparte uitreikende owerheid per kliënt maak die grens maklik om te beredeneer en hou die ondertekeningsleutel van die gasheer wat aan die internet blootgestel is, af. ’n Gedeelde wortel kan ook werk, maar ’n gemeenskaplike anker maak nie twee dienste een lidmaatskapdomein nie. Besluit watter kettings elke luisteraar aanvaar en watter kliëntidentiteite hy magtig, en skryf albei neer. Moet nie sertifikate uit ’n ketting stroop deur probeer en fouteer totdat iets koppel nie.

Die gasheer se eie private sleutel hoort in ’n beskermde lêer per kliënt, nie in ’n sjabloongids wat saam met die konfigurasie gerepliseer word nie.

Skei die netwerke sowel as die prosesse

Twee prosesse op twee poorte deel steeds ’n gasheer en ’n roetertabel tensy jy hulle skei. Bevestig wat luister voordat jy die ontwerp vertrou.

ss -lunp | grep -E '1194|1195'
openssl verify -CAfile customer-a/ca.crt customer-a/client.pem

Die luisteraartoets wys watter proses elke openbare poort besit, en die verifikasie wys of ’n kliënsertifikaat aan die beoogde anker koppel. Nie een van die uitsette bewys dat A se kliënt nie B se subnet kan bereik nie, so definieer bron- en bestemmingsbeleid, terugroetes en enige doelbewus gedeelde diens. Netwerknaamruimtes of houers skei roeteringkontekste en verminder toevallige vermenging, maar hulle is nie ’n volledige huurdergrens op hulle eie nie. Kies ’n sterker isolasiemeganisme wanneer die dreigingsmodel dit vereis.

Lewer herroeping voor oorhandiging

’n Sertifikaatontplooiing is onvolledig totdat herroeping ’n afleweringspad het. Kontroleer die CRL se uitreiker en geldigheidsvenster as deel van die aanboordneming.

openssl crl -in customer-a/crl.pem -noout -lastupdate -nextupdate
systemctl status openvpn@customer-a

Die CRL-inspeksie rapporteer wanneer die lys uitgereik is en wanneer dit verval, en die diensstatus bevestig dat die instansie wat dit lees, loop. Verfris die lys volgens die uitreikingsbeleid se skedule, selfs wanneer niks nuut herroep is nie, want ’n vervalde CRL kan elke kliënt verwerp. Publiseer ’n volledige lêer eerder as om lesers ’n gedeeltelike skryf te laat raakloop, en valideer die handtekening voor ontplooiing. Teken aan wie uitreiking, eindpuntbedryf en beëindiging besit, sodat die beëindiging van kliënt A nie B steur nie.

Hardloop dan die aanvaardingspaar: ’n toegelate kliënt bereik sy eie diens, en ’n A-geloofsbrief word deur B se luisteraar geweier. Dit is die grens as ’n toets uitgedruk.

Verwante artikels