Ketidakpadanan sijil SSTP: nama yang mesti ditunjukkan oleh pelayan anda
Klien membandingkan nama hos profil dengan sijil, kemudian menyemak rantaian dan tujuan. Betulkan profil atau sijil, jangan sekali-kali pengesahan.
SSTP klien SSTP menerima pelayan hanya selepas pengesahan TLS berjaya, dan semakan itu membandingkan nama, rantaian dan tujuan. Nama itu datang daripada profil sambungan, bukan daripada alamat yang kebetulan boleh anda ping. Apabila salah satu daripada tiga tidak sepadan, klien melaporkan masalah sijil dan tidak pernah sampai ke gesaan log masuk.
Nama profil menentukan apa yang disemak
SSTP menjalankan TLS melalui TCP 443, jadi klien berkelakuan seperti mana-mana klien TLS lain: ia mengambil nama hos daripada profil, meminta nama itu dan membandingkan sijil dengannya. Jika anda menaip alamat IP dalam profil, perbandingan menjadi perbandingan alamat IP, yang tidak dipenuhi oleh kebanyakan sijil pelayan.
Oleh itu ujian pelayar boleh berjaya sementara VPN gagal, kerana pelayar menggunakan nama yang berbeza daripada profil. Perpecahan yang sama muncul apabila DNS split-horizon menyelesaikan nama hos VPN kepada alamat dalaman sementara pelayar mencapai alamat awam. Selaraskan profil dengan nama hos yang didokumenkan dahulu, kemudian bandingkan sijil. Apa-apa lagi yang anda ubah sebelum itu ialah tekaan.
Apa yang mesti dibawa oleh sijil pelayan
Klien moden membandingkan dengan sambungan nama alternatif subjek, jadi nama hos mesti muncul di sana sebagai entri DNS. Nama biasa sahaja tidak mencukupi untuk tindanan pengesahan hari ini, dan kad liar meliputi satu label, bukan mana-mana subdomain yang anda cipta. Tiga sijil menggambarkan sempadan: nama yang betul dengan tujuan yang salah mengesahkan identiti dan kemudian gagal semakan tujuan, nama dan tujuan yang betul dengan perantaraan yang hilang gagal pada rantaian, dan nama yang hanya muncul dalam nama biasa gagal sebelum salah satu daripada dua itu penting.
Sijil itu juga memerlukan tujuan pengesahan pelayan, nilai penggunaan kunci lanjutan yang dinamakan dalam spesifikasi SSTP Microsoft, iaitu serverAuth dengan pengecam objek 1.3.6.1.5.5.7.3.1. Penggunaan kunci dan rantaian yang sah melengkapkan set. Sijil yang wujud pada pelayan, dikeluarkan untuk nama yang betul tetapi hanya untuk pengesahan klien, masih gagal.
Semak rantaian dan jam sebelum kelayakan
Kegagalan masa dan kepercayaan menghasilkan hasil yang sama kelihatan seperti ketidakpadanan nama, dan kedua-duanya lebih murah untuk didiagnosis daripada masalah kata laluan. Semak jam pelayan dan jam klien, kemudian baca rantaian seperti yang dilihat oleh klien:
# from the client, or any host that runs openssl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -ext subjectAltName
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -verify_return_error </dev/null
# on the Windows server that holds the SSTP listener
w32tm /query /statusPerintah pertama mencetak nama, tetingkap kesahan dan nama alternatif yang akan dibandingkan oleh klien. Yang kedua melaporkan ralat pengesahan dengan rantaian seperti yang dibentangkan, dan di situlah perantaraan yang hilang muncul. Pada Windows, pertanyaan perkhidmatan masa memberitahu anda sama ada jam sedang diperbetulkan atau hanya melencong.
CA dalaman menambah satu lagi syarat: klien mesti mempercayai CA itu. Pasang akar organisasi melalui saluran pengedaran yang diluluskan, bukan daripada halaman yang menawarkan sijil pengganti, kerana keputusan itu ialah keseluruhan model kepercayaan dalam bentuk kecil.
Pengesahan pelayan dan pengesahan pengguna ialah peringkat berturutan dengan kegagalan yang berbeza. Ralat sijil bermaksud klien tidak pernah mempercayai pelayan, manakala kata laluan yang ditolak bermaksud ia mempercayai pelayan dan kelayakan itu salah. Mematikan pengesahan sijil untuk sampai ke gesaan kata laluan membuang jaminan itu dan bukannya membaikinya. Untuk membuktikan sisa laluan berfungsi, uji nama hos dan port yang sama daripada klien yang sudah mempercayai rantaian, dan biarkan profil yang digunakan seperti adanya.
Betulkan nama atau sijil, kemudian uji semula
Tiga syarat menentukan pembaikan. Jika nama profil salah, betulkan profil atau tambah nama yang hilang pada sijil. Jika rantaian tidak lengkap, pasang perantaraan pada pelayan. Jika tujuan salah, keluarkan semula dan bukannya menampal di sekelilingnya.
Selepas perubahan, sambung semula dengan klien yang disokong dan sahkan bahawa gesaan log masuk muncul, kemudian terowong naik. Catat nama hos yang digunakan, pengeluar dan tarikh luput dalam tiket. Rekod itulah yang menjadikan pembaharuan seterusnya tugas berjadual dan bukannya satu lagi gangguan, dan ia juga menunjukkan kepada orang seterusnya syarat mana antara tiga itu yang benar-benar rosak.