Kaks OpenVPN-sertifikaati, üks CCD-nimi: mis läks valesti
Seerianumber on kordumatu ainult oma väljaandja piires, samas kui OpenVPN valib CCD-faili nime järgi. Broneerige see tegelik nimi registreerimisel ja kontrollige uuendamist.
Kaks kliendisertifikaati erinevate seerianumbrite, erinevate võtmete ja isegi erinevate täielike subjektidega võivad ikkagi jõuda samasse poliitikafaili, sest server ei vaata neist ühtegi. See loeb sertifikaadist nime ja avab vastava kliendikonfiguratsiooni faili. Kui mõlemad sertifikaadid kannavad sama nime, pärib teine esimese poliitika hetkel, mil see ühendub.
Kokkupõrge tekib registreerimisel ja avastatakse alles ühendamise hetkel, tavaliselt siis, kui seade saab aadressi või marsruudikomplekti, mis kuulub teisele masinale. Selle vältimiseks tuleb kokku leppida, millist välja server kaardistab, ja seejärel broneerida see väärtus enne, kui midagi allkirjastatakse.
Teie sertifikaaditööriistad ei hoita teid, sest kordumatus X.509 sees ja OpenVPN-i poliitika nime kordumatus on erinevad nõuded, mida rakendavad erinevad süsteemid.
Server otsib nime, mitte sõrmejälge
Tavapärase sertifikaadipõhise kaardistamise korral võtab server esitatud sertifikaadist ühise nime ja otsib oma kliendikonfiguratsiooni kataloogist selle nimega faili. See fail võib kinnitada staatilise aadressi, lükata marsruute või rakendada iga kliendi jaoks tulemüürimärgiseid. Otsing on stringi vaste failinimega, seega on olulised nii suur- ja väiketähed, tühikud kui ka kirjavahemärgid.
Mõned juurutusseaded vahetavad kaardistamise teadlikult, et autenditud kasutajanimi võtaks ühise nime üle, ja siis on just kasutajanimi see, mis peab olema kordumatu. Mõlemal juhul on poliitika valiv väärtus see, mille te broneerite. Otsustage, milline see on, enne kui midagi väljastate; pärast kokkupõrget oletamine maksab rohkem kui küsimine.
Kus kaks asutust samale nimele sobivad
Organisatsioon, mis võtab vastu sertifikaate enam kui ühelt väljastavalt asutuselt, käitab kahte sõltumatut registreerimisprotsessi, mis kirjutavad ühte nimeruumi. Iga asutuse enda kordumatuse reeglid kehtivad tema sees, nii et mõlemad võivad seaduslikult väljastada sama ühise nime jaoks, ilma et kumbki midagi valesti märkaks.
Seerianumbrid ei aita. X.509 nõuab, et seerianumber oleks kordumatu oma väljaandja ulatuses, mis on selle asutuse arvepidamise omadus, mitte seadme globaalne identiteet. Subjekti kontroll on ka erinev test ühise nime kontrollist: kaks sertifikaati võivad jagada CN-i, kuid erineda organisatsiooniüksuses ja seega kanda erinevaid subjekte. Kõik need omadused võivad kehtida, samal ajal kui server kaardistab mõlemad sertifikaadid ühele failinimele.
OpenSSL CA dokumentatsioon käsitleb seadet unique_subject, mis juhib selle enda andmebaasi arvamust, ja aus lähtekoht on lugeda oma väljastamiskonfiguratsiooni, mitte eeldada, et kehtib teatud EasyRSA või OpenSSL vaikeväärtus.
Broneerige tegelik nimi enne allkirjastamist
Pidage registrit, mis kaardistab seadme selle kinnitatud kirjele ja sealt täpsele poliitikafaili nimele, nii et nimi eraldatakse üks kord ja jääb eraldatuks. Broneering peab olema aatomiline, mis praktikas tähendab andmebaasipiirangut või lukku ümber sammu „eraldaja seejärel allkirjasta“, mitte kahe inimese redigeeritavat arvutustabelit.
Seejärel tehke kontroll väljastamise osaks: keelduge allkirjastamast, kui soovitud nimi on juba olemas, ja kaasake sellesse kontrolli iga asutus, keda server usaldab, sest teise asutuse broneeritud nimi on sama hõivatud. Selge põhjendusega tagasilükatud taotlus on odavam kui pilet seadme kohta, mis saab pidevalt kellegi teise staatilise aadressi.
Uuendamine kasutab nime meelega uuesti
Olemasolevale seadmele uuesti väljastamine peaks andma uue seerianumbri sama poliitikanime all ja see on seaduslik korduskasutus, mitte kokkupõrge. Eelnevalt tuleb otsustada kattuvus: kas vana ja uus sertifikaat võivad olla korraga kehtivad, ja kuidas vana mandaat kasutusest kõrvaldatakse.
Ärge haarake selle lahendamiseks duplicate-cn-st. See serverivalik juhib samaaegseid ühendusi, mis esitavad sama nime; see ei lukusta registreerimist ja selle lubamine ei muuda ühte jagatud staatilist aadressi kahe masina jaoks korraga turvaliseks. Tühistamine tuvastab sertifikaadi tavaliselt väljaandja ja seerianumbri järgi, seega ei pea vana mandaadi kasutusest kõrvaldamine selle asendust kehtetuks muutma, kui server saab ja rakendab õigeid tühistamisandmeid.
Kinnitage kaardistamine masinas olevate tööriistadega
Enne kui annate seadmele selle uue mandaadi, lugege nimi sertifikaadist nii, nagu server seda teeb, ja võrrelge seda seejärel poliitikafailiga, mille valimist ootate.
openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf
Esimene käsk trükib subjektiväljad eraldi, mis teeb eksinud organisatsiooniüksuse või kahekordse tühiku kohe nähtavaks. Teine kinnitab, et poliitikafail on olemas täpselt selle nime all, ja kolmas näitab, kas server on seadistatud lubama ühel nimel mitut seanssi. Käivitage kõik kolm värskel sertifikaadil enne, kui see registreerimissammult lahkub, kui viga maksab veel allkirja, mitte intsidendi. Hoidke väljund pileti juures, et järgmine inimene näeks, millise nime server tegelikult sai.
Lõpetage päris ühendusega ja võrrelge määratud aadressi ja saadetud marsruute poliitikafailiga, mitte sellega, mida kavatsesite kirjutada. Kui kaks seadet teatavad sama staatilise aadressi, on registris kokkupõrge, mida ükski sertifikaadi ülevaatus ei avalda.