In questo periodo di emergenza sanitaria dovuta al COVID-19 la maggior parte del lavoro che prima svolgevamo nei nostri uffici è migrata verso lo “smart working”.
La necessità di lavorare da casa ha portato il 40% di incremento verso l’utilizzo del protocollo RDP per la connessione ai propri desktop.
Mentre da un lato la tecnologia ci viene in aiuto dall’altra però ci espone a diversi pericoli. Basta pensare che nel corso dell’anno gli attacchi di brute force al servizio RDP sono raddoppiati da parte del “Cybercrime”.
Nonostante l’RDP sia andato sempre migliorando, nuove vulnerabilità emergono frequentemente e tra queste voglio citare le seguenti:
Vulnerabilità della clipboard
Il canale per la condivisione degli appunti, responsabile del copia/incolla consente al client di copiare files da un computer all’altro. Qualora il computer client non abbia opportuni strumenti di controllo potrebbe essere vulnerabile ad un attacco del tipo “path traversal”; il server potrebbe quindi rilasciare file dannosi in percorsi arbitrari sul client o viceversa.
Vulnerabilità BlueKeep
BlueKeep è una vulnerabilità che consente ai aprire una falla nella nostra rete locale e consentire ad un malware la capacità di propagarsi a tutti i PC connessi. Tale vulnerabilità sembrerebbe essere causata da una condizione UAF che esiste all’interno del file termdd.sys (il quale è il driver del kernel RDP).
Vulnerabilità DejaBlue
Attualmente il DejaBlue fa parte di un gruppo composto da 4 vulnerabilità RDP che consentirebbero di eseguire codice in remoto senza necessità di autenticazione.
Come mettere in sicurezza il servizio RDP ?
Premesso che non esiste una soluzione definitiva al problema, cercherò di fornire indicazioni di massima su come “hardenizzare” (mettere in sicurezza) il servizio RDP per rendere la vita meno facile ai Cyber Criminali.
Aggiornamenti automatici abilitati
Mantenere il proprio sistema operativo sempre aggiornato è di fondamentale importanza. Assicuratevi quindi di abilitare tale funzionalità dalle impostazioni del sistema operativo.
Richiedere l’autenticazione utente per le connessioni tramite l’autenticazione a livello rete (Network Level Authentication)
Il livello di autenticazione a livello di rete è più avanzato rispetto alla normale autenticazione legacy e quindi offre meno punti deboli ai criminali informatici. Tale protezione è un valido aiuto contro la vulnerabilità BlueKeep.
Non permettere il reindirizzamento della clipboard
Come descritto sopra, l’utilizzo di tale funzionalità si può rivelare una potenziale vulnerabilità qualora il client o il server non siano abbastanza protetti. Consiglio di disattivarla se non strettamente necessaria.
Utilizzare password forti
Utilizzare password deboli offre agli aggressori ampie opportunità di successo nel tentativo di accedere ad un account.
Il consiglio principale è di usare password complesse di almeno 12 caratteri (con numeri, minuscole, maiuscole e caratteri speciali). Configurare tali account per essere bloccati dopo tre tentativi di password non valide. Da non dimenticare tutti gli accorgimenti e le norme imposte dal GDPR in merito.
Cambiare la porta predefinita del servizio
La maggior parte degli attacchi brute force al servizio avvengono utilizzando la porta predefinita 3389. Il consiglio è quello di variare la porta di ascolto inserendone una random (che naturalmente non vada in conflitto con un servizio esistente).
Limitare l’accesso all’indirizzo IP
Quando possibile cercate sempre di limitare l’accesso alla porta RDP solo ad IP specifici ed affidabili mediante l’utilizzo di firewall (sia hardware che software).
Autenticazioni a più livelli
Implemetare più forme di autenticazioni, come quelle basate su Token temporali, può aiutare ulteriormente a rendere più sicuro l’accesso. Di soluzioni ce ne sono numerose a pagamento ma ne trovate anche alcune open source quale ad esempio multiOTP.
Usare una VPN
Usare una VPN è uno dei modi migliori per proteggere il vostro server RDP, utilizzando quindi un canale criptato che metta in sicurezza la connessione.
Accedere al server RDP tramite un Tunnel SSH
Utilizzare un tunnel SSH è una buona alternativa per poter avviare un flusso di comunicazioni attraverso un canale criptato tramite Secure Shell. Il vantaggio di tale approccio è che la connessione RDP tra client e server avviene attraverso criptato ancor prima dello scambio delle chiavi previsto dal protocollo. in aggiunta, l’autenticazione SSH consente di essere effettuata tramite l’utilizzo di una coppia di chiavi notevolmente più sicura rispetto alle credenziali utente/passwod dell’RDP.
Conclusione
Fermo restando che la sicurezza totale non esiste, seguendo i consigli forniti potete almeno essere sicuri di aver tenuto conto di tutti i vari aspetti di sicurezza implementabili.
Al solito, per idee o suggerimenti resto sempre a vostra disposizione.