Kami memiliki mesin Windows 10 Pro di kantor kami yang memiliki port terbuka ke internet untuk koneksi desktop jarak jauh yang masuk ('host'). Ini dilindungi dengan baik oleh kata sandi yang kompleks dan sejumlah upaya yang diizinkan dan hanya TLS 1.1 atau lebih tinggi, tetapi tidak menyajikan sertifikat SSL yang diverifikasi secara eksternal, hanya yang dibuat sendiri yang ditandatangani sendiri yang disediakan oleh Layanan Desktop Jarak Jauh, dan ini memberi kita dua masalah:
- Kita tidak bisa sepenuhnya percaya diri ketika menghubungkan dari jarak jauh kita benar-benar terhubung ke mesin ini dan bukan beberapa koneksi yang dibajak.
- Situs kami gagal memeriksa kepatuhan PCI-DSS 3.1 (diperlukan karena kami menggunakan mesin kartu debit / kredit point-of-sale yang terhubung melalui internet). Pemeriksaan ini melaporkan kesalahan fatal pada port desktop jarak jauh yang menghadap internet ini: 'Sertifikat Ditandatangani Sendiri SSL' dan 'Sertifikat SSL dengan Nama Host Yang Salah'.
Bagaimana cara saya mendapatkan mesin Windows 10 Pro (atau Windows 7/8 / 8.1 Pro) yang bertindak sebagai server / host untuk menyajikan sertifikat SSL yang tepat untuk verifikasi Remote Desktop?
Jawaban:
Anda dapat mengatur mesin host ini untuk menggunakan dan menyajikan sertifikat SSL Anda (yang sudah ada, dibeli) yang diverifikasi secara eksternal sehingga (instruksi mungkin juga berfungsi untuk Windows 8 & 8.1, mungkin atau mungkin tidak berfungsi untuk Windows 7) (bagian dari ini berdasarkan pada Microsoft KB 2001849 ):
Pertama, Anda harus membeli sertifikat ssl asli yang diverifikasi.
Jika Anda memiliki sertifikat ini dalam file format pkcs12 (mis. Ekstensi pfx), Anda dapat melihat sidik jari SHA1 menggunakan Linux atau Cygwin dengan demikian (Anda akan memerlukannya di bawah):
Atau jika Anda memiliki file sertifikat individual di server Linux Anda di / etc / ssl (/etc/ssl/certs/mysite.crt, /etc/ssl/mysite.ca-bundle dan /etc/ssl/private/mysite.key ) Anda dapat membuat file pfx dan mendapatkan sidik jari SHA1 sebagai berikut:
Buat file pfx untuk sertifikat Anda, jika Anda belum memilikinya (di sini: mysite.pfx) - setel kata sandi yang baik ketika diminta:
Pindahkan atau salin file pfx ini sesuai kebutuhan sehingga dapat diakses oleh mesin host Windows Anda.
openssl x509 -in /etc/ssl/certs/mysite.crt -noout -fingerprint
Impor file format pkcs12 (mis. Pfx) ke toko sertifikat pribadi mesin host Windows:
Gunakan regedit untuk menambahkan Nilai Biner baru yang disebut SSLCertificateSHA1Hash di
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
. Nilai yang dibutuhkan adalah sidik jari SHA1 dari sertifikat yang diperoleh di atas: klik kanan pada nilai baru, pilih Modify dan kemudian ketik kode hex secara berurutan (tanpa titik dua atau spasi atau koma, huruf tidak peka terhadap huruf besar-kecil) - ada 20 heks pasangan dalam semua (40 karakter).Anda mungkin perlu me-reboot mesin host, atau me-restart Layanan Desktop Jarak Jauh (dari Services.msc) sebelum akan bekerja.
Sekarang, setelah membuat koneksi desktop jarak jauh ke host ini menggunakan nama situs yang benar (misalnya mysite.com), Anda akan melihat gembok terkunci di sisi kiri bilah koneksi atas: mengklik ini menunjukkan bahwa identitas remote komputer telah diverifikasi. Port yang terbuka dari internet melalui host ini sekarang harus lulus pengujian hostname PCI-DSS 3.1.
sumber
Berikut langkah-langkah dasar yang saya gunakan:
Dapatkan sertifikat yang valid untuk tuan rumah, (itu tidak harus berasal dari CA eksternal, tetapi semua mesin Anda harus memercayainya). Pastikan ia memiliki nama host yang benar, saya punya masalah dengan sertifikat wildcard.
Instal sertifikat pada host, seperti:
temukan cap jempol untuk sertifikat, baik di UI atau di PowerShell:
sekarang beri tahu Remote Desktop untuk menggunakan sertifikat itu:
tidak perlu reboot
sumber
Sertifikasi saya dilengkapi dengan 2 file yang diperlukan,
domain.crt
&domain.ca-bundle
& kemudian saya punyadomain.key
dari saya membuat permintaan.Inilah cara saya mengaturnya menggunakan Linux VM untuk menggabungkan sertifikat dan menghasilkan sidik jari dan windows CMD untuk mengatur host. Ini memungkinkan pembuatan skrip lengkap.
Perbedaan terbesar antara jawaban saya dan @ gogoud adalah:
wmic /namespace:
melalui CMD prompt.NETWORK SERVICE
izin.Buat direktori untuk bekerja dan pindahkan 3 file ke dalamnya:
Buat kunci format pfx:
Ekspor SSLCertificateSHA1Hash / FingerPrint ke TXT File:
Impor Sertifikat ke Windows (Buka Konfirmasi CMD Tinggi):
Ini dapat ditulis lebih lanjut melalui saklar "-p MyPassword"
Sekarang tambahkan SSLCertificateSHA1Hash ke ke RDP-Tcp via CMD (Elevated CMD Prompt):
Anda harus menambahkan izin pengguna "Layanan Jaringan" dengan "Hanya Baca" sekarang:
Nyalakan Ulang Host:
sumber