OpenConnect, sertifika değişiminden sonra ağ geçidini neden reddeder?
Ağ geçidinde sertifika değişiminden sonraki doğrulama hatası, bozuk bir tünel değil güven kararıdır. Veren CA ile tek bir anahtarı sabitleme arasında seçin.
Ağ geçitleri sertifika değiştirir ve dün hâlâ bağlanan bir istemci ilk TLS alışverişinde durmaya başlar. İleti bir ağ arızası yerine doğrulama nedeni belirtir ve makinenin kendisi değişmemiştir, işe yarar ipucu budur. Kırılan şey, şimdi sunulan sertifika ile istemcinin dikkate almaya razı olduğu kökler arasındaki ilişkidir. Bunu onarmak bir güven kararıdır, bu yüzden bir seçenek yazmadan önce o kararı verin.
Herhangi bir güven ayarını değiştirmeden önce hatayı okuyun
İmzalayan yok türünde bir hata, zincirin istemcinin kabul etmediği bir şeyde bittiği anlamına gelir. Bu, iç bir otoriteden yenilenmiş bir sertifika, bir kamu otoritesinden yapılan değişim veya ortadaki bir cihazın kendi sertifikasını sunması olabilir. Yalnızca ifade bu durumları ayırt edemez, bu yüzden karar vermeden önce verene bakın.
Bağlantıyı bir kez ön planda çalıştırın ve başarısız olmasına izin verin, çünkü etkileşimli çıktı sunucu adını, veren zincirini ve istemcinin hesapladığı parmak izini taşır. O vereni kuruluşunuzun gerçekten işlettiği bir otoriteyle karşılaştırın. Parmak izi değişip veren değişmediyse, zaten güvendiğiniz bir kanaldan yenileme doğrulanana kadar bunu şüpheli sayın. Bu noktada tahmin etmek, kişinin sonunda araya giren birinin anahtarını sabitlemesine giden yoldur.
İstemci sürümünü aynı nota yazın. Güven sorunu gibi görünen arızaların büyük bölümü, daha eski bir istemcinin daha yeni bir ağ geçidi alışverişiyle karşılaşmasından gelir.
Verene güvenmek ile tek bir anahtarı sabitlemek arasında seçin
Her iki seçenek de bağlantıyı başarılı kılar. Daha sonra zıt biçimlerde bozulurlar, bu yüzden seçim katlanabileceğiniz arızaya aittir.
| Approach | Good fit | What breaks it |
|---|---|---|
Trust the issuing CA with --cafile | Internal PKI you can obtain over an already trusted channel | CA rotation, or a client that still falls back to public roots |
Pin one key with --servercert | No CA relationship, or exactly one key should ever be accepted | Any reissue that generates a new key pair |
Sertifika bağımsız olarak doğrulayabileceğiniz bir otoriteden geldiğinde CA dosyasına başvurun, çünkü yenilemeler o zaman istemci argümanlarına dokunmadan çalışmaya devam eder. Onu sistem köklerini devre dışı bırakan anahtarla eşleştirin, yoksa bir kamu otoritesi kontrolü sizin adınıza karşılayabilir. Bunun yerine, ağ geçidinin elde edebileceğiniz bir CA'sı yoksa ya da amaç mümkün olan en dar istisnaysa sabitleyin. Hiçbir yol soyut olarak daha güvenli değildir: CA yenilemeler boyunca ölçeklenir, sabitlemeyi gözden geçirmek daha kolaydır.
Hangisini seçerseniz seçin, güvenilen değer değişiklik olmadan önce güvenilen bir kanaldan gelmelidir. Bir yönetici, ağ geçidinde bir konsol oturumu veya önceden alınmış bir kopya, hepsi uygundur. İstemin gösterdiği parmak izini kopyalamak pratiktir ve tam olarak araya giren birinin umduğu şeydir.
Değeri gerçekten başlattığınız komuta koyun
Sabitleme bir sunucu sertifikası seçeneğinde yol alır ve öneki kodlamayı belirler: sha1 veya sha256 altında onaltılık açık anahtar özetleri ve pin-sha256 altında base64 anahtar sabitlemesi. Bunu vermek o çalıştırma için sistem güvenini de devre dışı bırakır, böylece sabitlenen anahtar bütün karar olur.
sudo openconnect --protocol=gp vpn.example.com --user alice \
--servercert pin-sha256:AbCdEf... # single key pin
sudo openconnect vpn.example.com --cafile /etc/ssl/internal-ca.pem --no-system-trust
İstemci kısaltılmış bir özeti eşleştirir ve önekin ardından dört karakter kadar azını kabul eder, bu bir kolaylık değil tuzaktır. Kısaltılmış değer yerelde geçer ve yine de amaçladığınız ağ geçidini tanımlamaz. İletiden yeniden yazmak yerine istemcinin ilk denemede yazdırdığı tam dizgiyi kopyalayın. Ardından tamamlanmış seçeneği bağlantıyı başlatan sarmalayıcı betiğe, birim dosyasına veya profile taşıyın, böylece güven kararı gözden geçirilebilir ve sonraki düzenlemeler bilinçli olur.
Masaüstü başlatıcıları ve NetworkManager eklentisi bağlantı argümanlarının kendi kopyasını saklar. Disk üzerinde düzenlenen bir betik daha önce içe aktarılan bir profile ulaşmaz, bu yüzden saklanan değer kazanmaya devam eder.
Kendinizi dışarıda bırakmadan bir geçişi yönetin
Seçenek birden fazla kez verilebilir, bu yüzden planlanan bir değişiklik giden ve gelen anahtarı birlikte kabul edebilir. Yeni sabitlemeyi ağ geçidi değişmeden önce ekleyin, oturumlar taşınırken ikisini de listede tutun ve eski anahtar gidince emekliye ayrılanı çıkarın. O pencerenin bir sahibi olmalı, çünkü unutulmuş bir çift sabitleme bir anahtarı kimse izlemeden güvenilir bırakır. Taze bir anahtar çifti üreten yeniden derleme saf sabitlemeyi kırar ve kurtarma diğer yönde aynı yordamdır.
Değişiklik tarihini sabitlemenin yanına yazın. Gözden geçirme tarihi olmayan bir sabitleme, kafa karıştırıcı bir hata iletisi taşıyan gelecekteki bir kesintidir.
Güveni düzenlemeden önce istemci sürümünü dışlayın
Eski bir istemci, ağ geçidinin o zamandan beri değiştirdiği bir kimlik doğrulama yanıtını ayrıştırırken başarısız olabilir ve yüzeydeki ileti hâlâ ayrıştırıcıdan değil bağlantıdan söz eder. Kurulu sürümü ağ geçidinin belgelediğiyle karşılaştırın ve herhangi bir güven ayarını değiştirmeden önce güncel paketi tek kullanımlık bir profilde deneyin.
openconnect --version
Onarımdan sonra bir değil iki şeyi doğrulayın: portal tünelden yükleniyor ve sıradan bir iç adres yanıt veriyor. Tamamlanmış bir el sıkışma yalnızca güven kararının kabul edildiğini kanıtlar.