Ar pavojinga išlaikyti atvirą KPP internete?

Dažnai skaičiau nuomonę, kad RDP (Remote Desktop Protocol) prievadą laikyti atvirą internetui yra labai nesaugu ir to daryti nereikėtų. Bet jums reikia suteikti prieigą prie KPP arba per VPN, arba tik iš tam tikrų „baltų“ IP adresų.

Administruoju keletą Windows serverių mažoms įmonėms, kuriose man buvo pavesta buhalteriams suteikti nuotolinę prieigą prie Windows Server. Tai šiuolaikinė tendencija – darbas iš namų. Gana greitai supratau, kad kankinti VPN buhalterius yra nedėkingas darbas, o rinkti visus IP baltajam sąrašui nepavyks, nes žmonių IP adresai yra dinamiški.

Todėl pasirinkau paprasčiausią kelią – persiunčiau KPP prievadą į išorę. Norėdami gauti prieigą, buhalteriai dabar turi paleisti KPP ir įvesti pagrindinio kompiuterio pavadinimą (įskaitant prievadą), vartotojo vardą ir slaptažodį.

Šiame straipsnyje pasidalinsiu savo patirtimi (teigiama ir nelabai) bei rekomendacijomis.

Rizika

Kuo rizikuojate atidarydami KPP prievadą?

1) Neteisėta prieiga prie jautrių duomenų
Jei kas nors atspės KPP slaptažodį, jis galės gauti duomenis, kuriuos norite išlaikyti privačius: sąskaitos būseną, likučius, klientų duomenis, ...

2) Duomenų praradimas
Pavyzdžiui, dėl išpirkos reikalaujančio viruso.
Arba tyčinis užpuoliko veiksmas.

3) Darbo vietos praradimas
Darbuotojai turi dirbti, bet sistema pažeista ir ją reikia iš naujo įdiegti/atkurti/konfigūruoti.

4) Vietinio tinklo kompromisas
Jei užpuolikas gavo prieigą prie „Windows“ kompiuterio, tada iš šio kompiuterio jis galės pasiekti sistemas, kurios yra nepasiekiamos iš išorės, iš interneto. Pavyzdžiui, failų bendrinimui, tinklo spausdintuvams ir kt.

Turėjau atvejį, kai „Windows Server“ sugavo išpirkos reikalaujančią programinę įrangą

ir ši išpirkos programa pirmiausia užšifravo daugumą C: diske esančių failų, o tada pradėjo šifruoti failus NAS tinkle. Kadangi NAS buvo „Synology“, su sukonfigūruotomis momentinėmis nuotraukomis, atkūriau NAS per 5 minutes ir iš naujo įdiegiau „Windows Server“ nuo nulio.

Pastabos ir rekomendacijos

Stebiu Windows serverius naudodamas Winlogbeat, kurie siunčia žurnalus į ElasticSearch. „Kibana“ turi keletą vizualizacijų, taip pat sukūriau pasirinktinį prietaisų skydelį.
Pats stebėjimas neapsaugo, bet padeda nustatyti būtinas priemones.

Štai keletas pastebėjimų:
a) KPP bus žiauriai priverstinė.
Viename iš serverių KPP įdiegiau ne į standartinį 3389 prievadą, o į 443 - gerai, aš užmaskuosiu HTTPS. Tikriausiai verta pakeisti prievadą iš standartinio, bet tai nieko gero neduos. Štai šio serverio statistika:

Ar pavojinga išlaikyti atvirą KPP internete?

Matyti, kad per savaitę buvo beveik 400 000 nesėkmingų bandymų prisijungti per KPP.
Matosi, kad buvo bandoma prisijungti iš 55 001 IP adreso (kai kurie IP adresai jau buvo mano užblokuoti).

Tai tiesiogiai rodo išvadą, kad reikia nustatyti fail2ban, bet

Tokios „Windows“ programos nėra.

„Github“ yra keletas apleistų projektų, kurie, atrodo, tai daro, bet aš net nebandžiau jų įdiegti:
https://github.com/glasnt/wail2ban
https://github.com/EvanAnderson/ts_block

Yra ir mokamų komunalinių paslaugų, bet aš jų nesvarsčiau.

Jei žinote šiam tikslui skirtą atvirojo kodo priemonę, pasidalykite ja komentaruose.

Atnaujinti: Komentaruose pasirodė, kad 443 prievadas yra blogas pasirinkimas, o geriau rinktis aukštus prievadus (32000+), nes 443 skenuojamas dažniau, o atpažinti RDP šiame prievade nėra problema.

b) Užpuolikai teikia pirmenybę tam tikriems naudotojų vardams
Matyti, kad paieška atliekama skirtingų pavadinimų žodyne.
Bet štai ką pastebėjau: daug kartų bandoma naudoti serverio pavadinimą kaip prisijungimą. Rekomendacija: nenaudokite to paties pavadinimo kompiuteriui ir vartotojui. Be to, kartais atrodo, kad jie bando kažkaip išanalizuoti serverio pavadinimą: pavyzdžiui, sistemoje, kurios pavadinimas DESKTOP-DFTHD7C, dažniausiai bandoma prisijungti pavadinimu DFTHD7C:

Ar pavojinga išlaikyti atvirą KPP internete?

Atitinkamai, jei turite DESKTOP-MARIA kompiuterį, tikriausiai bandysite prisijungti kaip MARIA vartotojas.

Kitas dalykas, kurį pastebėjau iš žurnalų: daugumoje sistemų dažniausiai bandoma prisijungti su pavadinimu „administratorius“. Ir tai ne be priežasties, nes daugelyje „Windows“ versijų šis vartotojas egzistuoja. Be to, jo negalima ištrinti. Tai supaprastina užpuolikų užduotį: užuot atspėję vardą ir slaptažodį, jums tereikia atspėti slaptažodį.
Beje, išpirkos reikalaujančią programą sugavusi sistema turėjo vartotoją Administratorius ir slaptažodį Murmansk#9. Vis dar nesu tikras, kaip į tą sistemą buvo įsilaužta, nes pradėjau stebėti iškart po to incidento, bet manau, kad per daug tikėtina.
Taigi, jei administratoriaus vartotojo negalima ištrinti, ką daryti? Galite pervardyti!

Rekomendacijos iš šios pastraipos:

  • nenaudokite vartotojo vardo kompiuterio pavadinime
  • įsitikinkite, kad sistemoje nėra administratoriaus vartotojo
  • naudoti stiprius slaptažodžius

Taigi, jau maždaug porą metų stebiu, kaip keli mano kontroliuojami „Windows“ serveriai yra žiauriai priversti, ir nesėkmingai.

Kaip man žinoti, kad nepavyko?
Kadangi aukščiau esančiose ekrano kopijose matote, kad yra sėkmingų KPP skambučių žurnalai, kuriuose yra tokia informacija:

  • iš kurio IP
  • iš kurio kompiuterio (host name)
  • Vartotojo vardas
  • GeoIP informacija

Ir aš ten tikrinu reguliariai – jokių anomalijų nerasta.

Beje, jei konkretus IP yra ypač sunkiai įveikiamas, galite blokuoti atskirus IP (arba potinklius), pavyzdžiui, 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

Beje, Elastic, be Winlogbeat, taip pat turi Auditbeat, kuri gali stebėti sistemos failus ir procesus. Kibanoje taip pat yra SIEM (saugumo informacijos ir įvykių valdymo) programa. Išbandžiau abu, bet nemačiau didelės naudos – panašu, kad Auditbeat bus naudingesnis Linux sistemoms, o SIEM man dar nieko suprantamo neparodė.

Na, paskutinės rekomendacijos:

  • Reguliariai kurkite automatines atsargines kopijas.
  • laiku įdiegti saugos naujinimus

Premija: 50 vartotojų, kurie dažniausiai buvo naudojami bandant prisijungti prie KPP, sąrašas

"user.name: mažėjimo tvarka"
Skaičiuoti

dfthd7c (pagrindinio kompiuterio pavadinimas)
842941

winsrv1 (prieglobos serverio pavadinimas)
266525

ADMINISTRATORIUS
180678

administratorius
163842

administratorius
53541

Michael
23101

serveris
21983

Steve
21936

John
21927

Paulius
21913

priėmimas
21909

mikrofonas
21899

tarnyba
21888

skaitytuvas
21887

skenuoti
21867

David
21865

Chris
21860

savininkas
21855

vadovas
21852

administrateur
21841

Brian
21839

administratorius
21837

ženklas
21824

personalas
21806

ADMINIS
12748

ŠAKNIAVAISIAI
7772

ADMINISTRATORĖS
7325

PAGALBA
5577

PARAMA
5418

VARTOTOJAS
4558

VYTEGA
2832

TESTAS
1928

mysql
1664

Administratorius
1652

SVEČIAS
1322

VARTOTOJAS1
1179

SKANERIS
1121

SCAN
1032

ADMINISTRATORĖS
842

ADMINISTRATORIUS1
525

BACKUP
518

MySqlAdmin
518

PRIĖMIMAS
490

VARTOTOJAS2
466

TEMP
452

SQLADMIN
450

VARTOTOJAS3
441

1
422

VADYBININKAS
418

SAVININKAS
410

Šaltinis: www.habr.com

Добавить комментарий