Hoppa till innehåll

← Alla integrationer

Windows · Identitet och fjärråtkomst

Förnyar certifikatet som NPS använder för PEAP och EAP-TLS i de nätverksprinciper ni väljer och startar bara om IAS.

Serviceagenten på servern hämtar uppgiften från appliancen över utgående HTTPS på port 443 och installerar certifikatet lokalt på servern. Appliancen ansluter aldrig till servern.

Så går det till

  1. Serviceagenten på servern hämtar uppgiften från appliancen över utgående HTTPS, port 443.
  2. Windows grundfunktioner importerar först certifikatet i Windows certifikatarkiv (LocalMachine\My).
  3. Innan något ändras kontrolleras alla valda principer och certifikatet. Varje princip ska peka på exakt ett certifikat. Certifikatet ska vara RSA 2048, 3072 eller 4096 bitar med en privat nyckel som kan signera på servern, ett Subject med innehåll, Server Authentication och en giltighetsperiod som gäller nu. Om det misslyckas: Inget ändras. Resultatet nämner principen eller kravet utan konfigurationens innehåll och utan delade hemligheter.
  4. Schemalagda aktiviteter som paketet tar över inaktiveras och deras körande instanser stoppas. Konfigurationen sparas som återställningspunkt, bara de valda principerna skrivs med netsh nps set np, en ny export bevisar ändringen och bara tjänsten IAS startas om. RADIUS-autentisering pausar medan IAS startar om. Om det misslyckas: De tidigare värdena skrivs tillbaka och bevisas med en ny export, IAS körs igen och de aktiviteter som paketet inaktiverade aktiveras igen. Senare sätter rollback tillbaka det tidigare certifikatet i de principer som fortfarande har det installationen skrev.
  5. Kontroll: paketet exporterar konfigurationen och kontrollerar att de valda principerna bara pekar på det nya certifikatet, att det finns i LocalMachine\My med en användbar privat nyckel och att IAS körs. RADIUS och EAP går över UDP utan egen TLS-lyssnare, så det finns ingen TLS-handskakning att kontrollera. En ny EAP-inloggning är er egen kontroll.

Tekniska detaljer

Anslutning
Paketet körs genom serviceagenten på servern. Agenten ansluter över utgående HTTPS till appliancen, port 443 som standard. Ni öppnar ingen port in till servern.
Ni behöver
Serviceagenten installerad på servern. Agenten körs på själva NPS-servern med lokala administratörsrättigheter. Windows grundfunktioner (windows-cert-install) importerar certifikatet i LocalMachine\My i samma uppgift och lämnar dess thumbprint vidare till NPS-paketet.
Plattform
Windows Server 2012 till 2025 med rollen Network Policy and Access Services (Desktop Experience)
Åtgärder
Discovery, Installation, Kontroll, Rollback
Paket
windows-nps 1.0.0
Observera
  • Discovery visar varje nätverksprincip med dess EAP-typer och thumbprint för certifikatet den använder, de certifikat i LocalMachine\My som principerna pekar på, tjänsten IAS med de körande tjänster som är beroende av den, och schemalagda aktiviteter som också ändrar NPS. Varje princip och aktivitet har ett färdigt selectionValue. Skriv selectionValue för principerna som ska förnyas i PolicyNames, åtskilda med kommatecken, högst 1000 tecken. Inuti ett namn skrivs tecknen , % ; | ` $ < > och kontrolltecken som %XX; selectionValue gör det redan. Ett namn som inte passar någon princip eller passar två, eller en princip som inte använder något certifikat eller använder flera, ändrar inget. TakeOverTasks används bara för en aktivitet som även förnyar en annan tjänst och tar dess selectionValue i samma form.
  • Att ni väljer principerna är valet att ta över dem: en schemalagd aktivitet som bara ändrar NPS, för en vald princip eller utan att nämna en princip, inaktiveras och dess körande instans stoppas före ändringen, utan någon extra inställning. Det gäller även en förnyelseaktivitet från en ACME-klient (till exempel Posh-ACME eller Certify) vars enda installationssteg som discovery ser är NPS, och en aktivitet som kör skript som inte alla kunde läsas (även skript på en nätverksresurs). Resultatet nämner båda. Paketet väntar upp till 60 sekunder på att ingen instans körs, annars ändras inget. En aktivitet som även installerar certifikat i en annan tjänst (IIS, HTTP.sys, Fjärrskrivbord, Exchange) kan Windows bara inaktivera i sin helhet, och då stoppas de förnyelserna också. Så länge en sådan aktivitet, för en vald princip eller utan att nämna en princip, är aktiv eller körs ändrar installationen inget, och meddelandet nämner aktiviteten. Ta bort dess NPS-steg, eller ange den i TakeOverTasks med den selectionValue som meddelandet visar, så inaktiveras hela aktiviteten. Aktiviteter raderas och startas aldrig, och rollback aktiverar dem som installationen inaktiverade. Discovery hittar NPS-kommandon i aktivitetens kommandorad och i de lokala skriptfiler den kör, och visar de ACME-klientaktiviteter den hittar. Kommandon från en PowerShell-modul och ett NPS-steg som ligger i ACME-klientens egna förnyelseinställningar syns inte. Ta bort ett sådant steg i klienten.
  • Certifikat-autoenrollment rapporteras och ändras inte. När principen pekar på det nya certifikatet följer NPS inte längre det autoenrollade.
  • Bara IAS startas om, med Stop-Service utan -Force. Körs andra tjänster som är beroende av IAS vägrar Windows att stoppa den. Paketet skriver då tillbaka den tidigare konfigurationen, stoppar ingen annan tjänst och meddelar ias_restart_refused. Var IAS stoppad före installationen ändras principerna och IAS förblir stoppad. NPS använder certifikatet när IAS startar.
  • En NPS-export innehåller RADIUS-klienternas delade hemligheter i klartext. Exporter skrivs i en mapp som bara SYSTEM och Administrators kan öppna och raderas före resultatet. Hemligheterna kommer aldrig i ett resultat eller en logg. Återställningspunkten för varje ändring sparas i %ProgramData%\sslbrain-windows-nps, som bara SYSTEM och Administrators kan öppna, och de nyaste 10 behålls. Ägs mappen av ett annat konto används den inte och inget ändras. Skydda kopior av mappen som de delade hemligheterna. Kan de tidigare värdena inte skrivas tillbaka importerar paketet sin egen återställningspunkt, men bara när inget utanför de valda principerna har ändrats under tiden. En export innehåller inte loggning till SQL Server, så kontrollera den efter en sådan import. En ändring körs i taget per server. En avbruten körning tas upp av nästa: den startar om IAS, och schemalagda aktiviteter som den avbrutna körningen inaktiverade nämns i resultatet och aktiveras igen vid rollback eller fel.
  • Rollback kräver att det tidigare certifikatet fortfarande finns i LocalMachine\My med en användbar privat nyckel. Den ändrar bara principer som fortfarande har det installationen skrev. Har en princip ändrats sedan dess avvisas rollback, inget ändras och resultatet nämner de aktiviteter som installationen inaktiverade och som förblir inaktiverade.
  • Klienterna kontrollerar det nya certifikatet som de kontrollerade det gamla. En klient som litar på servern via ett thumbprint i sin Wi-Fi- eller VPN-profil, till exempel efter att en användare har godkänt en varning, frågar igen eller avvisar anslutningen. En profil som anger betrodda rot-CA:er eller servernamn måste innehålla det nya certifikatets rot och ett namn som certifikatet har. Uppdatera profilerna via grupprincip eller MDM innan ni byter till ett certifikat från en annan CA.
  • Kontrollen bevisar konfigurationen, certifikatet med dess privata nyckel och tjänsten IAS på servern. Om en klient genomför EAP med det nya certifikatet visar en riktig inloggning: eapol_test mot NPS-servern från en testdator som ni lägger upp som RADIUS-klient i NPS, eller en Windows-klient som har glömt nätverket. Klienter sparar NPS:s TLS-handle i 10 timmar som standard (Windows 10 och Windows Server 2016), så en ansluten klient kan återansluta utan full autentisering och se det nya certifikatet först senare.

Krav på certifikatet

Agenten accepterar RSA 2048, 3072 och 4096 bitar. Microsofts exempel för NPS-servercertifikatet är en RSA-nyckel på minst 2048 bitar med SHA-256. ECDSA är inte dokumenterat för NPS-servercertifikatet, så agenten accepterar det inte. Microsoft anger ingen största nyckelstorlek; 4096 är den största agenten accepterar.

Subject måste ha ett innehåll: NPS erbjuder inte ett certifikat med tomt Subject. Microsoft skriver inte Common Name (CN). Ett publikt DV-certifikat har högst CN i sitt Subject, så en profil utan CN (Let's Encrypt tlsserver och shortlived, Google Trust Services minimal) ger ett tomt Subject. Därför kräver agenten CN, och sslbrain beställer med CA:ns standardprofil, som har CN. Hos Let's Encrypt ska det första DNS-namnet vara kortare än 65 tecken för att bli CN. CN-kravet är sslbrains slutsats av regeln om Subject.

Certifikatet ska ha Extended Key Usage Server Authentication (1.3.6.1.5.5.7.3.1). Client Authentication krävs av klientcertifikat i EAP-TLS, inte av NPS-servercertifikatet. Microsoft anger inget krav på Key Usage, till exempel keyEncipherment, för servercertifikatet.

Har certifikatet ett Subject Alternative Name (SAN) måste det innehålla NPS-serverns DNS-namn. Klienter som validerar servernamnet måste ha ett namn från certifikatet i sin profil. Agenten meddelar det utan att avvisa när SAN saknar serverns namn. Microsoft dokumenterar ingen regel för IP-adresser i SAN (IP-SAN) eller för antalet SAN.

Wildcard: Windows 11 stöder ett wildcard-DNS-namn i SAN som tidigare Windows-versioner och avvisar inte längre direkt ett wildcard i CN, som tidigare Windows gjorde. Microsoft rekommenderar DNS-namnet i SAN. Agenten meddelar ett wildcard-namn utan att avvisa det.

windows-nps importerar ingenting: Windows grundfunktioner (windows-cert-install) importerar PFX-filen eller det andra formatet i LocalMachine\My och lämnar thumbprint vidare, och NPS väljer certifikatet efter thumbprint. PFX-kryptering (3DES eller AES), kedjans ordning och om roten är med hör till den importen, inte till NPS. NPS har ingen regel för friendly name.

Kedjan ska leda till en rot-CA som klienterna litar på, och där klientprofilen anger betrodda rötter ska den roten vara med. Agenten meddelar det när servern inte kan bygga kedjan.

Microsoft dokumenterar ingen kortaste eller längsta livslängd för NPS-servercertifikatet. Det ska vara giltigt nu. Går certifikatet som en princip använder ut kan klienterna på principen inte autentiseras förrän den pekar på ett giltigt certifikat.

Versioner: NPS stöder inte TLS 1.3, så PEAP och EAP-TLS använder TLS 1.2 mot NPS. Windows 11 21H2 jämför servernamnet med skillnad på stora och små bokstäver, 22H2 och senare gör det inte. Agenten exporterar med Export-NpsConfiguration och använder netsh nps export på servrar utan den cmdleten.

Kom igång