Yenilemeden sonra ortamın yarısı yeniden bağlanıyor, üç cihaz ise reddediyor; her biri ağ geçidinin kimliğiyle ilgili bir uyarı veriyor. Yenilemenin kendisi rutin. O üç cihazın tuttuğu şey eski nesneye bir sabitleme, ve sabitleme bir CA listesi, ad denetimi veya güven deposu kaydı değildir. Herhangi bir istemciye dokunmadan önce üç mekanizmayı karşılaştırın.

Tek yenileme, iki davranış

Yeniden bağlanan istemcilerde hâlâ geçen bir güven kararı var, reddedenlerde ise yeni sertifikanın karşılamadığı bir gereksinim var. Bu fark bilgidir, gürültü değil. Başarısız istemcinin iletisini tam olarak okuyun. Ad uyuşmazlığı, bilinmeyen veren ve değişen parmak izi üç ayrı hükümdür ve yalnızca sonuncusu bir sabitlemeye işaret eder.

Başarısız istemcinin hangi profili seçtiğini de denetleyin. Kendi deposunda yaşayan içe aktarılmış bir kopya, yönetici özgün dosyayı başka bir yerde düzenlediğinde değişmez.

Yenileme yalnızca tarihi değil, nesneyi de değiştirir

Parmak izi, kodlanmış sertifika içeriğini tanımlar. Yenileme yeni bir sertifika üretir, bu yüzden konu adı ve ortak anahtar aynı kalsa bile parmak izi değişir. Bu, bir CA'ya güvenen ve adı doğrulayan istemciler için beklenen ve zararsız bir durumdur. Tam olarak tek bir sertifikayı kabul etmek üzere yapılandırılmış bir istemci için bu ölümcüldür ve güven deposu yeni vereni hiç almamış bir istemci için de ölümcüldür.

openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256

İkinci satır başka bir soruyu yanıtlar: anahtar çifti hayatta kaldı mı. Anahtarı yeniden kullanan bir yenileme bu değeri korur ve yalnızca sertifikayı değiştirir; yöneticinin hiçbir şeyin değişmediğini varsaymaya en çok meylettiği durum da tam olarak budur. Dağıtılmış sertifikayı inceleyin, derleme ana bilgisayarındakini değil. Bir depodaki dosyayı karşılaştırmak neyin üretildiğini kanıtlar, bir dinleyicinin şu anda ne sunduğunu değil.

İstemcinin neyi sabitlediğini okuyun

Bazı istemciler parmak izini profillerinde tutar ve her bağlantıda karşılaştırır. Diğerleri bunu platformun güven deposunda saklar, bazıları ise yalnızca bir CA'ya güvenir. Onarım her durumda farklıdır, bu yüzden önce mekanizmayı belirleyin.

grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256

İlk komut geleneksel bir profilde sabitlemeyi gösterir; ikincisi uç noktanın şu anda gerçekten sunduğu parmak izini gösterir. Bu ikisi farklıysa, tahmin etmeden arızayı buldunuz. Yeni değeri şikâyet eden her istemciye yapıştırmayın. Veren nedeniyle reddeden bir istemci reddetmeye devam edecek ve siz kendinizi sorunun parmak izi olduğuna inandıracaksınız, oysa değildi.

Her backend'in sunduğu sertifikayı karşılaştırın

Kesintili sonuçlar genellikle birden fazla uç nokta anlamına gelir ve bir düğüme uygulanan yenileme diğerlerini eski nesneyi sunmaya bırakır. Her backend'i paylaşılan adla değil adresle karşılaştırın.

for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done

Bir düğümün geride kaldığı bir havuz, ikinci denemede bağlanıp ilk denemede başarısız olan bir istemciyi açıklar. Kullanıcılar şikâyet ederken geçen bir izleme denetimini de açıklar. Önce gecikmeyi düzeltin. Her düğüm yeni sertifikayı sunmadan önce güven yapılandırmasını döndürmek hiçbir şeyin çalışmadığı bir pencere yaratır; sonrasında döndürmek ise istemcileri öngörülemez biçimde başarısız bırakır.

Güveni yönetilen yoldan değiştirin

Değişimi herhangi bir yerde kabul etmeden önce zaten güvenilen bir yönetim kanalı üzerinden doğrulayın. Makul bir son kullanma tarihi sahiplik kanıtı değildir. Yönetilen yapılandırmayı ona sahip olan süreç üzerinden güncelleyin, kabul edilebilir kimliklerin planlanan her örtüşmesiyle birlikte ve dağıtımın gerektirdiği ad doğrulamasını koruyun. Ad denetimi olmayan bir sabitleme, yerini aldığı CA güveninden daha zayıf bir tasarımdır.

Ardından her istemciyi doğrulayın: bağlanın, kabul ettiği kimliği onaylayın ve artık güvendiği sertifika sürümünü not edin. Bir kez reddedilen bir uyarı, sonraki yenilemede geri dönme eğilimindedir.

İlgili makaleler