RDP och RD Gateway: SSL-certifikat installation
Remote Desktop Gateway använder HTTPS för att tunnla RDP-trafik säkert via internet. Denna guide täcker certifikatkrav, automatisk konfiguration med simple-acme, GPO-distribution till RDP-servrar och felsökning.
Arkitektur
En typisk Remote Desktop-konfiguration med gateway har flera komponenter som var och en kräver certifikat:
Internetklient
MSTSC / Remote Desktop
RD Gateway
HTTPS (port 443)
Publikt certifikat
RD Web Access
IIS (port 443)
Publikt certifikat
RDP-servrar
Internt nätverk
Internt/publikt cert
RD Gateway och RD Web Access körs vanligtvis på samma server.
Certifikatkrav
| Komponent | Certifikattyp | Värdnamn | Anmärkning |
|---|---|---|---|
| RD Gateway | Publikt (DV/OV) | rdp.example.se | Internetexponerad, publikt CA nödvändigt |
| RD Web Access | Publikt (DV/OV) | rdp.example.se | Samma värdnamn som gateway (IIS-binding) |
| RDP-servrar | Internt / publikt | server01.intern.se | Enbart NLA-autentisering |
Konfiguration med simple-acme
Simple-acme automatiserar hela certifikatlivscykeln: utfärdande, installation i Windows Certificate Store,
IIS-binding och binding till alla RDP-tjänster. Med det inbyggda ImportRDSFull.ps1-scriptet
hanteras RD Gateway, RD Connection Broker, RD Web Access och RDP-listener automatiskt vid varje förnyelse.
Simple-acme kommando
simple-acme.exe ^
--baseuri https://fairssl.dk/acme/ ^
--source manual ^
--host rdp.example.se ^
--validationmode dns-01 ^
--validation cloudflare ^
--cloudflareapitoken ER_CF_TOKEN ^
--csr ec ^
--store certificatestore ^
--installation iis,script ^
--siteid 1 ^
--script "Scripts\ImportRDSFull.ps1" ^
--scriptparameters "{CertThumbprint}" ^
--accepttos Vad händer automatiskt?
När simple-acme körs (manuellt eller via Task Scheduler) utför den dessa steg:
- 1 Utfärdar eller förnyar certifikatet via ACME med DNS-01 validering
- 2 Importerar certifikatet i Windows Certificate Store (
Cert:\LocalMachine\My) - 3 Uppdaterar IIS HTTPS-binding (
--installation iis) - 4 Kör
ImportRDSFull.ps1som binder certifikatet till RD Gateway, RD Connection Broker, RD Web Access och RDP-listener, och startar om relevanta tjänster
Viktiga inställningar i settings.json
I simple-acmes settings.json (eller settings_default.json), ställ in:
Store.CertificateStore.PrivateKeyExportabletilltrue(nödvändigt för RDP-tjänster)ScheduledTask.RenewalMinimumValidDaystill15(förnya senast 15 dagar före utgång)
DNS-validering med FairSSL AutoDNS
Har ni inte API-åtkomst till er DNS-leverantör kan ni använda FairSSL AutoDNS istället för Cloudflare. Konfigurera en CNAME-post en gång, och FairSSL hanterar all DNS-validering automatiskt:
# DNS: engångskonfiguration av CNAME _dnsauth.example.se CNAME ditt-unika-id.autodns.fairssl.dk.
Se simple-acme-guiden för fullständig dokumentation av scriptparametrar och Task Scheduler-konfiguration.
GPO-distribution (Active Directory)
Denna sektion är enbart relevant om dina RDP-servrar är domänanslutna Windows-maskiner i en Active Directory-miljö. Med Group Policy kan du konfigurera RDP-listenern och NLA-krav centralt:
- 1 Öppna Group Policy Management Console och skapa en ny GPO för RDP-servrar.
- 2 Navigera till Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Security.
- 3 Aktivera Server Authentication Certificate Template och ange certifikatmallen från ert interna CA, eller använd Require use of specific security layer for remote (RDP) connections inställd på SSL.
- 4 Under Require user authentication for remote connections by using NLA: ställ in på Enabled för att kräva NLA.
Ett internt CA-certifikat till RDP-servrar bakom gateway är en bra lösning. Distribuera rotcertifikatet via GPO till klienternas Trusted Root Certification Authorities-förråd. Då litar alla domänklienter automatiskt på RDP-servrarnas certifikat.
Hosts-fil trick: samma FQDN för gateway och intern RDP
Ett vanligt scenario: RD Gateway och RDP-servern använder samma publika FQDN (t.ex. rdp.example.se).
Klienten ansluter till gateway via det publika DNS, och gateway måste vidarebefodra till den interna RDP-servern.
Men gateway kan inte lösa rdp.example.se till den interna servern, eftersom publikt DNS pekar på gateway själv.
Lösningen är en hosts-filpost på gateway-servern:
# C:\Windows\System32\drivers\etc\hosts på RD Gateway-servern 10.0.1.50 rdp.example.se
Nu löser gateway rdp.example.se till den interna IP-adressen (10.0.1.50) och vidarebefodrar RDP-trafiken korrekt.
Klienten ser bara rdp.example.se och behöver inte känna till den interna IP-adressen.
Denna metod kräver att RDP-servern accepterar anslutningar på värdnamnet rdp.example.se.
Om RDP-servern använder NLA måste dess certifikat matcha rdp.example.se eller ha det som SAN.
Med ett wildcard-certifikat (*.example.se) på båda servrarna uppfylls detta automatiskt.
Felsökning
"The remote computer could not be authenticated"
Klienten litar inte på certifikatet. Kontrollera: (1) Är certifikatkedjan komplett (intermediate + leaf)? (2) Matchar värdnamnet i certifikatet det värdnamn klienten ansluter till? (3) Har certifikatet gått ut? Använd SSL Scanner för att verifiera.
RD Gateway: "Your computer can't connect to the remote computer"
Vanligtvis ett certifikatproblem på gateway-sidan. Kontrollera att certifikatet är bundet i RD Gateway Manager (inte bara IIS).
Kör Get-Item "RDS:\GatewayServer\SSLCertificate\Thumbprint" i PowerShell för att verifiera.
Se även till att TSGateway-tjänsten har startats om efter certifikatändring.
NLA misslyckas bakom gateway
NLA-autentisering sker mellan klient och RDP-server (inte gateway). Klienten måste lita på RDP-serverns certifikat. I en domänmiljö: distribuera certifikatet via GPO. Utan domän: importera rotcertifikatet manuellt i klientens Trusted Root-förråd.
Certifikat förnyat, men gateway använder det gamla
RD Gateway cachar certifikatbindningen. Starta om TSGateway-tjänsten: Restart-Service TSGateway -Force.
Kontrollera att post-förnyelsescriptet körs korrekt genom att granska loggfilerna i simple-acmes loggmapp.
Vanliga frågor om RDP och SSL
Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.
*.example.se) fungerar bra till RD Gateway, RD Web Access och interna RDP-anslutningar, så länge alla värdnamn ligger under samma domän. Det förenklar konfigurationen, eftersom ett enda certifikat täcker allt. Tänk dock på säkerhetsimplikationen: om wildcard-nyckeln komprometteras påverkas alla tjänster under domänen.Säkra er Remote Desktop-miljö
Skapa ett gratis konto och utfärda ditt första certifikat på under 10 minuter.