Vaš odjemalec VPN sporoči, da potrdila ni bilo mogoče preveriti, in pogovorno okno se tam ustavi. Datoteka je tam, strežnik deluje, in isti profil je prejšnji mesec deloval na drugem prenosniku. Pod tem opozorilom v eni vrstici je odjemalec pognal potrdilo partnerja skozi štiri vrata: potrditveni organ, ki ste ga nastavili, jamči za pot podpisa, ta pot doseže organ, ime partnerja je tisto, ki ste ga zahtevali, in potrdilo je zdaj uporabno za ta namen. Poiščite vrata, ki so se zaprla, in popravilo je običajno ena datoteka; preskočite ta korak in celo popoldne boste znova uvažali pakete.

Preberite pogovorno okno, preden uredite profil

Besedilo napak s potrdili oblikuje knjižnica spodaj, ne izdelek VPN, ki ste ga namestili, zato je natančen niz vaš prvi dokaz. »Ni mogoče pridobiti potrdila lokalnega izdajatelja« kaže na pot ali na sidro zaupanja. »Potrdilo je poteklo ali še ni veljavno« kaže na čas. »Nepodprt namen potrdila« kaže na razširjeno uporabo ključa. Neujemanje imena vam pove, katero ime je hotelo. Nobene od štirih ne odpravi ponovna namestitev odjemalca.

Preden karkoli spremenite, povišajte raven beleženja. OpenVPN sporoči napako preverjanja okrog rokovanja, ko ga zaženete z --verb 4, strongSwan pa svoje odločitve o identiteti in verigi zapiše v dnevnik charon. Nato potrdite, katero potrdilo pregledujete, ker ljudje običajno preizkušajo datoteko na disku, medtem ko profil vgradi starejšo kopijo. Ko profil vgradi bloke PEM, je preizkušeno vgrajeno potrdilo.

Potrditveni organ podpisuje identitete, ne dovoljenj

Organ hrani ime in podpisni ključ. Izdaja potrdila, ki po njegovi lastni politiki vežejo javni ključ na to ime, z dodanim obdobjem veljavnosti in omejitvami uporabe. Vaš odjemalec potrebuje za prepoznavo izdajatelja le potrdilo organa; podpisnega ključa nikoli ne potrebuje, in pošiljanje tega ključa odjemalcem bi jim dalo zmožnost ustvariti katero koli identiteto, ki ji zaupa uvedba.

Zaupanje organu naredi vsako potrdilo, ki ga je podpisal, kandidata, ne pravega partnerja. Potrdilo spletnega strežnika iz iste interne CA je prav tako kandidat. Zato obstajajo vrata za ime in namen in zato je ogrožen ključ CA pomembnejši od katerega koli posameznega strežnika: doseže vsako identiteto, ki jo je organ kdaj izdal. Izdajajte odjemalska potrdila za vsako napravo, da bo izgubljen prenosnik en preklic in ne ponovno ustvarjanje ključev za celotno uvedbo.

Ponovno zgradite pot, ki jo odjemalec poskuša zgraditi

Pot teče od potrdila partnerja prek nič ali več vmesnih potrdil do korena v vašem shrambi zaupanja. Manjkajoče vmesno potrdilo je najpogostejša okvara verige, in z vidika odjemalca je videti enako kot neprepoznan koren. Najprej preberite list, nato pustite OpenSSL, da zgradi pot iz gradiva, ki ga nameravate poslati.

openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt

Izhodni status nič pomeni, da je bila pot zgrajena iz teh datotek; napaka poimenuje potrdilo, do katerega ni prišlo. Če openssl verify uspe, medtem ko odjemalec še vedno zavrača, je razlika v tem, kar strežnik dejansko pošlje, ali v tem, katero datoteko zaupanja naloži profil. V OpenVPN lahko vmesna potrdila potujejo z datoteko potrdila strežnika ali se dobavijo ločeno z --extra-certs, in paket z dvema korenoma pod istim imenom subjekta bo poslal enega od vaših odjemalcev v napačno vejo.

Ime in namen sta ločena vrata

Gradnja verige nikoli ne vpraša, ali je ime vaše. OpenVPN ga preveri le, ko profil nastavi --verify-x509-name, in stara navada primerjanja samo splošnega imena se zlomi pri potrdilih, katerih identitete živijo v subjectAltName. Uvedbe IKEv2 primerjajo nastavljeno identiteto z vnosi SAN ali z razlikovalnim imenom, odvisno od odjemalca, in vrednost z nadomestnim znakom ali %any tiho izklopi primerjavo, za katero ste mislili, da jo imate.

Nato prideta čas in namen. Prenosnik, katerega ura hiti nekaj ur naprej, zavrne še ne veljavno potrdilo, poteklo vmesno potrdilo pa pokvari pot, medtem ko je list veljaven. Napake namena izhajajo iz potrdila brez serverAuth v razširjeni uporabi ključa ali s keyUsage, ki ne dovoljuje podpisa rokovanja, kar OpenSSL sporoči kot nepodprt namen potrdila. Izdajte znova iz prave predloge; nič v tem sporočilu ni razlog za izklop preverjanja.

Preklic se izvaja le, če ga je kdo nastavil

CRL ali odgovor OCSP se ne preverjata samodejno. Na strežniku OpenVPN se odjemalska potrdila primerjajo s seznamom le, ko --crl-verify kaže na enega. Preverjanje potrdila strežnika na strani odjemalca je odvisno od izvedbe in ga pogosto ni. strongSwan potrebuje svoj vtičnik za preklic in politiko, preden pogleda CRL za partnerja.

To pojasni zahtevek, ki ga boste sčasoma prejeli: preklicano odjemalsko potrdilo se še vedno poveže, in vsi sklenejo, da je preklic pokvarjen. Nič ni preverjalo. Objavite in osvežite CRL ali imejte odjemalska potrdila dovolj kratkotrajna, da zastarel preklic šteje le kratek čas, in vadite pot preklica na laboratorijskem potrdilu, preden ga boste potrebovali med incidentom.

Vrstni red popravila, ki pusti preverjanje vklopljeno

Razvrstite po simptomu, preden se dotaknete datotek, ker vas vsaka vrstica tabele pošlje k drugemu objektu.

Client saysMost likely gateFirst check
unable to get local issuer certificatetrust anchor or missing intermediateyour own openssl verify against the files the profile loads
expired or not yet validvalidity windowleaf and intermediate dates against the device clock
unsupported certificate purposeextended key usageserverAuth present, keyUsage allows the handshake
name mismatchpeer identitysubjectAltName entries versus the profile name

Pojdite skozi seznam v enem prehodu: potrdite datoteko, ki jo naloži profil, sami zgradite pot, preverite, ali strežnik pošlje vmesno potrdilo, primerjajte uro, preberite SAN, preberite EKU, nato se znova povežite in opazujte, kako ista vrstica dnevnika izgine. Če napravi ni mogoče dati nobene CA, je pripenjanje poštena alternativa, ker OpenVPN 2.6 sprejme --peer-fingerprint in zoži zaupanje na en ključ, namesto da bi odstranil preverjanje. RFC 5280 je referenca za pomen vsakega od teh polj.

Sorodni članki