Je li opasno RDP držati otvorenim na internetu?

Često sam čitao mišljenje da je držanje RDP (Remote Desktop Protocol) porta otvorenim za Internet vrlo nesigurno i da se to ne bi trebalo činiti. Ali trebate dati pristup RDP-u ili putem VPN-a, ili samo s određenih "bijelih" IP adresa.

Administriram nekoliko Windows poslužitelja za male tvrtke u kojima sam dobio zadatak osigurati udaljeni pristup Windows poslužitelju za računovođe. Ovo je moderni trend - rad od kuće. Vrlo brzo sam shvatio da je mučenje VPN računovođa nezahvalan zadatak, a prikupljanje svih IP adresa za bijelu listu neće uspjeti, jer su IP adrese ljudi dinamične.

Stoga sam krenuo najjednostavnijim putem - proslijedio sam RDP port prema van. Da bi dobili pristup, računovođe sada moraju pokrenuti RDP i unijeti naziv glavnog računala (uključujući port), korisničko ime i lozinku.

U ovom članku ću podijeliti svoje iskustvo (pozitivno i manje pozitivno) i preporuke.

Rizici

Što riskirate otvaranjem RDP porta?

1) Neovlašteni pristup osjetljivim podacima
Ako netko pogodi RDP lozinku, moći će dobiti podatke koje želite zadržati privatnima: status računa, stanja, podatke o kupcima, ...

2) Gubitak podataka
Na primjer, kao rezultat ransomware virusa.
Ili namjerna akcija napadača.

3) Gubitak radne stanice
Radnici moraju raditi, ali sustav je ugrožen i treba ga ponovno instalirati/vratiti/konfigurirati.

4) Ugroženost lokalne mreže
Ako je napadač dobio pristup Windows računalu, tada će s tog računala moći pristupiti sustavima koji su nedostupni izvana, s Interneta. Na primjer, za dijeljenje datoteka, mrežne pisače itd.

Imao sam slučaj u kojem je Windows Server uhvatio ransomware

i ovaj ransomware je prvo šifrirao većinu datoteka na disku C:, a zatim je počeo šifrirati datoteke na NAS-u preko mreže. Budući da je NAS bio Synology, s konfiguriranim snimkama, vratio sam NAS u 5 minuta i ponovno instalirao Windows Server ispočetka.

Zapažanja i preporuke

Pratim Windows poslužitelje pomoću Winlogbeat, koji šalju zapise u ElasticSearch. Kibana ima nekoliko vizualizacija, a postavio sam i custom dashboard.
Sam nadzor ne štiti, ali pomaže u određivanju potrebnih mjera.

Evo nekih zapažanja:
a) RDP će biti grubo forsiran.
Na jednom od poslužitelja instalirao sam RDP ne na standardni port 3389, već na 443 - dobro, maskirat ću se kao HTTPS. Vjerojatno se isplati promijeniti port sa standardnog, ali to neće pomoći. Evo statistike s ovog poslužitelja:

Je li opasno RDP držati otvorenim na internetu?

Vidljivo je da je u tjedan dana bilo gotovo 400 neuspješnih pokušaja prijave preko RDP-a.
Vidi se da je bilo pokušaja prijave sa 55 IP adrese (neke IP adrese sam već blokirao).

Ovo izravno upućuje na zaključak da trebate postaviti fail2ban, ali

Ne postoji takav uslužni program za Windows.

Postoji nekoliko napuštenih projekata na Githubu koji to rade, ali nisam ih ni pokušao instalirati:
https://github.com/glasnt/wail2ban
https://github.com/EvanAnderson/ts_block

Ima i plaćenih režija, ali nisam ih razmatrao.

Ako znate uslužni program otvorenog koda za tu svrhu, podijelite ga u komentarima.

Nadopune: Komentari su sugerirali da je port 443 loš izbor i da je bolje izabrati visoke portove (32000+), jer se 443 češće skenira, a prepoznavanje RDP-a na ovom portu nije problem.

b) Postoje određena korisnička imena koja napadači preferiraju
Može se vidjeti da se pretraga provodi u rječniku s različitim nazivima.
Ali evo što sam primijetio: značajan broj pokušaja koristi ime poslužitelja kao prijavu. Preporuka: Nemojte koristiti isto ime za računalo i korisnika. Štoviše, ponekad izgleda kao da pokušavaju nekako analizirati naziv poslužitelja: na primjer, za sustav s imenom DESKTOP-DFTHD7C, najviše pokušaja prijave je s imenom DFTHD7C:

Je li opasno RDP držati otvorenim na internetu?

Sukladno tome, ako imate računalo DESKTOP-MARIA, vjerojatno ćete se pokušavati prijaviti kao MARIA korisnik.

Još jedna stvar koju sam primijetio iz zapisa: na većini sustava većina pokušaja prijave je s imenom "administrator". I to nije bez razloga, jer u mnogim verzijama sustava Windows ovaj korisnik postoji. Štoviše, ne može se izbrisati. Ovo pojednostavljuje zadatak za napadače: umjesto pogađanja imena i lozinke, trebate samo pogoditi lozinku.
Usput, sustav koji je uhvatio ransomware imao je korisnika Administrator i lozinku Murmansk#9. Još uvijek nisam siguran kako je taj sustav hakiran, jer sam počeo pratiti tek nakon tog incidenta, ali mislim da je pretjerivanje vjerojatno.
Dakle, ako se Administratorski korisnik ne može izbrisati, što trebate učiniti? Možete ga preimenovati!

Preporuke iz ovog paragrafa:

  • nemojte koristiti korisničko ime u nazivu računala
  • provjerite da na sustavu nema administratorskog korisnika
  • koristiti jake lozinke

Dakle, već nekoliko godina gledam kako se nekoliko Windows poslužitelja pod mojom kontrolom brutalno forsira i bez uspjeha.

Kako da znam da je neuspješno?
Budući da na gornjim snimkama zaslona možete vidjeti da postoje zapisnici uspješnih RDP poziva koji sadrže informacije:

  • s kojeg IP-a
  • s kojeg računala (naziv glavnog računala)
  • Korisničko ime
  • GeoIP informacije

I tamo redovito provjeravam - nisu pronađene nikakve anomalije.

Usput, ako se određena IP adresa posebno teško forsira, možete blokirati pojedinačne IP adrese (ili podmreže) ovako u PowerShellu:

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

Inače, Elastic, osim Winlogbeata, ima i Auditbeat, koji može nadzirati datoteke i procese na sustavu. U Kibani postoji i aplikacija SIEM (Security Information & Event Management). Probao sam oboje, ali nisam vidio puno koristi - izgleda da će Auditbeat biti korisniji za Linux sustave, a SIEM mi još nije pokazao ništa razumljivo.

Pa, konačne preporuke:

  • Pravite redovite automatske sigurnosne kopije.
  • pravovremeno instalirajte sigurnosna ažuriranja

Bonus: popis od 50 korisnika koji su najčešće korišteni za pokušaje RDP prijave

"user.name: silazno"
Računati

dfthd7c (ime glavnog računala)
842941

winsrv1 (ime glavnog računala)
266525

ADMINISTRATOR
180678

administrator
163842

administrator
53541

Michael
23101

server
21983

Steve
21936

Jovan
21927

Pavle
21913

recepcija
21909

mikrofon
21899

ured
21888

skener
21887

skenirati
21867

David
21865

chris
21860

vlasnik
21855

menadžer
21852

administrateur
21841

Brian
21839

administrator
21837

označiti
21824

osoblje
21806

ADMIN
12748

KORIJEN
7772

ADMINISTRATOR
7325

PODRŠKA
5577

PODRŠKA
5418

USER
4558

admin
2832

TEST
1928

MySQL
1664

Admin
1652

GOST
1322

KORISNIK1
1179

SKENER
1121

SCAN
1032

ADMINISTRATOR
842

ADMINIST1
525

BACKUP
518

MySqlAdmin
518

RECEPCIJA
490

KORISNIK2
466

TEMP
452

SQLADMIN
450

KORISNIK3
441

1
422

MANAGER
418

VLASNIK
410

Izvor: www.habr.com

Dodajte komentar