Saya sering membaca pendapat bahwa membiarkan port RDP (Remote Desktop Protocol) tetap terbuka ke Internet sangat tidak aman dan tidak boleh dilakukan. Namun Anda perlu memberikan akses ke RDP baik melalui VPN, atau hanya dari alamat IP “putih” tertentu.
Saya mengelola beberapa Server Windows untuk perusahaan kecil tempat saya ditugaskan menyediakan akses jarak jauh ke Windows Server untuk akuntan. Ini adalah tren modern – bekerja dari rumah. Dengan segera, saya menyadari bahwa menyiksa akuntan VPN adalah tugas tanpa pamrih, dan mengumpulkan semua IP untuk daftar putih tidak akan berhasil, karena alamat IP orang bersifat dinamis.
Oleh karena itu, saya mengambil rute paling sederhana - meneruskan port RDP ke luar. Untuk mendapatkan akses, akuntan sekarang perlu menjalankan RDP dan memasukkan nama host (termasuk port), nama pengguna dan kata sandi.
Pada artikel ini saya akan berbagi pengalaman saya (positif dan tidak terlalu positif) dan rekomendasi.
Risiko
Apa risikonya dengan membuka port RDP?
1) Akses tidak sah ke data sensitif
Jika seseorang menebak kata sandi RDP, mereka akan dapat memperoleh data yang ingin Anda rahasiakan: status akun, saldo, data pelanggan, ...
2) Kehilangan data
Misalnya akibat virus ransomware.
Atau tindakan yang disengaja oleh penyerang.
3) Hilangnya stasiun kerja
Pekerja perlu bekerja, tetapi sistem telah disusupi dan perlu diinstal ulang/dipulihkan/dikonfigurasi.
4) Kompromi jaringan lokal
Jika penyerang telah memperoleh akses ke komputer Windows, maka dari komputer tersebut ia akan dapat mengakses sistem yang tidak dapat diakses dari luar, dari Internet. Misalnya, untuk berbagi file, ke printer jaringan, dll.
Saya punya kasus di mana Windows Server menangkap ransomware
dan ransomware ini pertama-tama mengenkripsi sebagian besar file di drive C: dan kemudian mulai mengenkripsi file di NAS melalui jaringan. Karena NASnya adalah Synology, dengan snapshot yang dikonfigurasi, saya memulihkan NAS dalam 5 menit, dan menginstal ulang Windows Server dari awal.
Pengamatan dan Rekomendasi
Saya memantau Server Windows menggunakan
Pemantauan itu sendiri tidak melindungi, namun membantu menentukan tindakan yang diperlukan.
Berikut beberapa pengamatannya:
a) RDP akan dipaksakan.
Di salah satu server, saya menginstal RDP bukan pada port standar 3389, tetapi pada 443 - saya akan menyamar sebagai HTTPS. Mungkin ada baiknya mengubah port dari yang standar, tetapi tidak akan banyak gunanya. Berikut statistik dari server ini:
Terlihat dalam seminggu terdapat hampir 400 upaya login melalui RDP yang gagal.
Terlihat ada upaya login dari 55 alamat IP (beberapa alamat IP sudah saya blokir).
Ini secara langsung menunjukkan kesimpulan bahwa Anda perlu mengatur fail2ban, tapi
Tidak ada utilitas seperti itu untuk Windows.
Ada beberapa proyek terbengkalai di Github yang tampaknya dapat melakukan hal ini, tetapi saya bahkan belum mencoba menginstalnya:
Ada juga utilitas berbayar, tapi saya belum mempertimbangkannya.
Jika Anda mengetahui utilitas open source untuk tujuan ini, silakan bagikan di komentar.
Memperbarui: Komentar menyarankan bahwa port 443 adalah pilihan yang buruk, dan lebih baik memilih port yang tinggi (32000+), karena 443 lebih sering dipindai, dan mengenali RDP pada port ini tidak menjadi masalah.
b) Ada nama pengguna tertentu yang disukai penyerang
Terlihat pencarian dilakukan pada kamus dengan nama yang berbeda-beda.
Namun inilah yang saya perhatikan: sejumlah besar upaya menggunakan nama server sebagai login. Rekomendasi: Jangan gunakan nama yang sama untuk komputer dan pengguna. Selain itu, terkadang sepertinya mereka mencoba mengurai nama server: misalnya, untuk sistem dengan nama DESKTOP-DFTHD7C, upaya login terbanyak adalah dengan nama DFTHD7C:
Oleh karena itu, jika Anda memiliki komputer DESKTOP-MARIA, Anda mungkin mencoba masuk sebagai pengguna MARIA.
Hal lain yang saya perhatikan dari log: pada sebagian besar sistem, sebagian besar upaya untuk masuk dilakukan dengan nama “administrator”. Dan ini bukan tanpa alasan, karena di banyak versi Windows, pengguna ini ada. Apalagi tidak bisa dihapus. Ini menyederhanakan tugas penyerang: alih-alih menebak nama dan kata sandi, Anda hanya perlu menebak kata sandinya.
Omong-omong, sistem yang menangkap ransomware memiliki pengguna Administrator dan kata sandi Murmansk#9. Saya masih tidak yakin bagaimana sistem itu bisa diretas, karena saya mulai memantaunya tepat setelah kejadian itu, tapi menurut saya tindakan tersebut mungkin berlebihan.
Lalu jika user Administrator tidak bisa dihapus, lalu apa yang harus dilakukan? Anda dapat mengganti namanya!
Rekomendasi dari paragraf ini:
- jangan gunakan nama pengguna pada nama komputer
- pastikan tidak ada pengguna Administrator di sistem
- gunakan kata sandi yang kuat
Jadi, saya telah menyaksikan beberapa Server Windows di bawah kendali saya dipaksa secara paksa selama beberapa tahun sekarang, dan tidak berhasil.
Bagaimana saya tahu bahwa ini tidak berhasil?
Karena pada screenshot di atas terlihat terdapat log panggilan RDP yang berhasil, yang berisi informasi:
- dari IP mana
- dari komputer mana (nama host)
- Nama pengguna
- informasi GeoIP
Dan saya memeriksa di sana secara teratur - tidak ada anomali yang ditemukan.
Omong-omong, jika IP tertentu dipaksakan dengan sangat keras, Anda dapat memblokir IP individual (atau subnet) seperti ini di 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
Omong-omong, Elastic, selain Winlogbeat, juga punya
Nah, rekomendasi terakhir:
- Buat cadangan otomatis secara teratur.
- instal Pembaruan Keamanan tepat waktu
Bonus: daftar 50 pengguna yang paling sering digunakan untuk upaya login RDP
"nama pengguna: Menurun"
Menghitung
dfthd7c (nama host)
842941
winrv1 (nama host)
266525
ADMINISTRATOR
180678
administrator
163842
administrator
53541
michael
23101
Server
21983
steve
21936
john
21927
paul
21913
penerimaan
21909
mikropon
21899
kantor
21888
scanner
21887
pemindaian
21867
david
21865
chris
21860
pemilik
21855
manajer
21852
administrateur
21841
brian
21839
administrator
21837
tanda
21824
staf
21806
ADMIN
12748
ROOT
7772
ADMINISTRASI
7325
SUPPORT
5577
DUKUNGAN
5418
PENGGUNA
4558
admin
2832
UJI
1928
MySql
1664
admin
1652
TAMU
1322
PENGGUNA1
1179
PEMINDAI
1121
SCAN
1032
ADMINISTRATOR
842
ADMIN1
525
CADANGAN
518
Admin MySql
518
PENERIMAAN
490
PENGGUNA2
466
TEMP
452
SQLADMIN
450
PENGGUNA3
441
1
422
MANAGER
418
PEMILIK
410
Sumber: www.habr.com