Bir parmak izi, size neyi beklemeniz gerektiğini söyleyen kanal kadar güvenilirdir. Karşılaştırdığınız değer, test ettiğiniz bağlantının aynısı üzerinden geldiyse, karşılaştırma o bağlantıyı kontrol eden tarafın tutarlı olduğu gerçeğinden başka bir şey kanıtlamaz. Kontrol sabit bir sırayla ilerlemeli ve başarısız bir adım sizi sonrakine itmek yerine durdurmalıdır. Bir VPN istemcisi sertifikanın değiştiğini bildirdiğinde kullandığım sıra şudur.

Değeri adlandırmadan önce nesneyi adlandırın

Beklenen değerin sunucunun yaprak sertifikasına mı, onu veren CA'ya mı, yoksa yaprağın içindeki açık anahtara mı ait olduğuna karar verin. Bunlar üç farklı kontroldür ve farklı şekillerde başarısız olurlar. Eşleşen bir CA parmak izi sunucuyu sabitlemez ve açık anahtarın karması, aynı anahtarı koruyan bir yeniden düzenlemeyi kasıtlı olarak atlatır.

Algoritmayı da not edin. SHA-256 bugün olağan beklenti, ama eski araçlar farklı bir şey istemezseniz SHA-1 yazdırıyordu ve 40 karakterlik onaltılık bir değer, iki farklı şeyi karşılaştırmak üzere olduğunuzun işaretidir.

Beklenen değeri ikinci bir kanaldan alın

İkinci kanal, kendinizi koruduğunuz tarafın yazamadığı bir kanal olmalıdır. Zaten kimlik doğruladığınız bir sağlama sistemi, kasada saklanan basılı bir kayıt, bir yapılandırma veritabanı veya başka bir sürecin teslim ettiği imzalı bir belge, hepsi uygundur. Bir iş arkadaşınızın sohbet mesajı, bir arama sonucu üzerinden ulaşılan destek sayfası ve hata ayıkladığınız terminale yapıştırılan her şey uygun değildir.

Tam değeri ve algoritmayı isteyin, asla öneki değil. İki nokta ve büyük ya da küçük harf önemli değil, ama kısaltma 256 bitlik bir kontrolü tahmin oyununa çevirir.

Kimse beklenen değeri bağımsız bir kaynaktan üretemiyorsa, dürüst sonuç bu sertifikanın bugün doğrulanamayacağıdır. Bunu söylemek, istemcinin az önce gösterdiğini sabitlemekten iyidir, çünkü bu bir uyarıyı alışkanlığa dönüştürür.

Değeri kendi tarafınızda çıkarın

Bir sertifika dosyası için komut openssl x509 -in server.crt -noout -fingerprint -sha256. Açık özet önemlidir: o olmadan çıktı OpenSSL sürümünüze bağlıdır. Sonuç iki nokta ile ayrılmış onaltılık bir dizedir, bu yüzden iki noktaları kaldırın ve karşılaştırmadan önce iki tarafı da küçük harfe çevirin.

Doğrudan TLS konuşan bir uç nokta için bağlanın ve sertifikayı bir boruyla dışarı aktarın: openssl s_client -connect vpn.example.com:443 -servername vpn.example.com < /dev/null | openssl x509 -noout -fingerprint -sha256. Bu, bir web yönetim paneli veya TLS dinleyicisi için çalışır, kontrol kanalı tünelin içinde olan OpenVPN için çalışmaz. OpenVPN için sertifikayı soketten yakalamaya çalışmak yerine diskteki profilden okuyun.

Karşılaştırma mekanik olmalıdır. İki değeri tr -d ':' ve harf birleştirme ile normalleştirin, sonra tüm dizeyi karşılaştırın. Gözle yapmak, eşleşen bir önekin son bayttaki farkı gizleme yoludur. Dizeler farklıysa, bir açıklama aramadan önce farkı gerçek kabul edin.

Durma koşulları

Nesne farklıysa durun, çünkü bir CA parmak izi bir yaprak sertifikayı aklayamaz ve bir yaprak da CA'yı aklayamaz. Algoritma farklıysa durun, çünkü bir SHA-1 değerinin bir SHA-256 değeriyle karşılaştırılması size hiçbir şey söylemez. Parmak izi eşleşiyor ama sertifika süresi dolmuş, iptal edilmiş veya başka bir ad için düzenlenmişse durun; eşleşen bir karma geçerlilik kontrolü değildir ve kırık bir zinciri onarmaz. Seri numarası, karşılaştırdığınız kayıttaki seri numarasıyla eşleşmiyorsa da durun, çünkü değiştirilmiş bir sertifikayı fark etmenin en ucuz yolu budur.

Yeni değer test ettiğiniz kanaldan geldiyse durun. Rotasyon bir parmak izini meşru olarak değiştirebilir, ama yerine geçen değer yine de güvenilen süreçten gelmelidir, soruyu doğuran uyarı iletişim kutusundan değil.

Önerilen düzeltme ana bilgisayar adı veya zincir doğrulamasını kapatmaksa durun. Bir parmak izi normal kontrollere bir kısıt ekler; dağıtım bilinçli olarak yalnızca pin modelini seçmediyse bunların yerini almaz ve o seçim kendi işletme maliyetlerini getirir.

Karşılaştırmadan sonra

Ne karşılaştırdığınızı, beklenen değerin nereden geldiğini ve ne zaman olduğunu kaydedin. Sertifika yeniden düzenlendiyse, saklanan beklentiyi aynı güvenilen kanaldan güncelleyin ve yeni seri numarasını not edin, çünkü bir sonraki rotasyonu denetlenebilir kılan seri numarasıdır.

Sonra sınırlar konusunda açık olun. Bir parmak izi, elinizdeki sertifikanın birinin beklemenizi söylediği sertifika olduğunu doğrular. Ana bilgisayarın ele geçirilmediğine dair hiçbir şey söylemez ve hizmetin o sertifikanın nereye ulaşabileceğini kaydedip kaydetmediği veya sınırlayıp sınırlamadığına dair de hiçbir şey söylemez.

İlgili makaleler