Du OpenVPN-atestiloj, unu CCD-nomo: kio misiris
Seria numero estas unika nur ene de sia eldonanto, dum OpenVPN elektas la CCD-dosieron laŭ nomo. Rezervu tiun efektivan nomon ĉe aliĝo kaj regu la renovigon.
Du klientaj atestiloj kun malsamaj seriaj numeroj, malsamaj ŝlosiloj kaj eĉ malsamaj plenaj subjektoj ankoraŭ povas konverĝi al unu sola politika dosiero, ĉar la servilo rigardas nenion el tio. Ĝi legas nomon el la atestilo kaj malfermas la kongruan klientan agordan dosieron. Se ambaŭ atestiloj portas la saman nomon, la dua heredas la politikon de la unua en la momento, kiam ĝi konektiĝas.
La kolizio kreiĝas ĉe aliĝo kaj malkovriĝas nur ĉe konekto, kutime kiam aparato ricevas adreson aŭ aron da itineroj, kiuj apartenas al alia maŝino. Preventi ĝin signifas interkonsenti, kiun kampon la servilo mapas, kaj poste rezervi tiun valoron antaŭ ol io ajn estos subskribita.
Viaj atestilaj iloj ne avertos vin, ĉar unikeco ene de X.509 kaj unikeco de OpenVPN-politika nomo estas malsamaj postuloj plenumataj de malsamaj sistemoj.
La servilo serĉas nomon, ne fingrospuron
Ĉe la kutima atestilbaza mapado, la servilo prenas la komunan nomon el la prezentita atestilo kaj serĉas dosieron de tiu nomo en sia klienta agorda dosierujo. Tiu dosiero povas fiksi statikan adreson, puŝi itinerojn aŭ apliki fajroŝirmilajn markojn por ĉiu kliento. La serĉo estas signoĉena kongruo kun dosiernomo, do uskleco, interspacoj kaj interpunkcio ĉiuj gravas.
Kelkaj deplojoj intence interŝanĝas la mapadon, por ke aŭtentikigita uzantnomo transprenu la komunan nomon, kaj tiam la uzantnomo estas tio, kio devas esti unika. Ĉiel ajn, la valoro, kiu elektas politikon, estas la valoro, kiun vi rezervas. Decidu, kiu ĝi estas, antaŭ ol eldoni ion ajn; diveni post kolizio kostas pli ol demandi.
Kie du aŭtoritatoj kongruas je la sama nomo
Organizo, kiu akceptas atestilojn de pli ol unu eldona aŭtoritato, funkciigas du sendependajn aliĝprocezojn skribantajn en unu nomspacon. La propraj unikecaj reguloj de ĉiu aŭtoritato validas ene de ĝi mem, do ambaŭ povas laŭleĝe eldoni por la sama komuna nomo, sen ke iu ajn rimarkas ion malĝustan.
Seriaj numeroj ne helpas. X.509 postulas, ke seria numero estu unika ene de la amplekso de sia eldonanto, kio estas eco de la librotenado de tiu aŭtoritato, ne tutmonda aparata identeco. Subjekta kontrolo ankaŭ estas alia testo ol komunnoma kontrolo: du atestiloj povas kunhavi CN sed malsami en organiza unuo, kaj tial porti apartajn subjektojn. Ĉiu el tiuj ecoj povas validi, dum la servilo ankoraŭ mapas ambaŭ atestilojn al unu dosiernomo.
La dokumentaro de OpenSSL CA kovras la agordon unique_subject, kiu regas la opinion de ĝia propra datumbazo, kaj la honesta komencpunkto estas legi vian eldonan agordon anstataŭ supozi, ke aplikiĝas certa defaŭlto de EasyRSA aŭ OpenSSL.
Rezervu la efektivan nomon antaŭ subskribo
Tenu registron, kiu mapas aparaton al ĝia aprobita rikordo kaj de tie al preciza politika dosiernomo, por ke nomo estu atribuata unufoje kaj restu atribuita. La rezervo devas esti atoma, kio praktike signifas datumbazan limigon aŭ ŝlosilon ĉirkaŭ la paŝo atribui-post-subskribi, ne kalkultabelon redaktatan de du homoj.
Poste faru la kontrolon parto de eldonado: rifuzu subskribi, kiam la petita nomo jam ekzistas, kaj inkluzivu en tiu kontrolo ĉiun aŭtoritaton, kiun la servilo fidas, ĉar nomo rezervita de la alia aŭtoritato same okupatas. Rifuzita peto kun klara kialo estas pli malmultekosta ol bileto pri aparato, kiu daŭre ricevas la statikan adreson de iu alia.
Renovigo intence reuzas nomon
Reeldonado por ekzistanta aparato devus produkti novan serian numeron sub la sama politika nomo, kaj tio estas laŭleĝa reuzo, ne kolizio. Kion oni devas anticipe decidi, estas la interkovro: ĉu malnova kaj nova atestiloj rajtas validi samtempe, kaj kiel la malnova legitimilo estas retirata.
Ne turnu vin al duplicate-cn por solvi ĉi tion. Tiu servila opcio regas samtempajn konektojn prezentantajn la saman nomon; ĝi ne ŝlosas aliĝon, kaj ĝia ŝalto ne faras unu komunan statikan adreson sekura por du maŝinoj samtempe. Senvalidigo kutime identigas atestilon per eldonanto kaj seria numero, do la retiro de la malnova legitimilo ne devas nuligi ĝian anstataŭanton, se la servilo ricevas kaj plenumas la ĝustajn senvalidigajn datumojn.
Konfirmu la mapadon per la iloj sur la maŝino
Antaŭ ol doni al aparato ĝian novan legitimilon, legu la nomon el la atestilo tiel, kiel faros la servilo, kaj poste komparu ĝin kun la politika dosiero, kiun vi atendas esti elektita.
openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf
La unua komando presas subjektajn kampojn aparte, kio tuj videbligas eraran organizan unuon aŭ duoblan interspacon. La dua konfirmas, ke politika dosiero ekzistas ĝuste sub tiu nomo, kaj la tria montras, ĉu la servilo estas agordita permesi plurajn sesiojn je unu nomo. Rulu ĉiujn tri sur freŝa atestilo antaŭ ol ĝi forlasos la aliĝan paŝon, dum eraro ankoraŭ kostas subskribon anstataŭ incidenton. Konservu la eligon kun la bileto, por ke la sekva persono vidu, kiun nomon la servilo efektive ricevis.
Finu per reala konekto kaj komparu la asignitan adreson kaj la puŝitajn itinerojn kun la politika dosiero, ne kun tio, kion vi intencis skribi. Se du aparatoj raportas la saman statikan adreson, la registro havas kolizion, kiun neniu atestila inspektado iam malkaŝos.