Burada RSA diyen bir sertifikanın yanında dh none diyen bir sunucu yapılandırması var, üstüne de ikisinden birinin mutlaka yanlış olması gerektiğine dair kemirici bir kuşku. Hiçbir şey yanlış değil. Sertifika imzalar ve doğrular; anahtar değişimi ortak bir sır oluşturur. Bunlar aynı el sıkışmada iki farklı iştir ve TLS, bir RSA sertifikasının geçici eliptik eğri anlaşması kullanan bir el sıkışmayı doğrulamasına izin verir.

Karışıklık genellikle bir geçiş kılavuzuyla gelir. Kılavuz DH parametre dosyasının dh none ile değiştirilmesini söyler, okuyucu sertifikanın eliptik eğri sertifikası olmadığını fark eder ve iki olgu çelişki olarak değerlendirilir.

İki ayar neden ilişkili görünür

OpenVPN'in eski yapılandırması bir DH parametre dosyası isterdi çünkü sonlu cisim Diffie-Hellman'ı her iki tarafın üzerinde anlaştığı alan parametrelerine ihtiyaç duyar. dh yönergesi o dosyayı gösteriyordu. Bir kurulum ECDH'ye geçtiğinde parametreler bunun yerine adlandırılmış bir eğriden gelir ve dosyaya artık gerek kalmaz; dh none bunu ifade eder.

Sertifikalar ayrı bir eksendir. Sunucunun kimliğini kanıtlayan bir açık anahtar ve imza taşırlar ve bu anahtar, oturum anahtarının nasıl kararlaştırıldığından bağımsız olarak RSA ya da eliptik eğri olabilir. Anahtar anlaşması için ECDHE, doğrulama için RSA kullanan bir el sıkışma olağandır ve yaygın olarak kullanılır.

Adlandırma çakışmayı kötüleştirir. Eliptik eğri hem ECDHE hem de ECDSA paket adlarında görünür, bu yüzden eğriden söz eden her bağlantının bir eğri sertifikası içermesi gerektiğini varsaymak kolaydır. Öyle değil.

TLS 1.2 paket adını doğru okumak

ECDHE-RSA-AES256-GCM-SHA384 ele alalım. İlk belirteç anahtar değişim ailesidir: geçici eliptik eğri Diffie-Hellman. İkincisi doğrulama ailesidir: RSA. Geri kalanı kayıt korumasını ve el sıkışmada kullanılan hash'i tanımlar.

ECDHE-ECDSA paketi aynı anahtar değişim ailesini farklı bir doğrulama yöntemiyle kullanır, bu yüzden eliptik eğri sertifikası gerektirir. DHE-RSA paketi RSA doğrulamasıyla sonlu cisim geçici Diffie-Hellman kullanır ve bu gerçekten DH parametrelerine ihtiyaç duyar.

Paket adını soldan sağa okuyun ve her parçayı kendi işine atayın. Belirteçler ayrıldığında soru «sertifikam dh none ile eşleşiyor mu» sorusundan «sunucum anahtar değişimi DH dosyası gerektirmeyen bir pakete izin veriyor mu» sorusuna dönüşür.

dh none gerçekte neyi devre dışı bırakır

dh none sunucuya sonlu cisim DH parametre dosyasını yüklememesini söyler. Doğrulamayı, sertifika denetimini veya TLS'in kendisini devre dışı bırakmaz. Ancak görüşülen anahtar değişiminin bu parametrelere ihtiyaç duymamasını şart koşar; bu da pratikte ECDHE paketi veya TLS 1.3 el sıkışması anlamına gelir.

Bozulma tam olarak bu şarttan kaynaklanır. Sunucunun TLS şifre politikası DHE paketleriyle sınırlıysa veya bir istemci yalnızca onları sunuyorsa, parametre dosyasının kaldırılması kullanılabilir bir anahtar değişim yöntemi bırakmaz ve el sıkışma başarısız olur. Hata genellikle denetim kanalı el sıkışması sırasında, herhangi bir kullanıcı doğrulamasından önce görünür. Eksik dosyayı suçlamadan önce şifre listesini okuyun.

Eliptik eğri tarafında eğriyi sunucunun TLS yapılandırması seçer ve OpenVPN eski dallarda onu seçmek için bir seçenek sunar. TLS 1.3 grup görüşmesini protokolün içinde yürütür ve DH dosyasına hiç bakmaz.

dh none kendi başına bir güvenlik düşüşü değildir. Değişimin gücü o zaman gerçekte görüşülen eğriye ve pakete bağlıdır, bu yüzden sonraki adım eksik dosyaya değil, tarafların neyi seçtiğine bakmaktır.

Düzenlemeden önce görüşmeyi doğrulamak

Sunucu ve istemci ayrıntı düzeyini artırın ve OpenVPN'in bağlantıdan sonra yazdırdığı denetim kanalı satırını okuyun. Bu satır TLS sürümünü ve görüşülen şifreyi adlandırır ve karşı tarafın sertifikasının anahtar türünü bildirir. O tek satır, yapılandırma dosyasının yalnızca ima ettiği soruyu yanıtlar.

TLS 1.2 ile ECDHE-RSA paketi ve RSA sertifikası gösteriyorsa, kombinasyon tam olarak dh none ne bekliyorsa odur ve düzeltilecek bir şey yoktur. DHE paketi veya ortak şifre olmadan el sıkışma hatası gösteriyorsa, çözüm sertifikada değil şifre politikasında veya istemci yeteneğindedir.

Desteklemeyi düşündüğünüz en eski istemciyi test edin, çünkü güncel bir istemci TLS 1.3 üzerinde anlaşabilirken daha eski bir istemci TLS 1.2 paketleriyle sınırlı olabilir. En eski istemcinin örtüşmesi yoksa ya izin verilen paketleri genişletin ya da o uç noktayı yükseltin.

Bir el sıkışma hatasını aşmak için sertifika doğrulamasını kapatmayın. Hata size tarafların bir anahtar değişimi üzerinde anlaşamadığını söyler ve denetimi kapatmak anlaşmayı çözmeden kimlik garantisini kaldırır.

Kontrol listesi: sertifika RSA mi, ECDHE paketine izin veriliyor mu, günlük o paketi gösteriyor mu ve desteklenen en eski istemci de onu görüşüyor mu? Dördü de evet ise dh none işini yapıyor.

İlgili makaleler