Watter masjien-sertifikaat bied die Windows-VPN aan?
Verskeie masjien-sertifikate, een word aangebied, en die poort weier dit. Beperk eerder die poel met die uitreiker- en EKU-filters in plaas daarvan om iets te verwyder.
Sertifikate is geïnstalleer, die private sleutels is teenwoordig, en die tonnel faal steeds met verifikasie. ’n Masjien met verskeie sertifikate kan vir die VPN ’n kandidaat gee wat niemand bedoel het nie, en die kliënt het geen manier om te weet watter een die poort sou aanvaar nie. Om die ander te verwyder is ’n keuringsbeleid met gevolge vir elke diens op die masjien. Beperk eerder die stel geskikte sertifikate, en bevestig dan watter sertifikaat werklik aangebied is.
Verskeie sertifikate, een aangebied
Inheemse Windows-VPN-profiele met masjien-sertifikaatverifikasie bied twee filters wat die kandidate beperk: ’n uitreikerfilter en ’n uitgebreide-sleutelgebruik-filter. Hulle verklein die stel waaruit die kliënt kan kies. Hulle herstel nie ’n ongeskikte sertifikaat nie, en hulle waarborg nie dat die bediener aanvaar wat ook al oorbly nie. Daardie grens is die moeite werd om in die veranderingsrekord te noem, want die volgende leser sal aanneem die filter het meer besluit as wat hy werklik gedoen het.
Die fout wat hulle aanspreek is smal en spesifiek. ’n Geldige sertifikaat van die verkeerde owerheid, of een wat vir ’n doel uitgereik is wat die poort nie aanvaar nie, word voor die bedoelde een gekies, wat ’n verifikasiefout langs ’n gesonde stoor veroorsaak. Twee filters maak daarvan ’n stel wat klein genoeg is om te beredeneer, en die res van hierdie bladsy pas hulle in volgorde toe.
Ondersoek die stoor voordat jy die profiel wysig
Lys die kandidate en hulle eienskappe in die stoor wat die profiel werklik gebruik. Niks hier voer ’n private sleutel uit nie, en geen sertifikaat hoef die masjien te verlaat nie:
Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList
Lees die uitset vir die eienskappe waarvan die besluit afhang: ’n bruikbare private sleutel, ’n aanvaarbare geldigheidsvenster, die bedoelde uitreiker en die doele in die uitbreiding. ’n Sertifikaat kan teenwoordig, korrek ingeskryf en terselfdertyd nutteloos vir hierdie verbinding wees. Die duimafdruk-kolom is waarmee jy later sal vergelyk, so hou die uitset.
Bevestig die profiel en sy omvang voordat jy wysig, want ’n masjien-sertifikaat in LocalMachine, ’n gebruiker-EAP-TLS-sertifikaat en ’n toepassing se eie private sleutelstoor is drie verskillende kontekste. Gebruik die alle-gebruikers-omvang en ’n administratiewe konteks wanneer die bestuurde profiel daar woon. Om ’n tweede profiel met ’n soortgelyke naam te skep, verberg watter konfigurasie die verbinding werklik gebruik.
Die uitreikerfilter wil ’n objek hê
Die uitreiker-parameter verwag ’n sertifikaatobjek, nie ’n vertoonnaam nie en nie ’n kaal duimafdruk-string nie. Verskaf die goedgekeurde owerheid se sertifikaat vanaf ’n pad wat jy nagegaan het, in die stoor waar dit hoort:
$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer
Moenie die kliënt se eie bladsertifikaat, ’n ander owerheid met ’n soortgelyke onderwerp, of ’n pas gegenereerde wortel vervang bloot omdat die parameter tipe dit aanvaar nie. Twee owerhede kan ’n onderwerpstring deel, en daarom saak die objek meer as die teks. Die Microsoft cmdlet-verwysing dokumenteer beide invoertipes, en dit is die moeite werd om dit voor die eerste wysiging te lees eerder as ná die mislukte poging.
Die gebruiksfilter wil ’n OID-string hê
Die uitgebreide-sleutelgebruik-parameter neem OID-stringe, en die kliëntverifikasie-doel is 1.3.6.1.5.5.7.3.2. Om dit toe te pas, beperk die kandidate tot sertifikate wat daardie doel dra, wat is wat ’n kliëntverifikasie-ontplooiing wil hê:
Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'
Die waarde is ’n skikking, so ’n ontplooiing wat verskeie doele nodig het, gee hulle as ’n lys. Wat die filter nie kan doen nie, is om ’n doel by ’n sertifikaat te voeg: dit is ’n keuringsuitdrukking wat teen ondertekende uitbreidings geëvalueer word, en geen filter herskryf dié nie, so ’n sertifikaat wat die doel mis, moet deur inskrywing teruggaan.
Hou gebruiker-sertifikaat-EAP-konfigurasie apart van masjien-sertifikaatfiltering, want hulle woon op verskillende plekke en ’n verandering aan een verduidelik selde ’n fout in die ander. Kyk ook of domein- of toestelbestuur die profiel besit, want ’n plaaslike wysiging kan by die volgende beleidsverfrissing vervang word sonder dat iemand aan die masjien raak.
Bewys watter sertifikaat die kliënt aangebied het
Stel ’n nuwe verbinding op en lees die kliënt- en bediener-verifikasiebewyse vir die identiteit wat jy bedoel het. Wanneer meer as een sertifikaat die filters bevredig, is die resultaat ’n kleiner poel eerder as ’n vasgepende blaar, so die volgende poging kan ’n ander lid kies. Let op die duimafdruk wat in daardie bewyse verskyn en vergelyk dit met die een wat jy uit die stoor aangeteken het.
’n Suksesvolle opdrag is nie ’n suksesvolle verifikasie nie. Die resultaat wat die moeite werd is om aan te teken, is die bedoelde sertifikaat wat onder die bestuurde beleid verifieer terwyl elke onverwante sertifikaat beskikbaar bly vir die dienste wat daarvan afhanklik is. As die fout albei filters oorleef, is die oorblywende kandidate die volgende plek om te kyk eerder as die profiel as geheel.