Port 3389 yang kebuka ke publik itu ibarat pintu rumah yang dikunci tapi kuncinya digantung di depan pintu. Kalau kamu punya VPS Windows dan RDP-nya masih default, cepat atau lambat bakal ada log login gagal beruntun dari IP-IP aneh yang nyoba nebak password. Artikel ini bakal bahas langkah konkret amankan RDP di VPS Windows, dari yang paling dasar sampai yang sering kelewat padahal penting.
Kenapa RDP Sering Jadi Sasaran Serangan Bot
RDP itu salah satu protokol paling banyak diserang di internet karena sifatnya predictable. Port defaultnya selalu sama, dan begitu server punya IP publik, bot pemindai otomatis bakal ketemu dalam hitungan jam, bukan hari. Kalau kredensial berhasil ditebak, penyerang bisa langsung masuk sebagai user penuh, install malware, atau jadikan server kamu batu loncatan buat serangan lain.
Masalahnya, banyak yang mikir “ah paling cuma nyoba-nyoba doang” dan biarin default configuration apa adanya. Padahal serangan brute force ke RDP sekarang udah pakai kombinasi credential stuffing dan rotasi IP, jadi rate limit sederhana aja nggak cukup buat nahannya sendirian.
Langkah Pertama Amankan RDP: Jangan Ekspos Port 3389 ke Publik
Prinsip paling penting dari semua langkah amankan RDP adalah: jangan biarkan port 3389 bisa diakses langsung dari internet. Kalau bisa, taruh RDP di belakang VPN atau Remote Desktop Gateway, jadi orang harus konek VPN dulu sebelum bisa nyampe ke listener RDP-nya.
Kalau setup VPN belum memungkinkan sekarang, minimal batasi akses lewat firewall supaya cuma IP kamu yang boleh konek ke port RDP. Di Windows Firewall with Advanced Security, buat inbound rule khusus untuk RDP dan isi kolom “Scope” dengan IP publik kamu saja, bukan “Any IP address”.
New-NetFirewallRule -DisplayName "RDP - Allowed IP Only" -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 203.0.113.10 -Action Allow
Ganti IP di atas dengan IP publik kamu sendiri. Setelah rule ini aktif, request dari IP lain otomatis kena tolak sebelum sempat nyentuh proses autentikasi sama sekali.
Aktifkan Network Level Authentication buat Amankan RDP
Network Level Authentication (NLA) memaksa proses autentikasi terjadi sebelum sesi remote desktop penuh terbentuk. Artinya, penyerang yang cuma nembak port tanpa kredensial valid nggak akan sampai ke layar login sama sekali, jauh lebih hemat resource server juga. NLA ini biasanya udah aktif secara default di Windows Server modern, tapi tetap worth dicek ulang, terutama kalau server lama diupgrade dari versi sebelumnya.
Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -Name "UserAuthentication" -Value 1
Bisa juga dicek lewat GUI: buka System Properties, masuk ke tab Remote, lalu pastikan opsi “Allow connections only from computers running Remote Desktop with Network Level Authentication” tercentang.
Perkuat Kebijakan Password dan Account Lockout
Firewall dan NLA menahan akses dari luar, tapi kalau password akun masih lemah atau sama kayak username, semua lapisan itu jadi kurang berarti. Set kebijakan lockout supaya akun otomatis terkunci sementara setelah beberapa kali percobaan login gagal, biar serangan brute force otomatis nggak bisa jalan tanpa henti.
net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30
Selain itu, hindari pakai username default seperti “Administrator” buat akun yang dipakai remote login sehari-hari. Bikin akun terpisah dengan nama unik dan password panjang (minimal 14 karakter, campuran huruf, angka, simbol), lalu nonaktifkan akun Administrator bawaan kalau memang nggak dipakai. Kalau ada beberapa orang yang butuh akses ke server yang sama, jangan share satu akun bareng-bareng, karena itu bikin log login jadi susah dilacak siapa yang benar-benar login di jam tertentu. Buatkan akun terpisah per orang meskipun terasa lebih ribet di awal.
Ganti Port RDP dan Batasi Lewat Firewall Tambahan
Ganti port default 3389 ke port custom bukan solusi utama, tapi lumayan efektif buat ngurangin noise dari bot pemindai otomatis yang cuma nyisir port standar. Anggap ini sebagai lapisan tambahan, bukan pengganti VPN, NLA, atau firewall rule di atas.
Set-ItemProperty -Path 'HKLM:SYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -Name "PortNumber" -Value 33890
Restart-Service TermService -Force
Setelah ganti port, jangan lupa update rule firewall biar port baru itu yang diizinkan, dan port 3389 lama ditutup total. Catat baik-baik port barunya di dokumentasi server supaya tim kamu nggak bingung pas mau connect lain waktu.
Cara Amankan RDP dengan Monitoring Login Mencurigakan
Hardening di awal doang nggak cukup kalau kamu nggak pernah ngecek log-nya lagi setelahnya. Buka Event Viewer, lihat Windows Logs > Security, lalu perhatikan Event ID 4625 (login gagal) dan 4624 (login berhasil). Kalau ada lonjakan 4625 dari satu IP dalam waktu singkat, itu tanda jelas ada percobaan brute force yang sedang berlangsung.
Kalau server ini juga menjalankan workload virtual lain lewat Hyper-V, cek juga jaringan internal VM-nya, karena penyerang yang berhasil masuk ke host bisa saja mencoba melompat ke VM lain lewat drive sharing yang kebuka. Aku pernah bahas detail soal ini di cara sharing drive di Hyper-V Windows, worth dibaca kalau server kamu juga jalanin VM di atas host yang sama.
Checklist Cepat Amankan RDP di VPS Windows
Kalau mau versi ringkasnya, ini urutan prioritas checklist yang paling penting buat amankan RDP di VPS Windows:
- Batasi akses RDP cuma dari IP tertentu atau taruh di belakang VPN/RD Gateway.
- Pastikan Network Level Authentication aktif.
- Set account lockout policy dan pakai password panjang serta unik.
- Nonaktifkan atau rename akun Administrator default.
- Ganti port RDP sebagai lapisan tambahan, bukan pengganti langkah lain.
- Pantau Event Viewer secara berkala buat deteksi percobaan login mencurigakan.
Kalau semua poin di atas udah diterapkan, server Windows kamu udah jauh lebih tahan dibanding kondisi default yang cuma modal password aja. Keamanan RDP itu soal berlapis, bukan satu setting ajaib yang bikin server aman selamanya, jadi jangan lupa review ulang setelan ini setiap beberapa bulan sekali seiring bertambahnya user atau perubahan kebutuhan akses di server kamu. Kalau ke depannya kamu nambah aplikasi web atau service lain di server yang sama, terapkan prinsip yang sama, batasi akses seminimal mungkin dan jangan pernah asumsikan satu lapisan keamanan aja udah cukup.























