Bir OpenVPN bağlantısı başarısız olur, biri SECLEVEL=0 ekleyen tek satırlık bir düzeltme bulur ve tünel açılır. Değişen sertifika değil, şifre paketi de değildi; kütüphane genelinde bir kabul eşiği kaydı ve sürecin bundan sonra yaptığı her şey yeni sınırı devralır. Aynı satır ortamdaki her profile kopyalanmadan önce bunu anlamakta fayda var.

Hangi kitaplığın ve hangi ilkenin yürürlükte olduğunu belirleyin

SECLEVEL bir OpenSSL kavramıdır, bu yüzden ilk soru derlemenizin OpenSSL kullanıp kullanmadığıdır. OpenVPN birden fazla kriptografi kitaplığına bağlanabilir ve bunlardan biri için geçerli olan bir ayar diğerleri için anlamsızdır. İkili dosyaya neyle derlendiğini sorun, ardından kitaplığa hangi sürümü ve yapılandırmayı yüklediğini sorun:

openvpn --version | head -3
openssl version -a

Sürüm çıktısını dikkatle okuyun, çünkü dağıtımlar varsayılanları yamalar. Bazıları minimum düzeyi upstream varsayılanının üstüne çıkaran bir sistem yapılandırmasıyla gelir; bu yüzden aynı OpenVPN paketlerine sahip iki makinede aynı profil farklı davranır. Geçerli ilke, çalışan sürecin yüklediği ilkedir, upstream kılavuzundaki değil.

Sonra insanların karıştırdığı iki katmanı ayırın. OpenVPN'in kendi TLS denetimleri vardır; bunlara sertifika profili ayarı ve açık şifre listeleri dahildir ve bunlar kitaplığın dayattığı her şeyin üstünde durur. Kitaplık düzeyini düşürmek OpenVPN yapılandırmanızın hangi şifreleri listelediğini değiştirmez ve OpenVPN listesini daraltmak kitaplığın eşiğini yükseltmez. Hangi katmanın sizi reddettiğini bilmek, düzeltmenin tahmin olarak kalmasını engelleyen şeydir.

Reddedilebilecek üç şeyi ayırın

İlk aday kimlik malzemesidir: anahtarı çok küçük olan veya imza algoritmasını ilkenin artık kabul etmediği bir sertifika. İkincisi bir anahtar değişimi parametresidir, örneğin ilkenin çok zayıf saydığı bir grup. Üçüncüsü ilkenin dışladığı bir şifre paketidir. Üçü de el sıkışma hatasına yol açabilir ve yalnızca hata metni ile müzakere aşaması onları ayırt eder.

Bu üçünden hiçbiri veri kanalının şifresi değildir. OpenVPN tünel şifrelemesini TLS el sıkışmasından ayrı müzakere eder, bu yüzden güvenlik düzeyi değiştikten sonra başarılı olan bir bağlantı yükünüzü hangi şifrenin koruduğu hakkında hiçbir şey söylemez. Gerçekte sorduğunuz soru verilerin gizliliğiyle ilgiliyse tamamen yanlış düğmeye bakıyorsunuz.

Düzeyi düşürmek üç girdinin tümü için kabulü aynı anda genişletir. İnsanların kaçırdığı kısım budur: eski bir sertifikayı kabul eden düzeltme, zayıf bir grubu ve izin vermeyi belki de amaçlamadığınız bir paketi de kabul eder. Tek bir hata değişikliği tetikledi ve değişiklik hatadan daha geniştir. Bu asimetri, kapsamı belirlenmiş bir istisnanın tüm ortam için varsayılandan daha iyi olmasının nedenidir.

Girdiyi değiştirin, eşiği değil

Yapılandırmaya dokunmadan önce tam hatayı saklayın; onu bildiren aşama ve adlandırdığı nesne dahil. Sertifika sorunu, sertifikayı mevcut ilkenin kabul ettiği bir şeyle değiştirerek çözülür; bu genellikle aynı dosyayı yeniden kurmak yerine yetkili makamdan yeniden düzenlemek anlamına gelir.

Reddedilen girdi denetlemediğiniz bir eşe aitse, konuşma onun sahibiyle desteklenen yedek malzeme hakkındadır. Kimsenin bakımını yapmadığı bir sistemi barındırmak için kendi eşiğinizi düşürmek, maliyeti onlardan onlardan sonra bağlanan herkese aktarır.

Sunucunun ilkeyi uyguladığı yerlerde, kitaplığı suçlamadan önce gerçek nedenin OpenVPN düzeyindeki bir ayar olup olmadığını kontrol edin. Dağıtılan sertifikanın karşılayamayacağı daha katı bir sınıf isteyen bir sertifika profili, güvenlik düzeyi ne olursa olsun başarısız olur ve o profili kaldırmak kitaplığın denetimlerini kapatmaktan daha dar bir değişikliktir.

Düşürmek zorundaysanız, kapsamını belirleyin ve belgeleyin

Bazen onaylanmış bir uyumluluk istisnası doğru yanıttır; özellikle tarihli bir kullanımdan kaldırma planı olan eski bir eş için. Bunu tüm ana makine yerine ihtiyaç duyan hizmetle sınırlayın: hizmete özgü bir yapılandırma dosyası veya özel bir OpenSSL yapılandırması, genel profildeki bir dışa aktarmadan daha küçük bir etki alanına sahiptir.

İstisnayla birlikte dört şey yazın: tam ayar, onu onaylayan sahibi, etkilenen istemciler ve kaldırılacağı koşul. Kullanımdan kaldırma koşulu olmayan bir istisna, ekli geçici bir gerekçeyle birlikte kalıcı bir zayıflatmadır.

Geri alma, zaten test ettiğiniz tek bir adım olmalıdır. Önceki yapılandırmayı saklayın, değişikliği uygulayın, hizmetin başladığını doğrulayın ve bir sonraki bağlantı beklenenden farklı davranırsa tam olarak hangi dosyayı geri yükleyeceğinizi bilin.

Ardından kimliği ve korumayı doğrulayın

Başarılı bir bağlantı yalnızca gözden geçirilmiş koşulların onu kabul ettiğini kanıtlar. Ana makine adı ve eş doğrulamasının hâlâ işini yaptığını, kullanılan sertifikanın dağıtmayı amaçladığınız sertifika olduğunu ve müzakere edilen veri kanalının sahip olduğunuzu düşündüğünüz ilkeyle eşleştiğini doğrulayın.

openssl x509 -in /etc/openvpn/client.crt -noout -subject -dates -text | grep -E 'Signature Algorithm|Public-Key'
openvpn --show-tls | head -20

OpenSSL güvenlik düzeyleri başvurusu, çerçevenin anahtarlara, imzalara, gruplara ve paketlere sınırları birlikte uyguladığını ve sıfır düzeyinin geri çağrının denetlediği her şeye izin verdiğini açıkça belirtir. Değiştirdiğiniz şeyin kapsamı budur ve düzeltmenin dar olup olmadığını soran birine alıntılanacak cümle budur.

Bir denetimden geçen devir teslim, hangi ilkenin hangi girdiyi reddettiğini, neyin değiştiğini ve bunun sonucunda neyin kabul edilmeye devam ettiğini söyler. „SECLEVEL=0 ile çalışıyor“ tek bir bağlantıya dair bir gözlemdir, dağıtımın güvenlik değerlendirmesi değil.

İlgili makaleler