Hantera certifikat som används med NPS

Om du distribuerar en certifikatbaserad autentiseringsmetod, till exempel Extensible Authentication Protocol-Transport Layer Security (EAP-TLS), Protected Extensible Authentication Protocol-Transport Layer Security (PEAP-TLS) och PEAP-Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAP v2), måste du registrera ett servercertifikat för alla dina NPS. Servercertifikatet måste:

  • Uppfylla minimikraven för servercertifikat enligt beskrivningen i Konfigurera certifikatmallar för PEAP- och EAP-krav

  • Utfärdas av en certifikatutfärdare (CA) som är betrodd av klientdatorer. En Certifikatutfärdare betraktas som betrodd när dess certifikat finns i certifikatarkivet för Betrodda Rotcertifikatutfärdare för både den aktuella användaren och den lokala datorn.

Följande instruktioner hjälper dig att hantera NPS-certifikat i distributioner där den betrodda rotcertifikatutfärdare är en certifikatutfärdare från tredje part, till exempel Verisign, eller är en certifikatutfärdare som du har distribuerat för din offentliga nyckelinfrastruktur (PKI) med hjälp av služba Active Directory Certificate Services (AD CS).

Hantering av certifikats utgång

I Nätverksprincipserver (NPS) på Windows Server uppdateras inte det servercertifikat som du binder till en nätverksprincip automatiskt när den upphör att gälla. När certifikatet som tillämpas på en princip upphör att gälla måste en administratör manuellt uppdatera varje princip som använder certifikatbaserad autentisering för att referera till ett nytt certifikat som inte har upphört att gälla. Innan du uppdaterar principen kan klienter som förlitar sig på den principen inte autentiseras.

Note

Det här manuella steget krävs inte på NPS-servrar som konfigurerats för automatisk registrering av certifikat. Genom att använda automatisk registrering förnyas servercertifikatet automatiskt innan det upphör att gälla, och NPS fortsätter att använda det förnyade certifikatet utan administratörsintervention.

Du måste upprepa följande procedur för varje nätverksprincip som är konfigurerad för att använda certifikatbaserad autentisering (till exempel EAP-TLS, PEAP-TLS eller PEAP-MS-CHAP v2).

Medlemskap i administratörer, eller motsvarande, är det minsta som krävs för att slutföra den här proceduren.

Uppdatera certifikatet på en nätverksprincip

  1. Öppna konsolen för Network Policy Server.

  2. I konsolträdet expanderar du Principer och väljer sedan Nätverksprinciper.

  3. Högerklicka på den princip som du vill uppdatera i informationsfönstret och välj sedan Egenskaper.

  4. Välj fliken Begränsningar och välj sedan Autentiseringsmetoder.

  5. I listan EAP-typer väljer du den EAP-typ som använder certifikatet som upphör att gälla och väljer sedan Redigera.

  6. I listrutan Certifikat som utfärdats till väljer du det nya certifikatet (som inte har upphört att gälla) och väljer sedan OK.

  7. Välj Använd och välj sedan OK för att stänga principegenskaperna.

  8. Upprepa föregående steg för varje nätverksprincip som har konfigurerats för certifikatbaserad autentisering.

  9. Starta om IAS-tjänsten ( Network Policy Server ) för att ändringen ska börja gälla. Kör följande från kommandotolken med administratörsbehörighet:

    net stop ias && net start ias
    

Verifiera certifikatet som är bundet till en nätverksprincip

För att bekräfta vilket certifikat en nätverksprincip använder för närvarande exporterar du NPS-konfigurationen, letar upp principen efter namn och läser tumavtrycket för det konfigurerade certifikatet från EAP-konfigurationsbloben.

  1. Kör följande kodfragment från en upphöjd PowerShell-prompt. Ange $PolicyName namnet på den nätverksprincip som du vill verifiera.

    $PolicyName = "EAP configured network policy"  # Change this to your policy name (case-insensitive)
    $NPSConfigPath = "$env:TEMP\nps-config.xml"
    Export-NpsConfiguration -Path $NPSConfigPath
    $blob = (([xml](Get-Content "$env:TEMP\nps-config.xml" -Raw)).SelectNodes("//RadiusProfiles//*[@name]") | Where-Object { $_.name -ieq $PolicyName }).Properties.msEAPConfiguration.'#text'
    $found = [regex]::Matches($blob, '14000000([0-9a-f]{40})') | ForEach-Object { $_.Groups[1].Value.ToUpper() } | Select-Object -Unique
    if (-not $found) { "No certificate thumbprint found in policy '$PolicyName'" } elseif ($found.Count -eq 1) { "Bound certificate thumbprint:$found" } else { "WARNING: multiple candidate thumbprints found, manual review of $NPSConfigPath needed:`n$($found -join "`n")" }
    
  2. Jämför det returnerade tumavtrycket med tumavtrycket för det certifikat som du förväntar dig att principen ska använda (till exempel i snapin-modulen Certifikat under Lokal dator>Personligt-arkivet). Om de överensstämmer är policyn bunden till det förväntade certifikatet.

Ändra förfallodatum för cachelagrat TLS-handtag

Under de första autentiseringsprocesserna för EAP-TLS, PEAP-TLS och PEAP-MS-CHAP v2 cachelagrar NPS en del av den anslutande klientens TLS-anslutningsegenskaper. Klienten cachelagrar också en del av NPS TLS-anslutningsegenskaper.

Varje enskild samling av dessa TLS-anslutningsegenskaper kallas för TLS-handtag.

Klientdatorer kan cachelagrar TLS-handtagen för flera autentiseringar, medan NPS kan cachelagrar TLS-handtagen på många klientdatorer.

De cachade TLS-hanteringarna på klienten och servern möjliggör att omautentisering kan ske snabbare. När en trådlös dator till exempel autentiserar igen med en NPS kan NPS undersöka TLS-handtaget för den trådlösa klienten och snabbt fastställa att klientanslutningen är en återanslutning. NPS auktoriserar anslutningen utan fullständig autentisering.

På motsvarande sätt undersöker klienten TLS-handtaget för NPS, fastställer att det är en återanslutning och behöver inte utföra serverautentisering.

På datorer som kör Windows 10 och Windows Server 2016 är standardtiden för utgången av TLS-sessionen 10 timmar.

I vissa fall kan du vilja öka eller minska TLS-handtagets förfallotid.

Du kanske till exempel vill minska TLS-handtagets förfallotid under omständigheter där en användares certifikat återkallas av en administratör och certifikatet har upphört att gälla. I det här scenariot kan användaren fortfarande ansluta till nätverket om en NPS har en cachelagrad TLS-referens som inte har upphört att gälla. Att minska tidsbegränsningen för TLS-handtaget kan hjälpa till att förhindra att användare med återkallade certifikat återansluter.

Note

Den bästa lösningen på det här scenariot är att inaktivera användarkontot i služba Active Directory eller att ta bort användarkontot från den služba Active Directory-grupp som har beviljats behörighet att ansluta till nätverket i nätverksprincipen. Spridningen av dessa ändringar till alla domänkontrollanter kan dock också fördröjas på grund av replikeringsfördröjning.

Konfigurera TLS-handtagets förfallotid på klientdatorer

Du kan använda den här proceduren för att ändra hur lång tid klientdatorer cachelagrar TLS-handtaget för en NPS. Efter att ha lyckats autentisera en NPS, cachelagrar klientdatorer TLS-anslutningsegenskaper för NPS som ett TLS-handtag. TLS-handtaget har en standardvaraktighet på 10 timmar (36 000 000 millisekunder). Du kan öka eller minska TLS-handtagets förfallotid med hjälp av följande procedur.

Medlemskap i administratörer, eller motsvarande, är det minsta som krävs för att slutföra den här proceduren.

Important

Den här proceduren måste utföras på en NPS, inte på en klientdator.

Så här konfigurerar du TLS-handtagets förfallotid på klientdatorer

  1. Öppna Registereditorn på en NPS.

  2. Bläddra till registernyckeln HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. På menyn Redigera klickar du på Nytt och sedan på Nyckel.

  4. Skriv ClientCacheTime och tryck sedan på RETUR.

  5. Högerklicka på ClientCacheTime, klicka på Nytt och klicka sedan på DWORD-värde (32 bitar).

  6. Skriv in den tid, i millisekunder, som du vill att klientdatorerna ska lagra TLS-handtaget i cache för en NPS efter det första lyckade autentiseringsförsöket med NPS.

Konfigurera förfallotiden för TLS-handtag på NPS-systemen

Använd den här proceduren för att ändra hur länge NPS cachelagrar TLS-handtaget för klientdatorer. Efter att ha autentiserat en åtkomstklient framgångsrikt cachelagrar NPS TLS-anslutningsegenskaperna för klientdatorn som ett TLS-handtag. TLS-handtaget har en standardvaraktighet på 10 timmar (36 000 000 millisekunder). Du kan öka eller minska TLS-handtagets förfallotid med hjälp av följande procedur.

Medlemskap i administratörer, eller motsvarande, är det minsta som krävs för att slutföra den här proceduren.

Important

Den här proceduren måste utföras på en NPS, inte på en klientdator.

Så här konfigurerar du TLS-handtagets förfallotid på NPS

  1. Öppna Registereditorn på en NPS.

  2. Bläddra till registernyckeln HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. På menyn Redigera klickar du på Nytt och sedan på Nyckel.

  4. Skriv ServerCacheTime och tryck sedan på RETUR.

  5. Högerklicka på ServerCacheTime, klicka på Nytt och klicka sedan på DWORD-värde (32 bitar).

  6. Ange hur lång tid, i millisekunder, som du vill att NPS ska cachelagra TLS-handtaget på en klientdator efter det första lyckade autentiseringsförsök från klienten.

Hämta SHA-1-hashen för ett betrott rotcertifikat

Använd den här proceduren för att hämta SHA-1-hashen (Secure Hash Algorithm) av en betrodd certifikatutfärdare (CA) från ett certifikat som är installerat på den lokala datorn. I vissa fall, till exempel när du distribuerar en grupprincip, är det nödvändigt att ange ett certifikat med hjälp av SHA-1-hashen för certifikatet.

När du använder grupppolicy kan du ange ett eller flera betrodda rot-CA-certifikat som klienter måste använda för att autentisera NPS under ömsesidig autentisering med EAP eller PEAP. Om du vill ange ett betrott rot CA-certifikat som klienterna måste använda för att verifiera servercertifikatet kan du ange SHA-1-hashen för certifikatet.

Den här proceduren visar hur du hämtar SHA-1 hash för ett betrott rot-CA-certifikat med hjälp av Certifikat-snapinmodulen i Microsoft Management Console (MMC).

För att slutföra den här proceduren måste du vara medlem i gruppen Användare på den lokala datorn.

För att erhålla SHA-1-hashen av ett betrott rot-CA-certifikat

  1. I dialogrutan Kör eller Windows PowerShell skriver du mmc och trycker sedan på RETUR. Microsoft Management Console (MMC) öppnas. I MMC klickar du på Arkiv och sedan på Lägg till/ta bort snapin\in. Dialogrutan Lägg till eller ta bort snapin-moduler öppnas.

  2. Dubbelklicka på Certifikat i Tillgängliga snapin-moduler i Lägg till eller ta bort snapin-moduler. Snapin-modulguiden för certifikat öppnas. Klicka på Datorkonto och sedan på Nästa.

  3. I Välj dator kontrollerar du att Den lokala datorn (datorn som konsolen körs på) är markerad, klickar på Slutför och klickar sedan på OK.

  4. Dubbelklicka på Certifikat (lokal dator) i den vänstra rutan och dubbelklicka sedan på mappen Betrodda rotcertifikatutfärdare .

  5. Mappen Certifikat är en undermapp i mappen Betrodda rotcertifikatutfärdare . Klicka på mappen Certifikat .

  6. I informationsfönstret bläddrar du till certifikatet för din betrodda rot-CA. Dubbelklicka på certifikatet. Dialogrutan Certifikat öppnas.

  7. I dialogrutan Certifikat klickar du på fliken Information .

  8. I listan med fält bläddrar du till och väljer Tumavtryck.

  9. I den nedre rutan visas den hexadecimala strängen som är SHA-1-hash för certifikatet. Välj SHA-1-hashen och tryck sedan på Kortkommandot för Windows för kommandot Kopiera (CTRL+C) för att kopiera hashen till Urklipp i Windows.

  10. Öppna den plats där du vill klistra in SHA-1-hashen, leta rätt på markören och tryck sedan på Windows-kortkommandot för kommandot Klistra in (CTRL+V).

Mer information om certifikat och NPS finns i Konfigurera certifikatmallar för PEAP- och EAP-krav.

Mer information om NPS finns i Network Policy Server (NPS).