Gå til indhold

← Alle integrationer

Windows · Identitet og fjernadgang

Fornyer certifikatet, som NPS bruger til PEAP og EAP-TLS i de netværkspolitikker, I vælger, og genstarter kun IAS.

Service-agenten på serveren henter opgaven fra appliancen over udgående HTTPS på port 443 og installerer certifikatet lokalt på serveren. Appliancen forbinder aldrig til serveren.

Sådan forløber det

  1. Service-agenten på serveren henter opgaven fra appliancen over udgående HTTPS, port 443.
  2. Windows grundfunktioner importerer først certifikatet i Windows-certifikatlageret (LocalMachine\My).
  3. Før noget ændres, kontrolleres alle valgte politikker og certifikatet. Hver politik skal pege på præcis ét certifikat. Certifikatet skal være RSA 2048, 3072 eller 4096 bit med en privat nøgle, der kan signere på serveren, et Subject med indhold, Server Authentication og en gyldighedsperiode, der gælder nu. Hvis det fejler: Intet ændres. Resultatet nævner politikken eller kravet uden konfigurationens indhold og uden delte hemmeligheder.
  4. Planlagte opgaver, som pakken overtager, deaktiveres, og deres kørende instanser stoppes. Konfigurationen gemmes som gendannelsespunkt, kun de valgte politikker skrives med netsh nps set np, en ny eksport beviser ændringen, og kun tjenesten IAS genstartes. RADIUS-godkendelse holder pause, mens IAS genstarter. Hvis det fejler: De forrige værdier skrives tilbage og bevises med en ny eksport, IAS kører igen, og de opgaver, pakken deaktiverede, aktiveres igen. Senere sætter rollback det forrige certifikat tilbage i de politikker, der stadig har det, installationen skrev.
  5. Kontrol: pakken eksporterer konfigurationen og kontrollerer, at de valgte politikker kun peger på det nye certifikat, at det ligger i LocalMachine\My med en brugbar privat nøgle, og at IAS kører. RADIUS og EAP går over UDP uden egen TLS-lytter, så der er intet TLS-håndtryk at kontrollere. Et nyt EAP-login er jeres egen kontrol.

Tekniske detaljer

Forbindelse
Pakken kører gennem service-agenten på serveren. Agenten forbinder over udgående HTTPS til appliancen, port 443 som standard. I åbner ingen port ind til serveren.
I skal bruge
Service-agenten installeret på serveren. Agenten kører på selve NPS-serveren med lokale administratorrettigheder. Windows grundfunktioner (windows-cert-install) importerer certifikatet i LocalMachine\My i samme opgave og giver dets thumbprint videre til NPS-pakken.
Platform
Windows Server 2012 til 2025 med rollen Network Policy and Access Services (Desktop Experience)
Handlinger
Discovery, Installation, Kontrol, Rollback
Pakker
windows-nps 1.0.0
Bemærk
  • Discovery viser hver netværkspolitik med dens EAP-typer og thumbprint for det certifikat, den bruger, de certifikater i LocalMachine\My, som politikkerne peger på, tjenesten IAS med de kørende tjenester, der afhænger af den, og planlagte opgaver, der også ændrer NPS. Hver politik og opgave har en færdig selectionValue. Skriv selectionValue for de politikker, der skal fornyes, i PolicyNames, adskilt med komma, højst 1000 tegn. Inde i et navn skrives tegnene , % ; | ` $ < > og kontroltegn som %XX; selectionValue gør det allerede. Et navn, der ikke passer på nogen politik eller passer på to, eller en politik, der ikke bruger noget certifikat eller bruger flere, ændrer intet. TakeOverTasks bruges kun til en opgave, der også fornyer en anden tjeneste, og tager dens selectionValue i samme form.
  • At I vælger politikkerne, er valget om at overtage dem: en planlagt opgave, der kun ændrer NPS, for en valgt politik eller uden at nævne en politik, deaktiveres, og dens kørende instans stoppes før ændringen, uden nogen ekstra indstilling. Det gælder også en fornyelsesopgave fra en ACME-klient (for eksempel Posh-ACME eller Certify), hvis eneste installationstrin, som discovery ser, er NPS, og en opgave, der kører scripts, som ikke alle kunne læses (også scripts på et netværksshare). Resultatet nævner begge dele. Pakken venter op til 60 sekunder på, at ingen instans kører, ellers ændres intet. En opgave, der også installerer certifikater i en anden tjeneste (IIS, HTTP.sys, Fjernskrivebord, Exchange), kan Windows kun deaktivere som helhed, og så stopper de fornyelser også. Så længe sådan en opgave, for en valgt politik eller uden at nævne en politik, er aktiv eller kører, ændrer installationen intet, og meldingen nævner opgaven. Fjern dens NPS-trin, eller angiv den i TakeOverTasks med den selectionValue, meldingen viser, så deaktiveres hele opgaven. Opgaver slettes og startes aldrig, og rollback aktiverer dem, installationen deaktiverede. Discovery finder NPS-kommandoer i opgavens kommandolinje og i de lokale scriptfiler, den kører, og viser de ACME-klientopgaver, den finder. Kommandoer fra et PowerShell-modul og et NPS-trin, der ligger i ACME-klientens egne fornyelsesindstillinger, ses ikke. Fjern et sådant trin i klienten.
  • Certifikat-autoenrollment rapporteres og ændres ikke. Når politikken peger på det nye certifikat, følger NPS ikke længere det autoenrollede.
  • Kun IAS genstartes, med Stop-Service uden -Force. Kører andre tjenester, der afhænger af IAS, afviser Windows at stoppe den. Pakken skriver så den forrige konfiguration tilbage, stopper ingen anden tjeneste og melder ias_restart_refused. Var IAS stoppet før installationen, ændres politikkerne, og IAS forbliver stoppet. NPS bruger certifikatet, når IAS starter.
  • En NPS-eksport indeholder RADIUS-klienternes delte hemmeligheder i klartekst. Eksporter skrives i en mappe, som kun SYSTEM og Administrators kan åbne, og slettes før resultatet. Hemmelighederne kommer aldrig i et resultat eller en log. Gendannelsespunktet for hver ændring gemmes i %ProgramData%\sslbrain-windows-nps, som kun SYSTEM og Administrators kan åbne, og de nyeste 10 beholdes. Ejes mappen af en anden konto, bruges den ikke, og intet ændres. Beskyt kopier af mappen som de delte hemmeligheder. Kan de forrige værdier ikke skrives tilbage, importerer pakken sit eget gendannelsespunkt, men kun når intet uden for de valgte politikker er ændret imens. En eksport indeholder ikke logning til SQL Server, så kontroller den efter en sådan import. Der kører én ændring ad gangen pr. server. En afbrudt kørsel samles op af den næste: den genstarter IAS, og planlagte opgaver, som den afbrudte kørsel deaktiverede, nævnes i resultatet og aktiveres igen ved rollback eller fejl.
  • Rollback kræver, at det forrige certifikat stadig ligger i LocalMachine\My med en brugbar privat nøgle. Den ændrer kun politikker, der stadig har det, installationen skrev. Er en politik ændret siden, afvises rollback, intet ændres, og resultatet nævner de opgaver, installationen deaktiverede, som forbliver deaktiverede.
  • Klienterne kontrollerer det nye certifikat, som de kontrollerede det gamle. En klient, der stoler på serveren via et thumbprint i sin Wi-Fi- eller VPN-profil, for eksempel efter at en bruger har godkendt en advarsel, spørger igen eller afviser forbindelsen. En profil, der angiver betroede rod-CA'er eller servernavne, skal indeholde det nye certifikats rod og et navn, certifikatet har. Opdater profilerne via gruppepolitik eller MDM, før I skifter til et certifikat fra en anden CA.
  • Kontrollen beviser konfigurationen, certifikatet med dets private nøgle og tjenesten IAS på serveren. Om en klient gennemfører EAP med det nye certifikat, viser et rigtigt login: eapol_test mod NPS-serveren fra en testmaskine, I opretter som RADIUS-klient i NPS, eller en Windows-klient, der har glemt netværket. Klienter gemmer NPS' TLS-handle i 10 timer som standard (Windows 10 og Windows Server 2016), så en tilsluttet klient kan genforbinde uden fuld godkendelse og først se det nye certifikat senere.

Krav til certifikatet

Agenten accepterer RSA 2048, 3072 og 4096 bit. Microsofts eksempel for NPS-servercertifikatet er en RSA-nøgle på mindst 2048 bit med SHA-256. ECDSA er ikke dokumenteret for NPS-servercertifikatet, så agenten accepterer det ikke. Microsoft angiver ingen maksimal nøglestørrelse; 4096 er den største, agenten accepterer.

Subject skal have et indhold: NPS tilbyder ikke et certifikat med tomt Subject. Microsoft skriver ikke Common Name (CN). Et offentligt DV-certifikat har højst CN i sit Subject, så en profil uden CN (Let's Encrypt tlsserver og shortlived, Google Trust Services minimal) giver et tomt Subject. Derfor kræver agenten CN, og sslbrain bestiller med CA'ens standardprofil, som har CN. Hos Let's Encrypt skal det første DNS-navn være kortere end 65 tegn for at blive CN. CN-kravet er sslbrains udledning af reglen om Subject.

Certifikatet skal have Extended Key Usage Server Authentication (1.3.6.1.5.5.7.3.1). Client Authentication kræves af klientcertifikater i EAP-TLS, ikke af NPS-servercertifikatet. Microsoft angiver intet krav til Key Usage, for eksempel keyEncipherment, for servercertifikatet.

Har certifikatet et Subject Alternative Name (SAN), skal det indeholde NPS-serverens DNS-navn. Klienter, der validerer servernavnet, skal have et navn fra certifikatet i deres profil. Agenten melder det uden at afvise, når SAN mangler serverens navn. Microsoft dokumenterer ingen regel for IP-adresser i SAN (IP-SAN) eller for antallet af SAN.

Wildcard: Windows 11 understøtter et wildcard-DNS-navn i SAN som tidligere Windows-versioner og afviser ikke længere straks et wildcard i CN, som tidligere Windows gjorde. Microsoft anbefaler DNS-navnet i SAN. Agenten melder et wildcard-navn uden at afvise det.

windows-nps importerer ingenting: Windows grundfunktioner (windows-cert-install) importerer PFX-filen eller det andet format i LocalMachine\My og giver thumbprint videre, og NPS vælger certifikatet efter thumbprint. PFX-kryptering (3DES eller AES), kædens rækkefølge og om roden er med, hører til den import, ikke til NPS. NPS har ingen regel for friendly name.

Kæden skal føre til en rod-CA, som klienterne stoler på, og hvor klientprofilen angiver betroede rødder, skal den rod være med. Agenten melder det, når serveren ikke kan bygge kæden.

Microsoft dokumenterer ingen mindste eller største levetid for NPS-servercertifikatet. Det skal være gyldigt nu. Udløber certifikatet, som en politik bruger, kan klienterne på politikken ikke godkendes, før den peger på et gyldigt certifikat.

Versioner: NPS understøtter ikke TLS 1.3, så PEAP og EAP-TLS bruger TLS 1.2 mod NPS. Windows 11 21H2 sammenligner servernavnet med forskel på store og små bogstaver, 22H2 og nyere gør ikke. Agenten eksporterer med Export-NpsConfiguration og bruger netsh nps export på servere uden den cmdlet.

Kom i gang