Unu komuna nomo, du atestiloj: permeslisto aŭ malvalidigo?
Reeldono de atestilo por la sama komuna nomo lasas la malnovan validan. Permeslisto de nomoj ne povas distingi ilin; nur CRL aŭ kontrolo de seria numero povas.
Reeldoni tekkomputilan atestilon sub la sama komuna nomo sentiĝas kiel anstataŭigo, kaj ĉiuj supozas, ke la malnova estas morta. Ĝi ne estas. La antaŭulo restas valida atestilo subskribita de la sama aŭtoritato, kaj ajna kontrolo, kiu akceptas klientojn laŭ nomo, daŭre akceptos ĝin. Tio, kio apartigas identeckontrolon disde akreditkontrolo, estas la seria numero, kaj tie apartenas la korekto.
Komencu per la nomiga politiko, kiun uzas la servilo
Du kontroloj konfuziĝas: akcepti klienton ĉar ĝi asertas esti iu, kaj forigi unu specifan atestilon el servo. La unua estas nomkontrolo, la dua estas malvalidigkontrolo. Ili respondas al malsamaj demandoj, kaj instalado povas havi la unuan sen la dua.
Legu la servilan agordon kaj notu, kiu identecfonto estas en ludo. username-as-common-name igas la aŭtentikigitan uzantnomon la efektiva nomo por klientspecifaj serĉoj. Sen ĝi, la komuna nomo de la subjekto el la atestilo estas uzata. Kia ajn estas la respondo, notu ĝin antaŭ ol tuŝi ajnan permesliston.
La du vojoj produktas malsaman aron da permesitaj nomoj por la sama atestilo. Diveni ĉi tie signifas redakti la malĝustan dosieron kaj konkludi, ke la kontrolo ne funkcias.
Kontrolu, kio fakte akceptas klienton
La agordo client-config-dir kun kongrua dosiero provizas opciojn por ĉiu kliento; sole ĝi ne estas akceptregulo. Akcepto laŭ nomo postulas ccd-exclusive, kiu rifuzas klientojn sen kongrua dosiero. Ŝalti tion en aktiva instalado malkonektas ĉiun, kies nomo ne havas dosieron, do kalkulu la dosierojn antaŭ ol ŝalti ion ajn.
grep -nE 'ccd-exclusive|client-config-dir|username-as-common-name' /etc/openvpn/server/server.conf
ls -1 /etc/openvpn/ccd/La kalkulo estas la kontrolo: komparu la dosierujan liston kun la identecoj, kiujn vi atendas konektiĝi.
Poste konfirmu, ke ĉiu dosiernomo precize kongruas kun la efektiva identeco, inkluzive de uskleco kaj spacoj. Dosiero por office-laptop faras nenion por atestilo, kies subjekto tekstas Office-Laptop. Finaj spacoj ankaŭ kaŝiĝas de simpla listo, kaj tiel dosiero, kiu ŝajnas ĉeesti, restas nelegita.
Kontrolu la CRL, kiun la enirejo ŝarĝas
CRL nomas malvalidigitajn atestilojn laŭ eldoninto kaj seria numero, kio estas la detalo, kiun nomkontrolo mankas. Du atestiloj povas dividi komunan nomon kaj malsami laŭ seria numero, kaj nur listo sur seria nivelo apartigas ilin.
Konfirmu la agorditan vojon, la eldondaton kaj la kampon de sekva ĝisdatigo antaŭ ol fidi la dosieron entute.
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
openssl x509 -in office-laptop.crt -noout -serial -subjectKomparu la serian numeron en la CRL kun la seria numero sur la atestilo, kiun vi intencas konservi. Tiu komparo estas la tuta testo, kaj fari ĝin unufoje per la okulo valoras pli ol fidi skripton, kiun neniu legis. Distribuu la ĝisdatigitan CRL laŭ la vojo, kiun la enirejo jam legas. CRL en la malĝusta dosierujo trudas nenion, kaj neniu klienta protokolo mencios ĝin.
Anstataŭigu, poste pruvu ambaŭ rezultojn
Eldonu la anstataŭaĵon sub la sama komuna nomo, registru ambaŭ seriajn numerojn, kaj nur poste malvalidigu la malnovan. Tiu ordo tenas funkciantan identecon disponebla dum vi preparas la ŝanĝon.
Unue testu la anstataŭaĵon: ĝi devus aŭtentikiĝi kaj atingi ĉion, al kio ĝia nomo rajtas. Poste testu la malnovan atestilon kaj konfirmu, ke ĝi estas rifuzata, ĉar sukcesa anstataŭigo diras nenion pri malvalidigo. Se ambaŭ ankoraŭ konektiĝas, la malvalidiga enigo ne estas legata aŭ la malnova seria numero neniam estis listigita. Se neniu konektiĝas, vi rompis la akceptregulon anstataŭ la akrediton.
Jam establitaj sesioj estas aparta afero, ĉar malvalidigo aplikas al novaj aŭtentikigoj krom se la enirejo ankaŭ estas agordita forigi vivajn konektojn. Decidu, ĉu tuja forigo necesas, antaŭ ol promesi ĝin al iu.
Kion nomkontrolo neniam povas fari
Permeslisto respondas, ĉu tiu identeco rajtas konektiĝi. Ĝi ne povas diri, kiun atestilon tiu identeco uzis, kaj ĝi akceptos pli malnovan akrediton dum la akredito restas valida kaj nemalvalidigita. Tiu manko montriĝas dum okazaĵo, kiam la anstataŭaĵo estis eldonita antaŭ monatoj kaj la antaŭulo ankoraŭ funkcias.
Kie necesas kontrolo sur atestila nivelo, uzu mekanismon, kiu nomas la atestilon: CRL-ensieroj, aŭ hoko de kontrolado, kiu kontrolas fingrospuron, kiun la funkciigisto prizorgas. Ambaŭ kostas prizorgadon, kaj ambaŭ estas honestaj pri la objekto, kiun ili ekzamenas. La manlibro de OpenVPN 2.6 dokumentas crl-verify kaj klientspecifan akcepton kiel apartajn opciojn pro tiu kialo.
Notu, kiu kontrolo faras kiun laboron, poste testu la negativan kazon. Malvalidigo, kiun vi neniam vidis rifuzi konekton, estas agordo, kiun vi esperas funkcii.