Come proteggere un server desktop remoto di fronte pubblico?


16

Sto cercando di esporre il mio Remote Desktop Server (Terminal Services) a cui è possibile accedere dall'esterno della nostra rete. Al momento, è possibile accedervi solo dall'interno della nostra rete.

So che è abbastanza facile aprire il firewall e inoltrare la porta.

Tuttavia, come posso proteggere la macchina stessa e quali sono le migliori pratiche al riguardo? La mia preoccupazione è che gli hacker possano lavorare per irrompere.

Eventuali linee guida / raccomandazioni sulle migliori pratiche sarebbero molto apprezzate.


Modificare:

Domanda su un prodotto che ho trovato:

Filtra le connessioni RDP in entrata per IP, indirizzo MAC, nome computer e altro

Qualcuno può commentare la sicurezza di questo? Sembra che potrei anche usarlo per limitare l'accesso in base al nome della macchina / mac? Qualcun altro l'ha usato?


1
Penso che stai chiedendo non solo come proteggere questa macchina e qualsiasi connessione RDP ad essa, ma anche come ridurre il rischio per il resto della tua rete in caso di compromissione. È giusto?
Dunxd,

Sì, a causa delle dimensioni ridotte, esiste un solo server RDP e necessita di accesso completo al desktop / risorse di rete per gli utenti interni.
me2011

Risposte:


14

Questo potrebbe essere più di quello che stai cercando di fare, ma ecco come utilizziamo RDP per gli utenti remoti che non utilizzano VPN.

Di recente abbiamo iniziato a utilizzare RD Gateway Manager con Servizi Desktop remoto, un ruolo in Windows 2008. Abbiamo configurato per passare attraverso il nostro server TMG e direttamente a un computer degli utenti. Utilizza NLA come menzionato sopra. L'utente che si connette deve essere un membro del gruppo AD giusto e un membro del gruppo locale giusto per poter accedere. A seconda di come si desidera configurarlo, è possibile connettersi tramite una pagina Web che apre ciclicamente mstsc e immette le impostazioni proxy per il Gateway Desktop remoto, oppure è possibile configurare manualmente le impostazioni sul proprio computer in modo che ogni volta che lo si apre tenti di andare attraverso quel proxy. Finora ha funzionato abbastanza bene e sembra essere sicuro.


3
+1 per questo. Uso anche RD Gateway con grande successo e devi solo esporre la porta 443 a Internet perché funzioni. RD Gateway non era suscettibile al bug MS12-020 di alcune settimane fa che minacciava RDP.
Ryan Ries,

+1 ci sono anche MOLTI meno robot che attaccano i gateway RD rispetto al RDP diretto.
Concedi

8

Come la storia recente ci ha mostrato, ci sono rischi inerenti all'esposizione del protocollo. Tuttavia, ci sono alcuni passaggi che è possibile eseguire per proteggere il sistema:

  • Applicare l'autenticazione a livello di rete.
  • Applicare la crittografia della connessione.
  • Limitare gli utenti autorizzati ad accedere ai Servizi terminal al minimo assoluto e non consentire account "speciali" come l' Administratoraccount di dominio predefinito o idealmente altri account con privilegi elevati.
  • Assicurati che le password siano sicure sugli account a cui è consentito accedere. Dipende dal numero di utenti e dall'aspetto dei tuoi criteri in questo momento, ma scaricando gli hash e tentando di decifrarli, aumentando i limiti sulla lunghezza della password o semplicemente istruendo gli utenti sono buoni approcci.

6

Consiglio vivamente di utilizzare il servizio gateway Desktop remoto. Ti dà un posto dove è possibile applicare politiche su chi può connettersi a cosa da dove. Ti dà un buon posto per la registrazione, in modo da poter vedere chi sta tentando di accedere senza ispezionare i registri degli eventi dei singoli server nella farm.

Se non l'hai già fatto, assicurati che i criteri di blocco del tuo account siano impostati abbastanza bene. RDP anche con NLA e un gateway offre alle persone qualcosa per tentare di forzare le password in modo brutale. Una forte politica di blocco rende molto difficile il successo dei tentativi di forza bruta.

Installa certificati SSL validi sui sistemi, in modo che il client informi gli utenti finali se qualcuno sta tentando di eseguire un qualche tipo di attacco MITM.


3

Questo non è molto sicuro, tuttavia, ci sono alcuni modi per rafforzare la sicurezza.

Non consentire l'accesso a Internet da quel server. Molti dei malware più gravi tentano di comunicare con i loro server di comando e controllo quando compromettono il sistema. La configurazione di una regola di accesso al firewall per impedire l'accesso in uscita per impostazione predefinita e una regola per consentire l'accesso in uscita solo alle reti interne / note e alle sottoreti RFC 1928 possono mitigare il rischio.

Utilizzare smart card o altri tipi di autenticazione a due fattori. Questo è generalmente costoso e si trova principalmente nelle grandi organizzazioni, tuttavia le opzioni stanno migliorando (mi viene in mente PhoneFactor). Si noti che è possibile richiedere smart card per server, come opzione per configurarlo a livello di account.

Configurare una rete perimetrale, posizionare il server desktop remoto nel perimetro e utilizzare una VPN economica per fornire l'accesso. Un esempio potrebbe essere Hamachi. Si noti che è vietato l'accesso a Internet da una rete perimetrale.

Se possibile, non fornire un desktop completo, ma pubblicare le applicazioni di cui hanno bisogno. Se qualcuno ha solo bisogno di accedere a una singola applicazione, è anche possibile configurare un "programma iniziale", che potrebbe essere una semplice shell wrapper in grado di imporre una disconnessione alla chiusura dell'applicazione.


1

Suggerirei le seguenti misure:

  1. Modifica la porta utilizzata per la connessione desktop remoto
  2. Non utilizzare nomi utente generici ma una politica di denominazione più complicata
  3. Requisiti per password elevate
  4. Chiudi qualsiasi altra porta non utilizzata dall'esterno (in entrata)

Opzionale

  1. Utilizzare una VPN (CISCO, Open VPN ecc.), Quindi connettersi al server tramite IP interno.
  2. Se possibile, utilizzare l'accesso con smart card

Tendo a cambiare la porta sul firewall, non sul server (farlo sul server richiede modifiche al registro). Di solito è più semplice impostare una porta in avanti sul router e più sicuro (nessun contatto con il registro).
JohnThePro,

Sì :), l'ho appena detto perché alcune persone non hanno accesso o conoscenza al port forwarding dell'utente. Anche se si consiglia di non modificare il registro a meno che non sia necessario, non ho mai avuto problemi. L'unico problema che puoi riscontrare è se lo cambi in una porta già utilizzata.
Alex H

Sì, intendo che non è il più grande affare del mondo, e chiunque conosca regedit è probabilmente abbastanza intelligente da stare attento ... ma non puoi saperlo. :)
JohnThePro,

1

È possibile eseguire WinSSHD sulla porta 22 e quindi utilizzare il client Tunnelier per creare un tunnel e aprire automaticamente una sessione di Servizi terminal attraverso il tunnel con UN clic. Questo ti dà anche una bella opzione FTP sicura e per il trasferimento di file.


1

Uso il port forwarding ssh per queste cose e consento solo l'autenticazione basata su chiave pubblica a livello di utente. Anche tutte le chiavi private degli utenti devono essere crittografate. Su Windows Putty fa bene e il concorso rende facile per gli utenti caricare la propria chiave. Se non si esegue alcun server Linux / BSD che ha SSH per impostazione predefinita, è possibile utilizzare OpenSSH in Cygwin per farlo.

Raccomando un server shell remoto dedicato con un firewall locale che blocca le cose in cui non si desidera che le persone effettuino il remoting, poiché consentire il port forwarding in SSH sta praticamente aprendo qualsiasi server / porta interna agli utenti desiderati.


1

Bitvise SSH è un buon SSH gratuito per Windows.

Sceglierei una terminazione SSL VPN a basso costo dal perimetro del gateway client a Internet per qualcosa di più che un uso occasionale (ad esempio, In-Confidence commerciale).

Anche i post di cui sopra sulla protezione di RDP sono buone pratiche e dovrebbero sempre essere eseguiti se non si desidera condividere i computer con i freeloader.


0

non proprio le migliori pratiche ma alcuni pensieri casuali:

  • mantieni aggiornato il tuo sistema: consenti aggiornamenti automatici, non utilizzare prodotti a fine vita,
  • utilizzare password lunghe / complicate per tutti gli account di sistema
  • sarò rimproverato qui per aver suggerito la "sicurezza attraverso l'oscurità" ma non ti farà alcun male se:
    • cambia la porta 3389 / tcp predefinita in qualcos'altro come 26438 / tcp
    • aggiungi il port-knocking [se possibile] a livello di firewall in modo che il potenziale utente rdp debba prima visitare qualche pagina web e solo allora può rdp sul tuo server.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.