Certificatele sunt instalate, cheile private sunt prezente, iar tunelul tot eșuează autentificarea. O mașină cu mai multe certificate poate oferi VPN-ului un candidat la care nimeni nu s-a gândit, iar clientul nu are cum să știe pe care l-ar accepta gateway-ul. Ștergerea celorlalte este o politică de selecție cu consecințe pentru fiecare serviciu de pe mașină. Reîngustați în schimb mulțimea eligibilă, apoi confirmați ce certificat a fost oferit efectiv.

Mai multe certificate, unul oferit

Profilurile VPN native din Windows cu autentificare prin certificat de mașină expun două filtre care restricționează candidații: un filtru de emitent și un filtru de utilizare extinsă a cheii. Ele reduc mulțimea din care clientul poate alege. Nu repară un certificat nepotrivit și nu garantează că serverul acceptă ce rămâne. Această limită merită consemnată în jurnalul de modificări, pentru că următorul cititor va presupune că filtrul a decis mai mult decât a decis.

Defecțiunea pe care o abordau este îngustă și precisă. Un certificat valid de la o autoritate greșită, sau emis pentru un scop pe care gateway-ul nu îl acceptă, este ales înaintea celui dorit, ceea ce produce o eroare de autentificare lângă un depozit sănătos. Două filtre transformă asta într-o mulțime suficient de mică pentru a raționa, iar restul acestei pagini le aplică în ordine.

Inspectați depozitul înainte de a edita profilul

Listați candidații și proprietățile lor în depozitul pe care profilul îl folosește efectiv. Nimic de aici nu exportă o cheie privată și niciun certificat nu trebuie să părăsească mașina:

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

Citiți rezultatul pentru proprietățile de care depinde decizia: o cheie privată utilizabilă, o fereastră de valabilitate acceptabilă, emitentul dorit și scopurile din extensie. Un certificat poate fi prezent, înregistrat corect și inutil pentru această conexiune în același timp. Coloana cu amprenta este cea cu care veți compara mai târziu, așa că păstrați rezultatul.

Confirmați profilul și domeniul său înainte de editare, pentru că un certificat de mașină în LocalMachine, un certificat EAP-TLS de utilizator și un depozit propriu de chei private al unei aplicații sunt trei contexte diferite. Folosiți domeniul tuturor utilizatorilor și un context administrativ când profilul administrat se află acolo. Crearea unui al doilea profil cu un nume similar ascunde ce configurație folosește efectiv conexiunea.

Filtrul de emitent vrea un obiect

Parametrul de emitent așteaptă un obiect certificat, nu un nume afișat și nu un șir de amprentă gol. Furnizați certificatul autorității aprobate dintr-o cale pe care ați verificat-o, în depozitul căruia îi aparține:

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

Nu înlocuiți certificatul frunză al clientului însuși, o altă autoritate cu subiect similar sau o rădăcină proaspăt generată doar pentru că tipul parametrului îl acceptă. Două autorități pot împărtăși același șir de subiect, și de aceea obiectul contează mai mult decât textul. Referința pentru cmdlet-uri Microsoft documentează ambele tipuri de intrare, și merită citită înainte de prima editare, nu după încercarea eșuată.

Filtrul de utilizare vrea un șir OID

Parametrul de utilizare extinsă a cheii acceptă șiruri OID, iar scopul autentificării clientului este 1.3.6.1.5.5.7.3.2. Aplicarea lui restricționează candidații la certificatele care poartă acel scop, ceea ce este exact ce vrea o implementare cu autentificare de client:

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

Valoarea este un tablou, așa că o implementare care are nevoie de mai multe scopuri le transmite ca listă. Ce nu poate face filtrul este să adauge un scop unui certificat: este o expresie de selecție evaluată față de extensii semnate, iar niciun filtru nu le rescrie, așa că un certificat lipsit de scop trebuie să treacă din nou prin înregistrare.

Țineți configurația EAP a certificatelor de utilizator separată de filtrarea certificatelor de mașină, pentru că ele trăiesc în locuri diferite și o modificare într-unul explică rareori o defecțiune în celălalt. Verificați și dacă domeniul sau administrarea dispozitivelor deține profilul, pentru că o editare locală poate fi înlocuită la următoarea reîmprospătare a politicilor fără ca cineva să atingă mașina.

Dovediți ce certificat a oferit clientul

Stabiliți o conexiune nouă și citiți dovezile de autentificare ale clientului și serverului pentru identitatea dorită. Când mai mult de un certificat satisface filtrele, rezultatul este un grup mai mic, nu o frunză fixată, așa că următoarea încercare poate alege alt membru. Notați amprenta care apare în acele dovezi și comparați-o cu cea pe care ați înregistrat-o din depozit.

O comandă reușită nu este o autentificare reușită. Rezultatul care merită înregistrat este certificatul dorit autentificându-se sub politica administrată, în timp ce fiecare certificat nelegat rămâne disponibil serviciilor care depind de el. Dacă defecțiunea supraviețuiește ambelor filtre, următorul loc de verificat sunt candidații rămași, nu întregul profil.

Articole similare