NetScaler / Citrix ADC SSL-certifikat via ACME
NetScaler kan ikke selv hente ACME-certifikater. Vi bruger en Windows-server til management med simple-acme og et færdigt PowerShell-script, der overfører certifikatet via NITRO API. Hele forløbet, inklusive fornyelser, kører uden manuel handling.
Understøttede versioner
| Platform | Versioner | Kører på | ACME-klient |
|---|---|---|---|
| NetScaler ADC | VersionerGuiden sætter ingen versionsgrænse | Kører påWindows Server 2016 eller nyere, eller 2012/2012 R2 med WMF 5.1 (PowerShell 5.1) | ACME-klientsimple-acme 2.4.0+ (FairSSL-udgaven, .NET 10 medfølger) + NITRO API, CredentialManager |
Sådan er løsningen sat op
- ✓ Windows Server (kan være en eksisterende managementserver) kører simple-acme.
- ✓ simple-acme henter certifikatet fra FairSSL via AutoDNS-validering. Ingen DNS API-nøgler nødvendige.
- ✓
Install-NetScalerCert.ps1kører som installationsscript og overfører certifikatet til NetScaler via NITRO REST API over HTTPS. - ✓ Scriptet binder certifikatet til en eller flere SSL vServere (eller global VPN-binding) og gemmer konfigurationen.
- ✓ Den daglige planlagte opgave fra simple-acme fornyer automatisk, når ARI eller den indbyggede 7-dages fallback udløser fornyelse.
Opsætning
Trin 1: Installer simple-acme
Hent FairSSL-udgaven af simple-acme
(forudkonfigureret med ACME-adresse og fornyelsesindstillinger, og indeholder
Install-NetScalerCert.ps1 i Scripts-mappen). Udpak til C:\simple-acme. Installer
derefter CredentialManager-modulet, som scriptet bruger til at slå login op sikkert.
# PowerShell, Run as Administrator
Install-Module CredentialManager -Force -Scope CurrentUser Trin 2: Opret NITRO-bruger på NetScaler
På NetScaler: opret en dedikeret automatiseringsbruger, der må bruge NITRO API til at uploade SSL-filer, oprette eller opdatere SSL cert-key-par, binde certifikater til SSL vServere og gemme konfigurationen. Gem kontoens legitimationsoplysninger i Windows Credential Manager på managementserveren.
$credential = Get-Credential -UserName "nsadmin" -Message "NetScaler NITRO-bruger"
New-StoredCredential -Target "NetScaler-acme-user" -Credentials $credential -Persist LocalMachine Trin 3: Konfigurer AutoDNS
I dit FairSSL-kontrolpanel: opret en CNAME viderestilling for _dnsauth.<dit-domæne>
til FairSSLs DNS-server. Engangsopsætning. Se den fulde
AutoDNS-vejledning.
Trin 4: Udsted og installer
Kør kommandoen fra C:\simple-acme som administrator. Erstat YOUR_NS_HOST,
YOUR_ADC_CERTKEY_NAME og YOUR_VSERVER_NAME. Hvis du fornyer et certifikat, der
allerede er bundet, skal du angive det eksisterende cert-key-navn i -certName.
wacs.exe --verbose --baseuri "https://fairssl.dk/acme" `
--eab-key-identifier DIN_EAB_KID --eab-key DIN_EAB_HMAC --accepttos `
--source manual --host "ns.eksempel.dk" --validation none `
--store pemfiles --pemfilespath "C:\simple-acme\Certificates" `
--pemfilesname "ns-eksempel-dk" --friendlyname "fairssl-ns-cert" `
--installation script --script ".\Scripts\Install-NetScalerCert.ps1" `
--scriptparameters "-StorePath 'C:\simple-acme\Certificates' -FilePrefix 'ns-eksempel-dk' -nsHost 'YOUR_NS_HOST' -certName 'YOUR_ADC_CERTKEY_NAME' -vServerName 'YOUR_VSERVER_NAME' -CredentialTarget 'NetScaler-acme-user'"
Standardvalget er -DeploymentMode Auto, som vælger SSL cert-key bundle på understøttede
versioner (14.1 build 21.x+) og klassisk cert-key ellers. Brug -DeploymentMode Classic hvis
enheden kræver den ældre metode.
Trin 5: Almindelige varianter
- Flere vServere: brug
-vServerName 'VS1,VS2' - SNI-bindinger: tilføj
-SniCert - Citrix Gateway / global VPN: fjern
-vServerNameog tilføj-BindGlobalVpn - Betroet managementcertifikat: tilføj
-ValidateManagementCertificate - Brug HTTPS til management:
-UseHttpfindes som mulighed, men brug den kun på et isoleret managementnetværk, da legitimationsoplysninger og private nøgler ellers sendes ukrypteret.
Trin 6: Verificér
I NetScalers web-UI: kontrollér under Traffic Management > SSL > Certificates, at det nye certifikat er uploadet, og at den valgte SSL vServer eller VPN-binding bruger det. Hvis tjenesten er offentlig, så kør hostnavnet gennem FairSSLs SSL-scanner.
Fejlfinding
Scriptet kan ikke nå NetScalers management-interface
Windows-serveren skal kunne nå NetScalers managementadresse på TCP/443 (eller TCP/80, hvis du har sat -UseHttp, hvilket ikke er anbefalet). Tjek firewall-regler, at managementadressen er tilgængelig over HTTPS, og at den anvendte konto kan logge på NITRO API.
NITRO returnerer 401 Unauthorized
Den NITRO-bruger, der er gemt i Credential Manager, har ikke nok rettigheder. NetScaler-brugeren skal kunne læse versionen og eksisterende cert-key, uploade systemfiler, oprette og opdatere SSL cert-key eller SSL cert-key bundle, binde certifikater til SSL vServer eller global VPN, og gemme konfigurationen. Tildel brugeren en command-policy, der dækker disse NITRO-operationer.
Certifikatet uploades, men bindes ikke
Tjek at -vServerName matcher det eksakte navn på SSL vServeren. Husk -SniCert, hvis du bruger SNI. Til global VPN-binding bruges -BindGlobalVpn i stedet for -vServerName.
Certifikater på mange servere og appliances
Et offentligt SSL-certifikat kan højst være gyldigt i 199 dage nu, 99 dage senest 15-03-2027 og 46 dage senest 15-03-2029. Hvert certifikat skal dermed skiftes mindst to gange om året nu og mindst otte gange om året fra 2029, på hver server, firewall og load balancer, det bruges på. sslbrain fra FairSSL kører som en appliance i jeres eget netværk og fornyer og installerer certifikaterne fra ét sted, også på udstyr uden agent.
Sådan fornyer og installerer sslbrain certifikater på NetScaler(åbner sslbrain.com i en ny fane)Ofte stillede spørgsmål
Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.
Auto-tilstand, der spørger enheden om versionen og vælger SSL cert-key bundle, når ADC-versionen understøtter det, og der ikke allerede findes en klassisk cert-key med samme navn. Ældre enheder og global VPN-binding bruger klassisk SSL cert-key, fordi bundles kun kan bindes til SSL vServere. Brug -DeploymentMode Classic, hvis du vil tvinge den ældre metode.-ValidateManagementCertificate i parametrene, hvis NetScalers managementcertifikat er betroet af Windows-serveren, og du vil håndhæve fuld TLS-validering.-vServerName "VS1,VS2,VS3" i scriptets parametre. Scriptet binder det samme certifikat til alle anførte vServere og gemmer konfigurationen til slut.-vServerName og tilføj -BindGlobalVpn. Global VPN-binding bruger altid klassisk SSL cert-key (ikke bundles), så scriptet vælger automatisk det rigtige format.Klar til at automatisere NetScaler-certifikater?
Opret en gratis konto og bestil dit første certifikat. Et DV-certifikat udstedes på under 2 minutter.