Per l’amministrazione remota di un sistema Windows mediante una comoda interfaccia grafica, Microsoft ha inventato anni fa il protocollo RDP.
Acronimo di Remote Desktop Protocol, RDP è un protocollo che permette di collegarsi a un computer remoto utilizzando, per impostazione predefinita, la porta TCP/UDP 3389 (che può essere ovviamente modificata).
Conosciuto anche come Microsoft Remote Desktop, il protocollo di rete RDP è abitualmente utilizzato dagli amministratori di macchine Windows Server in tutto il mondo per gestirle a distanza.
Il tradizionale client per l’accesso remoto è disponibile in tutte le versioni di Windows ed è richiamabile semplicemente digitando Connessione desktop remoto ma da qualche tempo gli utenti di Windows 10 possono scaricare dal Microsoft Store e usare gratuitamente l’app Desktop remoto, sempre sviluppata da Microsoft.
Tale app risultò la manna dal cielo, di recente, per alcuni utenti che non riuscivano più a collegarsi a server RDP con il programma Connessione desktop remoto dopo l’applicazione di alcune patch Microsoft.
Le società specializzate nella progettazione e nello sviluppo di soluzioni per la sicurezza informatica stanno segnalando, nel corso degli ultimi mesi, una vera e propria escalation degli attacchi sferrati nei confronti di server RDP.
Gli obiettivi sono macchine Windows Server stabilmente collegate alla rete Internet con indirizzo IP pubblico che vengono dapprima attaccate poi infettate con malware o, ancora più spesso, con ransomware piuttosto diffusi negli ultimi tempi.
L’attacco provoca la modifica della configurazione dei server e, nella maggior parte dei casi, la cifratura dei dati in essi contenuti.
Nella stragrande maggioranza dei casi gli aggressori sfruttano attacchi brute force ovvero tentano di “indovinare”, con una serie di prove effettuate in maniera sequenziale, la password utilizzata per l’accesso via RDP.
Nella configurazione di default le connessioni RDP non vengono filtrate dal sistema Windows Server e, ad esempio, non vengono bloccate dopo un certo numero di tentativi di accesso falliti, sintomo appunto dell’attacco brute force in corso.
Il sistema Windows Server si limita a riportare errori del tipo “The RD session host received large number of incomplete connections. The system may be under attack” nel registro degli eventi (evento con ID 1006).
Come difendersi dagli attacchi brute force verso il server di desktop remoto (RDP)
Abbiamo visto com’è semplice andare alla ricerca di server RDP accessibili sull’IP pubblico per qualunque macchina connessa alla rete Internet: Port scanning: un’arma a doppio taglio. Difendetevi.
Se poi il server RDP è in ascolto sulla porta standard 3389 per un eventuale aggressore è ancora più semplice individuarlo. Non che il semplice cambio della porta sulla quale desktop remoto viene posto in ascolto sia “la” soluzione: basta lanciare una scansione un po’ più approfondita per individuare comunque i server disponibili.
La semplicità con cui alcuni provider permettono oggi di creare i propri server cloud è davvero apprezzabile: in pochi minuti si può creare un server virtuale Linux o Windows Server (vedere ad esempio Come migrare i contenuti tra differenti provider. Verso il multi cloud) con il suo IP pubblico, immediatamente e direttamente connesso alla rete Internet.
Il fatto è che, come regola generale, il server fisico o cloud che sia non dovrebbero essere direttamente collegati alla rete Internet senza alcun tipo di filtro (leggasi firewall) utilizzato subito a monte.
Per difendersi dagli attacchi brute force nei confronti dei server RDP suggeriamo quindi:
1) Scegliere credenziali di accesso solide
Non usate account admin o Administrator sul server Windows ma utilizzate nomi utente più complessi. Per ciascuno di essi impostate poi password lunghe che non contengano parole che si trovano nei dizionari e formati da una sequenza complessa di caratteri alfanumerici e simboli.
2) Ridurre al minimo indispensabile gli account che possono collegarsi via RDP
In Windows Server premete la combinazione di tasti Windows+R
quindi digitate lusrmgr.msc
e premete Invio.
Controllate gli utenti che sono stati creati sulla macchina e quelli che hanno diritto di accedere al server in modalità remota.
Tutti gli account dotati dei privilegi amministrativi possono accedere via RDP in modalità remota. Cliccando due volte sul nome di un utente quindi facendo riferimento alla scheda Remote Desktop service profile e spuntando la casella Deny this user permission to log on to Remote Desktop Session Host server si eviterà che l’account corrispondente possa essere usato per la connessione in modalità remota.
3) Bloccare gli attacchi brute force verso server RDP sul nascere
Premendo Windows+R
quindi digitando secpol.msc
, si aprirà la finestra Criteri di sicurezza locali. Qui, si deve scegliere Account policies (o Criteri account) quindi Criterio di blocco account (Account Lockout Policy) e infine, nel pannello di destra, impostare le varie regole proposte.
Una consente di bloccare automaticamente l’account dopo il numero di login non validi, un’altra di riattivarlo trascorso un certo periodo di tempo. Suggeriamo di impostarle entrambe in modo da non rimanere esclusi dall’accesso al server remoto.
4) Impostare firewall e VPN
Il firewall di Windows, anche sui sistemi server, può essere impostato in maniera tale che accetti le connessioni RDP solo da determinati indirizzi IP client. Se si utilizzassero sempre sistemi collegati a modem router che usano IP pubblici di tipo statico (che non cambiano mai), allora si può autorizzare la connessione via RDP solo da quegli IP.
La soluzione migliore consiste comunque nell’installare un firewall, fisico o virtuale a monte dei server remoti. Nel caso dei server cloud si può creare una nuova macchina virtuale e installarvi un software come pfSense, IPCop o similari.
pfSense consente anche di configurare un server VPN in maniera tale che tutte le connessioni al server transitino attraverso un canale sicuro perché completamente crittografato end-to-end: pfSense consente di creare server OpenVPN ed esportare file per la configurazione automatica dei client.
Se si decidesse di accantonare server e firewall fisici, si può creare una LAN virtuale sul cloud appoggiandosi a uno dei provider che offrono questo servizio, allestire un firewall con pfSense o software similari, puntare gli IP dei vari server su tale macchina virtuale e usare i virtual switch per la rete interna.