İki OpenVPN Sertifikası, Tek CCD Adı: Nerede Yanlış Gidildi
Seri numarası yalnızca kendi veren kuruluşu içinde benzersizdir; OpenVPN ise CCD dosyasını ada göre seçer. Bu etkin adı kayıt sırasında ayırın ve yenilemeyi kontrol altında tutun.
Farklı seri numaralarına, farklı anahtarlara ve hatta farklı tam konulara sahip iki istemci sertifikası yine de tek bir ilke dosyasına varabilir, çünkü sunucu bunların hiçbirine bakmaz. Sertifikadan bir ad okur ve eşleşen istemci yapılandırma dosyasını açar. İki sertifika da aynı adı taşıyorsa, ikincisi bağlandığı anda birincinin ilkesini devralır.
Çakışma kayıt sırasında oluşur ve ancak bağlantı sırasında ortaya çıkar; genellikle bir cihaz başka bir makineye ait bir adres veya yol kümesi aldığında. Bunu önlemek, sunucunun hangi alanı eşlediği konusunda anlaşmak ve ardından herhangi bir şey imzalanmadan önce o değeri ayırmak anlamına gelir.
Sertifika araçlarınız sizi uyarmaz, çünkü X.509 içindeki benzersizlik ile bir OpenVPN ilke adının benzersizliği farklı sistemler tarafından uygulanan farklı gereksinimlerdir.
Sunucu parmak izine değil, bir ada bakar
Olağan sertifika tabanlı eşlemede sunucu, sunulan sertifikadan ortak adı alır ve istemci yapılandırma dizininde o adda bir dosya arar. Bu dosya statik bir adres sabitleyebilir, yollar itebilir veya istemci başına güvenlik duvarı işaretleri uygulayabilir. Arama, bir dosya adıyla dize eşleşmesidir; bu yüzden büyük-küçük harf, boşluklar ve noktalama hepsi önemlidir.
Bazı dağıtımlar, kimliği doğrulanmış bir kullanıcı adının ortak adın yerini alması için eşlemeyi bilerek tersine çevirir ve o zaman benzersiz olması gereken kullanıcı adıdır. Her iki durumda da ilkeyi seçen değer, ayırdığınız değerdir. Herhangi bir şey çıkarmadan önce hangisinin olduğuna karar verin; çakışmadan sonra tahmin etmek sormaktan pahalıdır.
İki yetkilinin aynı adda buluştuğu yer
Birden fazla veren yetkiliden sertifika kabul eden bir kuruluş, tek bir ad alanına yazan iki bağımsız kayıt süreci yürütür. Her yetkilinin kendi benzersizlik kuralları kendi içinde geçerlidir, bu yüzden ikisi de aynı ortak ad için meşru şekilde verebilir ve hiçbiri yanlış bir şey fark etmez.
Seri numaraları yardımcı olmaz. X.509, seri numarasının kendi vereninin kapsamı içinde benzersiz olmasını gerektirir; bu o yetkilinin muhasebesinin bir özelliğidir, cihazın küresel bir kimliği değildir. Konu denetimi de ortak ad denetiminden farklı bir testtir: iki sertifika bir CN paylaşabilir ama organizasyon biriminde farklılaşabilir ve bu nedenle ayrı konular taşıyabilir. Bu özelliklerin her biri geçerli olabilirken sunucu yine de iki sertifikayı tek bir dosya adına eşler.
OpenSSL CA belgeleri, kendi veritabanının görüşünü yöneten unique_subject ayarını kapsar ve dürüst başlangıç noktası, belirli bir EasyRSA veya OpenSSL varsayılanının geçerli olduğunu varsaymak yerine kendi verme yapılandırmanızı okumaktır.
İmzadan önce etkin adı ayırın
Bir cihazı onaylanmış kaydına ve oradan da tam bir ilke dosyası adına eşleyen bir kayıt tutun; böylece bir ad bir kez tahsis edilir ve tahsis edilmiş kalır. Ayırma atomik olmalıdır; bu pratikte tahsis et-ve-sonra-imzala adımının etrafında bir veritabanı kısıtı veya kilidi anlamına gelir, iki kişinin düzenlediği bir elektronik tablo değil.
Ardından denetimi vermenin bir parçası yapın: istenen ad zaten varsa imzalamayı reddedin ve bu denetime sunucunun güvendiği her yetkilisi dahil edin, çünkü diğer yetkilinin ayırdığı ad da aynı ölçüde doludur. Açık gerekçeli reddedilmiş bir istek, sürekli başkasının statik adresini alan bir cihaz hakkındaki biletten daha ucuzdur.
Yenileme bir adı bilerek yeniden kullanır
Mevcut bir cihaz için yeniden verme, aynı ilke adı altında yeni bir seri numarası üretmelidir ve bu çakışma değil, meşru yeniden kullanımdır. Önceden karar verilmesi gereken şey örtüşmedir: eski ve yeni sertifikanın aynı anda geçerli olup olamayacağı ve eski kimlik bilgisinin nasıl kullanımdan kaldırılacağı.
Bunu çözmek için duplicate-cn ayarına uzanmayın. Bu sunucu seçeneği aynı adı sunan eşzamanlı bağlantıları yönetir; kaydı kilitlemez ve etkinleştirilmesi tek bir paylaşılan statik adresi aynı anda iki makine için güvenli kılmaz. İptal genellikle bir sertifikayı veren ve seri numarasıyla tanımlar, bu yüzden eski kimlik bilgisinin kullanımdan kaldırılması, sunucu doğru iptal verilerini alıp uyguladığı sürece yerine geçen belgeyi geçersiz kılmak zorunda değildir.
Eşlemeyi makinedeki araçlarla doğrulayın
Bir cihaza yeni kimlik bilgisini vermeden önce, adı sertifikadan sunucunun okuyacağı şekilde okuyun ve ardından seçilmesini beklediğiniz ilke dosyasıyla karşılaştırın.
openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf
İlk komut konu alanlarını ayrı ayrı yazdırır; bu, yoldan çıkmış bir organizasyon birimini veya çift boşluğu hemen görünür kılar. İkincisi tam olarak o ad altında bir ilke dosyası bulunduğunu doğrular, üçüncüsü ise sunucunun tek bir ad üzerinde birkaç oturuma izin verecek şekilde yapılandırılıp yapılandırılmadığını gösterir. Hata henüz bir olay değil bir imza maliyetindeyken, kayıt adımından çıkmadan üçünü de yeni bir sertifika üzerinde çalıştırın. Çıktıyı biletle birlikte saklayın ki bir sonraki kişi sunucunun gerçekte hangi adı aldığını görsün.
Gerçek bir bağlantıyla bitirin ve atanan adres ile itilen yolları yazmayı düşündüğünüzle değil, ilke dosyasıyla karşılaştırın. İki cihaz aynı statik adresi bildirirse, kayıtta hiçbir sertifika denetiminin asla ortaya çıkaramayacağı bir çakışma vardır.