Bagaimana cara mengamankan server Remote Desktop publik?


16

Saya melihat perlu mengekspos Remote Desktop Server (Layanan Terminal) saya untuk diakses dari luar jaringan kami. Saat ini, itu hanya dapat diakses dari dalam jaringan kami.

Saya tahu cukup mudah untuk membuka firewall dan meneruskan port.

Namun, bagaimana cara mengamankan mesin itu sendiri dan apa praktik terbaik di sekitar ini? Kekhawatiran saya adalah peretas dapat bekerja untuk membobolnya.

Setiap pedoman / rekomendasi praktik terbaik akan sangat dihargai.


Edit:

Pertanyaan tentang produk yang saya temukan:

Saring Koneksi RDP Masuk berdasarkan IP, Alamat MAC, Nama Komputer, dan Lainnya

Adakah yang bisa mengomentari keamanan ini? Sepertinya saya juga bisa menggunakannya untuk membatasi akses dengan nama mesin / mac? Adakah yang menggunakannya?


1
Saya pikir Anda bertanya tidak hanya bagaimana mengamankan mesin ini dan koneksi RDP apa pun untuk itu, tetapi juga bagaimana mengurangi risiko ke seluruh jaringan Anda jika itu dikompromikan. Apakah itu benar?
dunxd

Ya benar, karena seberapa kecilnya kita, hanya ada satu server RDP dan itu memang membutuhkan akses desktop penuh / sumber daya jaringan untuk pengguna internal.
me2011

Jawaban:


14

Ini mungkin lebih dari apa yang ingin Anda lakukan, tetapi inilah cara kami menggunakan RDP untuk pengguna jarak jauh yang tidak menggunakan VPN.

Kami baru-baru ini mulai menggunakan RD Gateway Manager dengan Remote Desktop Services, sebuah peran di Windows 2008. Kami telah mengaturnya untuk melalui server TMG kami dan langsung ke mesin pengguna. Menggunakan NLA seperti yang disebutkan di atas. Pengguna yang terhubung harus menjadi anggota grup AD kanan, dan anggota grup lokal kanan untuk diizinkan mengakses. Tergantung pada bagaimana Anda ingin pengaturannya, Anda dapat terhubung melalui halaman web yang pada dasarnya membuka mstsc dan memasukkan pengaturan proksi untuk RD Gateway, atau Anda dapat mengatur pengaturan pada mesin Anda secara manual sehingga setiap kali Anda membukanya ia mencoba untuk pergi melalui proxy itu. Sejauh ini telah bekerja dengan cukup baik dan tampaknya aman.


3
+1 untuk ini. Saya juga menggunakan RD Gateway dengan sangat sukses, dan Anda hanya perlu mengekspos port 443 ke internet agar bisa berfungsi. RD Gateway tidak rentan terhadap bug MS12-020 dari beberapa minggu yang lalu yang mengancam RDP.
Ryan Ries

+1 ada juga bot yang lebih sedikit menyerang gateway RD daripada ada RDP langsung.
Berikan

8

Seperti sejarah baru-baru ini telah menunjukkan kepada kita, ada risiko yang melekat untuk mengekspos protokol. Namun, ada beberapa langkah yang dapat Anda ambil untuk melindungi sistem:

  • Terapkan Otentikasi Tingkat Jaringan.
  • Terapkan enkripsi koneksi.
  • Batasi pengguna yang diizinkan masuk melalui Layanan Terminal seminimal mungkin, dan jangan izinkan akun "khusus" seperti Administratorakun domain default , atau idealnya akun hak istimewa tinggi lainnya.
  • Pastikan kata sandi Anda kuat pada akun yang diizinkan masuk. Tergantung pada berapa banyak pengguna dan bagaimana kebijakan Anda terlihat saat ini, tetapi membuang hash dan berusaha memecahkannya, meningkatkan batas panjang kata sandi, atau hanya mendidik pengguna pendekatan yang baik.

6

Saya sangat menyarankan menggunakan layanan Remote Desktop gateway. Ini memberi Anda tempat di mana Anda dapat menegakkan kebijakan tentang siapa yang dapat terhubung ke apa dari mana. Ini memberi Anda tempat yang baik untuk login, sehingga Anda dapat melihat siapa yang mencoba masuk tanpa memeriksa log peristiwa masing-masing server di peternakan Anda.

Jika Anda belum melakukannya, pastikan kebijakan penguncian akun Anda diatur cukup kuat. RDP bahkan dengan NLA dan gateway memberi orang sesuatu untuk mencoba dengan kasar memaksa kata sandi. Kebijakan penguncian yang kuat sangat mempersulit upaya brute force untuk berhasil.

Menyiapkan sertifikat SSL yang valid pada sistem, sehingga klien akan memberi tahu pengguna akhir jika seseorang mencoba melakukan semacam serangan MITM.


3

Ini tidak terlalu aman, tetapi ada beberapa cara untuk memperkuat keamanan.

Larang akses Internet dari server itu. Banyak dari malware yang lebih serius mencoba untuk berkomunikasi kembali ke server perintah dan kontrol mereka ketika itu mengganggu sistem Anda. Mengkonfigurasi aturan akses firewall untuk melarang akses keluar secara default, dan aturan untuk mengizinkan akses keluar hanya ke jaringan internal / yang dikenal dan subnet RFC 1928 dapat mengurangi risiko.

Gunakan kartu pintar atau tipe lain dari otentikasi dua faktor. Ini biasanya mahal dan ditemukan terutama di organisasi besar, namun pilihannya semakin baik (PhoneFactor datang ke pikiran). Perhatikan bahwa membutuhkan kartu pintar dapat dilakukan per server, sebagai opsi untuk mengonfigurasinya di tingkat akun.

Konfigurasikan jaringan perimeter, letakkan server desktop jarak jauh di dalam perimeter, dan gunakan VPN yang murah untuk menyediakan akses. Contohnya adalah Hamachi. Perhatikan bahwa melarang akses Internet dari jaringan perimeter juga merupakan praktik yang baik.

Jika memungkinkan, jangan menyediakan desktop penuh, tetapi publikasikan aplikasi yang mereka butuhkan. Jika seseorang hanya membutuhkan akses ke satu aplikasi, juga dimungkinkan untuk mengonfigurasi "program awal", yang bisa berupa kulit pembungkus sederhana yang dapat memberlakukan logoff saat aplikasi ditutup.


1

Saya akan menyarankan langkah-langkah berikut:

  1. Ubah port yang digunakan untuk koneksi desktop jarak jauh
  2. Jangan gunakan nama pengguna generik tetapi kebijakan penamaan yang lebih rumit
  3. Persyaratan kata sandi tinggi
  4. Tutup semua port lain yang tidak digunakan dari luar (masuk)

Pilihan

  1. Gunakan VPN (CISCO, Open VPN dll) lalu sambungkan ke server menggunakan IP internal.
  2. Gunakan kartu pintar masuk jika memungkinkan

Saya cenderung mengubah port di firewall, bukan di server (melakukannya di server memerlukan perubahan ke registri). Biasanya lebih mudah untuk mengatur port forward pada router, dan lebih aman (tidak ada sentuhan registry).
JohnThePro

Yap :), saya hanya mengatakan itu karena beberapa orang tidak memiliki akses atau pengetahuan untuk penerusan porta pengguna. Meskipun disarankan untuk tidak mengubah registri kecuali diperlukan, saya tidak pernah mengalami masalah. Satu-satunya masalah yang dapat Anda temui adalah jika Anda mengubahnya ke port yang sudah digunakan.
Alex H

Ya, maksud saya ini bukan masalah terbesar di dunia, dan siapa pun yang tahu regedit mungkin cukup pintar untuk berhati-hati .... tetapi Anda tidak dapat mengetahuinya. :)
JohnThePro

1

Anda dapat menjalankan WinSSHD pada port 22 dan kemudian menggunakan klien Tunnelier untuk membuat terowongan untuk Anda dan secara otomatis membuka sesi layanan Terminal melalui terowongan dengan SATU klik. Ini juga memberi Anda opsi FTP aman yang sangat bagus juga untuk mentransfer file.


1

Saya menggunakan penerusan port ssh untuk hal-hal ini, dan hanya mengizinkan level pengguna, otentikasi berbasis kunci publik. Semua kunci pribadi pengguna harus dienkripsi juga. Di Windows, Putty melakukan ini dengan baik, dan kontes membuatnya mudah bagi pengguna untuk memuat kunci mereka. Jika Anda tidak menjalankan server Linux / BSD yang memiliki ssh secara default, Anda dapat menggunakan OpenSSH di Cygwin untuk melakukan ini.

Saya merekomendasikan server shell jarak jauh khusus dengan firewall lokal yang memblokir hal-hal yang Anda tidak ingin orang lain remoting, karena mengizinkan port forwarding di SSH pada dasarnya membuka server / port internal apa pun kepada pengguna yang Anda inginkan.


1

Bitvise SSH adalah SSH gratis yang bagus untuk Windows.

Saya akan pergi untuk penghentian SSL VPN murah dari klien ke perimeter gateway Internet untuk apa pun selain penggunaan biasa (Komersial Tidak Percaya Diri misalnya).

Posting di atas tentang mengamankan RDP juga merupakan praktik yang baik dan harus selalu dilakukan jika Anda tidak ingin berbagi komputer dengan freeloaders.


0

bukan benar-benar praktik terbaik tetapi beberapa pemikiran acak:

  • perbarui sistem Anda - izinkan pembaruan otomatis, jangan gunakan produk yang bersifat seumur hidup,
  • gunakan kata sandi yang panjang / rumit untuk semua akun sistem
  • saya akan dimarahi di sini karena menyarankan 'keamanan melalui ketidakjelasan' tetapi tidak akan membahayakan Anda jika Anda:
    • ubah port default 3389 / tcp ke yang lain seperti 26438 / tcp
    • tambahkan port-knocking [jika memungkinkan] pada level firewall sehingga pengguna rdp potensial harus mengunjungi beberapa halaman web terlebih dahulu dan baru kemudian dapat rdp ke server Anda.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.