È pericoloso mantenere aperto RDP su Internet?

Ho spesso letto opinioni secondo cui mantenere aperto il port RDP (Remote Desktop Protocol) su Internet è molto insicuro e non dovrebbe essere fatto. L'accesso a RDP dovrebbe essere fornito solo tramite VPN o da determinati indirizzi IP "white-list".

Amministro diversi server Windows per piccole aziende, dove mi è stato chiesto di garantire l'accesso remoto ai server Windows per i contabili. È una tendenza moderna: lavorare da casa. Ho rapidamente capito che costringere i contabili a utilizzare una VPN è un compito ingrato, e non è possibile raccogliere tutti gli IP per la white list, perché gli indirizzi IP delle persone sono dinamici.

Perciò ho scelto la soluzione più semplice: ho esposto il port RDP all'esterno. Ora, per accedere, i contabili devono avviare RDP e inserire il nome host (incluso il port), il nome utente e la password.

In questo articolo condividerò la mia esperienza (sia positiva che negativa) e alcune raccomandazioni.

Rischi

Quali rischi si corrono aprendo il port RDP?

1) Accesso non autorizzato a dati sensibili
Se qualcuno riesce a recuperare la password di RDP, potrebbe accedere a informazioni che desideri mantenere private: lo stato dei conti, i saldi, i dati dei clienti, …

2) Perdita di dati
Ad esempio, a causa dell'azione di un virus di crittografia.
O per azioni mirate di un malintenzionato.

3) Perdita della stazione di lavoro
I dipendenti devono lavorare, ma il sistema è compromesso e necessita di reinstallazione / ripristino / configurazione.

4) Compromesso della rete locale
Se un malintenzionato ha accesso a un computer Windows, può accedere a sistemi inaccessibili dall'esterno, da Internet. Ad esempio, a condivisioni di file, stampanti di rete, ecc.

Ho avuto un caso in cui un Windows Server è stato infettato da un software di crittografia

e questo software ha inizialmente criptato la maggior parte dei file sul disco C:, poi ha iniziato a criptare i file su NAS attraverso la rete. Poiché il NAS era un Synology con snapshot configurati, ho ripristinato il NAS in 5 minuti, mentre il Windows Server l'ho reinstallato da zero.

Osservazioni e Raccomandazioni

Monitoro i server Windows utilizzando Winlogbeat, che invia i log a ElasticSearch. In Kibana ci sono diverse visualizzazioni e ho anche impostato un dashboard personalizzato.
Il monitoraggio di per sé non protegge, ma aiuta a determinare le misure necessarie.

Ecco alcune osservazioni:
a) RDP verrà attaccato con brute force.
Su uno dei server ho impostato RDP non sulla porta standard 3389, ma sulla 443 — per mimetizzarmi come HTTPS. Cambiare la porta da quella standard è probabilmente una buona idea, ma l'effetto è limitato. Ecco le statistiche di questo server:

È pericoloso mantenere aperto RDP su Internet?

Si può vedere che in una settimana ci sono stati quasi 400.000 tentativi falliti di accesso tramite RDP.
Si nota che i tentativi di accesso sono provenuti da 55.001 indirizzi IP (alcuni indirizzi IP erano già stati bloccati da me).

Qui si può trarre la conclusione che sia necessario installare fail2ban, ma

per Windows non esiste un'utility di questo tipo.

Ci sono un paio di progetti abbandonati su GitHub che sembrano farlo, ma non li ho nemmeno provati:
https://github.com/glasnt/wail2ban
https://github.com/EvanAnderson/ts_block

Ci sono anche utility a pagamento, ma non le ho prese in considerazione.

Se conoscete un'utility aperta per questo scopo — condividete nei commenti.

Update: Nei commenti è stato fatto notare che la porta 443 è una scelta poco efficace, e sarebbe meglio scegliere porte alte (32000+), perché la 443 viene scansionata più frequentemente, e riconoscere RDP su quella porta non è un problema.

Aggiornamento: Nei commenti è stato fatto notare che esiste un'utility di questo tipo:
https://github.com/digitalruby/ipban

b) Ci sono determinati username che i malintenzionati preferiscono.
È evidente che si sta effettuando un attacco basato su un dizionario con nomi diversi.
Ma quello che ho notato è che una parte significativa dei tentativi utilizza il nome del server come login. Raccomandazione: non utilizzare lo stesso nome per il computer e per l'utente. Inoltre, a volte il nome del server sembra essere in qualche modo analizzato: ad esempio, per un sistema con il nome DESKTOP-DFTHD7C, ci sono stati più tentativi di accesso con il nome DFTHD7C.

È pericoloso mantenere aperto RDP su Internet?

Di conseguenza, se avete un computer chiamato DESKTOP-MARIA, è probabile che ci siano tentativi di accesso con l'username MARIA.

Inoltre, ho notato dai log che sulla maggior parte dei sistemi, la maggior parte dei tentativi di accesso avviene con il nome "administrator". E non è una coincidenza, perché in molte versioni di Windows, questo utente esiste. Inoltre, non può essere eliminato. Ciò semplifica il lavoro per i malintenzionati: invece di dover indovinare nome e password, devono solo indovinare la password.
A proposito, il sistema che ha catturato il ransomware aveva l'utente Administrator e la password Murmansk#9. Non sono ancora sicuro di come abbiano compromesso quel sistema, perché ho iniziato a monitorare proprio dopo quel caso, ma penso che un attacco a forza bruta sia probabile.
Se l'utente Administrator non può essere eliminato, cosa si può fare? Può essere rinominato!

Le raccomandazioni di questo punto:

  • non utilizzare il nome utente nel nome del computer
  • assicurati che nel sistema non ci sia l'utente Administrator
  • usa password robuste

Così, ho monitorato come alcuni Windows Server sotto il mio controllo siano stati attaccati con forza bruta per circa un paio d'anni, senza successo.

Come lo so, che non hanno avuto successo?
Perché negli screenshot sopra si vede che ci sono registri di accessi riusciti via RDP, che contengono informazioni:

  • da quale IP
  • da quale computer (hostname)
  • nome utente
  • Informazioni GeoIP

E controllo regolarmente — non ho riscontrato anomalie.

A proposito, se da un certo IP stanno forzando con particolare impegno, puoi bloccare singoli IP (o sottoreti) in questo modo in PowerShell:

New-NetFirewallRule -Direction Inbound -DisplayName "fail2ban" -Name "fail2ban" -RemoteAddress ("185.143.0.0/16", "185.153.0.0/16", "193.188.0.0/16") -Action Block

A proposito, in Elastic, oltre a Winlogbeat, c'è anche Auditbeat, che può monitorare file e processi nel sistema. C'è anche un'applicazione SIEM (Gestione delle Informazioni e degli Eventi di Sicurezza) in Kibana. Ho provato entrambe le cose, ma non ho notato molti vantaggi — sembra che Auditbeat sia più utile per i sistemi Linux, mentre SIEM finora non mi ha mostrato nulla di concreto.

E infine, alcune raccomandazioni:

  • effettuate regolari backup automatici.
  • installate tempestivamente gli aggiornamenti di sicurezza.

Bonus: elenco di 50 utenti utilizzati più frequentemente per tentativi di accesso RDP.

"user.name: Descending"
Conteggio

dfthd7c (hostname)
842941

winsrv1 (hostname)
266525

AMMINISTRATORE
180678

amministratore
163842

Amministratore
53541

michael
23101

server
21983

steve
21936

john
21927

paul
21913

reception
21909

mike
21899

office
21888

scanner
21887

scan
21867

david
21865

chris
21860

proprietario
21855

manager
21852

administrateur
21841

brian
21839

administrador
21837

mark
21824

staff
21806

ADMIN
12748

ROOT
7772

ADMINISTRADOR
7325

SUPPORT
5577

SOPORTE
5418

UTENTE
4558

admin
2832

TEST
1928

MySql
1664

Admin
1652

OSPITE
1322

USER1
1179

SCANNER
1121

SCAN
1032

ADMINISTRATEUR
842

ADMIN1
525

BACKUP
518

MySqlAdmin
518

RECEPTION
490

USER2
466

TEMP
452

SQLADMIN
450

USER3
441

1
422

MANAGER
418

PROPRIETARIO
410

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster