Il Problema: La Pesantezza del Remote Desktop (RDP)
![]() |
| Immagine realizzata con Gemini AI |
Gestire dozzine di server Windows Server aprendo sessioni in Desktop Remoto (RDP) è lento, consuma banda e lascia sessioni grafiche orfane appese nel sistema. Inoltre, esporre il protocollo RDP (porta 3389) sulle reti inter-ufficio aumenta inutilmente la superficie di attacco aziendale.
La Soluzione: PowerShell Remoting via WinRM
La soluzione moderna e scalabile per l'IT Management è PowerShell Remoting. Utilizzando il protocollo nativo WinRM (Windows Remote Management), puoi aprire sessioni interattive o eseguire script in batch su macchine remote direttamente dal tuo terminale, proprio come fai con SSH su Linux.
1. Abilitare WinRM sul Server Destinazione
Collegati al server target (o usa una Group Policy, GPO, se sei in un ambiente Active Directory) e apri una console PowerShell con privilegi di Amministratore. Esegui il comando di configurazione rapida:
Enable-PSRemoting -Force
Questo comando avvia il servizio WinRM, lo imposta su avvio automatico e crea le regole predefinite sul firewall (porte TCP 5985 HTTP). Tuttavia, in ambienti zero-trust, HTTP non basta.
2. Hardening: Forzare HTTPS (Porta 5986)
Per criptare il traffico a livello di trasporto e prevenire attacchi Man-In-The-Middle, devi vincolare WinRM a un certificato SSL. Supponendo di aver generato o richiesto un certificato per il server (via PKI aziendale), puoi creare un listener HTTPS tramite PowerShell:
# Recupera il thumbprint del certificato
$Cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -match "IlTuoServer" }
$Thumbprint = $Cert.Thumbprint
# Configura il listener HTTPS
New-Item -Path WSMan:\LocalHost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $Thumbprint -Force
Non dimenticare di aprire la porta 5986 sul firewall di Windows Server.
3. Eseguire la Connessione dal Client
Ora, dalla tua postazione di lavoro Sysadmin, puoi connetterti al server in totale sicurezza aprendo una sessione interattiva:
Enter-PSSession -ComputerName IlTuoServer -UseSSL -Credential (Get-Credential)
Il terminale cambierà prompt, confermandoti che ogni comando che scriverai da quel momento in poi verrà eseguito localmente sul server remoto.

Commenti
Posta un commento