SSTP sertifikası uyuşmuyor: sunucunuzun sunması gereken ad
İstemci, profildeki ana bilgisayar adını sertifikayla karşılaştırır, ardından zinciri ve amacı denetler. Profili veya sertifikayı düzeltin, doğrulamayı asla.
SSTP istemci, sunucuyu ancak TLS doğrulaması başarılı olduktan sonra kabul eder ve bu denetim bir adı, bir zinciri ve bir amacı karşılaştırır. Ad, bağlantı profilinden gelir; tesadüfen ping atabildiğiniz adresten değil. Üçünden biri uyuşmazsa istemci bir sertifika sorunu bildirir ve oturum açma istemine asla ulaşmaz.
Neyin denetleneceğini profil adı belirler
SSTP, TLS'i TCP 443 üzerinde çalıştırır, bu yüzden istemci diğer herhangi bir TLS istemcisi gibi davranır: ana bilgisayar adını profilden alır, o adı ister ve sertifikayı onunla karşılaştırır. Profile bir IP adresi yazarsanız karşılaştırma bir IP adresi karşılaştırmasına dönüşür; bunu çoğu sunucu sertifikası karşılamaz.
Bu yüzden tarayıcı testi başarılı olurken VPN başarısız olabilir, çünkü tarayıcı profilden farklı bir ad kullanmıştır. Aynı bölünme, split-horizon DNS VPN ana bilgisayar adını bir iç adrese çözerken tarayıcı bir genel adrese ulaştığında da ortaya çıkar. Önce profili belgelenmiş ana bilgisayar adıyla hizalayın, sonra sertifikaları karşılaştırın. Bundan önce değiştirdiğiniz her şey tahmindir.
Sunucu sertifikasının taşıması gerekenler
Modern istemciler konunun alternatif ad uzantısıyla karşılaştırır, bu yüzden ana bilgisayar adı orada bir DNS girdisi olarak bulunmalıdır. Tek başına ortak ad günümüz doğrulama yığınlarına yetmez ve joker karakter bir etiketi kapsar, uydurduğunuz her alt alan adını değil. Üç sertifika sınırı gösterir: doğru ad yanlış amaçla kimliği doğrular ve sonra amaç denetiminde başarısız olur, doğru ad ve amaç eksik ara sertifikayla zincirde başarısız olur, yalnızca ortak adda görünen bir ad ise o ikisinden herhangi biri önemli olmadan önce başarısız olur.
Sertifikanın ayrıca sunucu kimlik doğrulama amacına ihtiyacı vardır: Microsoft'un SSTP belirtiminde belirtilen genişletilmiş anahtar kullanımı değeri, yani nesne tanımlayıcısı 1.3.6.1.5.5.7.3.1 olan serverAuth. Anahtar kullanımı ve geçerli bir zincir kümeyi tamamlar. Sunucuda bulunan, doğru ad için verilmiş ama yalnızca istemci kimlik doğrulaması için olan bir sertifika yine de başarısız olur.
Kimlik bilgilerinden önce zinciri ve saati denetleyin
Zaman ve güven arızaları ad uyuşmazlığıyla aynı görünür sonucu verir ve ikisi de parola sorunundan daha ucuza teşhis edilir. Sunucunun saatini ve istemcinin saatini denetleyin, ardından zinciri istemcinin gördüğü gibi okuyun:
# 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 /statusİlk komut adı, geçerlilik penceresini ve istemcinin karşılaştıracağı alternatif adları yazdırır. İkincisi, sunulan zincirle birlikte doğrulama hatalarını bildirir ve eksik ara sertifika tam orada ortaya çıkar. Windows'ta zaman hizmeti sorgusu, saatin düzeltilip düzeltilmediğini yoksa sadece kaymış mı olduğunu söyler.
Dahili bir CA bir koşul daha ekler: istemci o CA'ya güvenmelidir. Kuruluş kökünü onaylı dağıtım kanalından kurun, yedek sertifika sunan bir sayfadan değil, çünkü o karar tüm güven modelinin küçük hâlidir.
Sunucu doğrulaması ve kullanıcı kimlik doğrulaması, farklı arızalara sahip ardışık aşamalardır. Sertifika hatası, istemcinin sunucuya hiç güvenmediği anlamına gelir; reddedilen parola ise sunucuya güvendiği ama kimlik bilgilerinin yanlış olduğu anlamına gelir. Parola istemine ulaşmak için sertifika doğrulamasını kapatmak, garantiyi onarmak yerine kaldırır. Yolun geri kalanının çalıştığını kanıtlamak için aynı ana bilgisayar adını ve bağlantı noktasını zincire zaten güvenen bir istemciden test edin ve dağıtılmış profili olduğu gibi bırakın.
Adı veya sertifikayı düzeltin ve yeniden test edin
Onarımı üç koşul belirler. Profildeki ad yanlışsa profili düzeltin veya eksik adı sertifikaya ekleyin. Zincir eksikse ara sertifikayı sunucuya kurun. Amaç yanlışsa etrafını yamamak yerine yeniden düzenleyin.
Değişiklikten sonra desteklenen istemciyle yeniden bağlanın ve oturum açma isteminin göründüğünü, ardından tünelin kalktığını doğrulayın. Kullanılan ana bilgisayar adını, vereni ve son kullanma tarihini bilete not edin. O kayıt, bir sonraki yenilemeyi bir kesinti yerine planlı bir işe dönüştürür ve bir sonraki kişiye üç koşuldan hangisinin gerçekten bozuk olduğunu gösterir.