OpenVPN CA İmzalama Anahtarını /etc/openvpn Dışında Tutun
CA çalışma alanı kimlikleri düzenler; hizmet yalnızca dağıtılmış malzemeyi tüketir. Her role kendi hesabını, dizinini ve yedeğini verin ve ikisini de doğrulayın.
Bir eğitimde benzer görünen iki dizin tamamen farklı işler yapar. Biri sertifika yetkilisini barındırır: özel anahtarını, seri numarası sayacını ve imzaladığı her şeyin kaydını. Diğeri daemonun başlamak ve istemcilere hizmet vermek için ihtiyaç duyduğu şeyi barındırır. İkisini aynı ana bilgisayarda aynı hesap altına koymak bir öğleden sonra için kullanışlı, dağıtımın geri kalan ömrü boyunca ise pahalıdır, çünkü daemon o zaman istediği her kimliği üretebilen tek anahtarın yanında çalışır.
CA çalışma alanı neler içerir
Bir PKI dizini yapılandırma değil, verici durumudur. CA özel anahtarını ve sertifikasını, bir seri numarası dosyasını, verilen sertifikaların dizinini ve bunlardan üretilen kimlik başına malzemeyi içerir.
Bir isteği imzalamak bu durumu değiştirir, bu yüzden çalışma alanı VPN hizmetinin çalışmadığı bir ana bilgisayarda yönetici tarafından denetlenen bir hesaba aittir. CA özel anahtarını okuyabilen herkes sunucunun güveneceği bir sertifika verebilir, yani anahtarın korunması tek bir dosyadaki tüm güven modelidir. Bir adım kazanmak için onu ikinci bir konuma kopyalamak, korunacak ikinci bir şey ve unutulacak ikinci bir şey yaratır. Her imza ayrıca seri numarasını artırır ve dizine bir kayıt ekler, bu yüzden çalışma alanı bir dosya klasörü değil, durumun tek bir kopyasıdır.
CA’nın ortak sertifikası farklıdır. Dağıtılmak üzere tasarlanmıştır ve istemciler ile sunucuların birbirini doğrulamak için kullandığı şeydir.
Daemon başlarken ne okur
Çalışan bir sunucu küçük bir küme tüketir: kendi sertifikası, kendi özel anahtarı, eşleri doğrulamak için CA sertifikası ve seçilen modun gerektirdiği anahtar malzemesi. Bu yolları başlangıçta ve yeniden yüklemede tekrar okur.
Sahiplik, etkileşimli bir root kabuğuna göre değil, gerçekten başlayan birime göre değerlendirilmelidir. Bildirilen sandbox, root olarak yapılan manuel bir test başarılı olsa bile dosya sisteminin bir bölümünü salt okunur veya görünmez yapabilir.
systemctl show -p User -p Group -p ReadOnlyPaths [email protected]
stat -c '%a %U:%G' /etc/openvpn/server/server.key
runuser -u openvpn -- test -r /etc/openvpn/server/server.key; echo $?Üçüncü satır insanların atladığı satırdır. Daemonun kendi hesabına anahtarı okuyup okuyamadığını sorar ve ayrıcalıklar bırakıldıktan sonra önemli olan tek soru biçimi budur. Root olarak sıfır çıkış, bırakma sonrası ne olduğu hakkında hiçbir şey söylemez.
Herhangi bir izni değiştirmeden önce iki hata yolunu ayırmakta fayda var. İmzalama hatası PKI dizinine, üst dizinlerindeki arama iznine ve vericiyi çalıştıran hesaba işaret eder. Başlatma hatası birime, çalışma dizinine ve sunucu yapılandırmasında adı geçen yollara işaret eder. Tüm ağacı herkesin okuyabileceği hale getirmek ikisini de düzeltmez ve ikisinin de bağlı olduğu sınırı ortadan kaldırır.
CA anahtarını sunucuya kopyalamak neden sonra başarısız olur
Kopya genellikle bir hata ayıklama hamlesi olarak başlar: biri VPN ana bilgisayarındaki bir istemciyi yenilemek ister, böylece CA anahtarı /etc/openvpn içine düşer ve yenileme çalışır. Acil görev başarılı olur ve sınır ortadan kalkar.
Sonra sunucu yedeklenir ve imzalama yetkilisi yedeklere katılır. Bir anlık görüntü, bir destek paketi veya yapılandırma dizininin bir kopyası artık CA geçerli olduğu sürece güvenilir kimlikler verme yeteneğini taşır. O kopyayı elinde tutan herkes sunucunun kabul ettiği herhangi bir ad için sertifika üretebilir, hiç verilmemiş adlar dahil. O vermenin tek kaydı, saklamayı seçtikleri kayıttır.
Bu durumdan kurtulmak bir dosyayı silme meselesi değildir. Anahtarın açığa çıkıp çıkmadığına karar vermeli, çıktıysa CA’yı döndürmeli ve güveni her eşe yeniden dağıtmalısınız. Ayrı bir çalışma alanı tüm bu konuşmayı önler.
Hesaplar, dizinler, yedekler
Vericiye kendi hesabını ve ana dizinini verin; pratik olduğunda VPN ana bilgisayarından uzakta tutun. Daemona farklı bir hesap verin; dağıtılmış malzemeye okuma erişimi olsun, sertifika veren hiçbir şeye yazma erişimi olmasın. Ortak sertifikaları dışarı kopyalayarak dağıtın ve özel verici durumunu asla içeri çekmeyin. İki rolü ayrı ayrı yedekleyin, çünkü hassasiyetleri ve geri yükleme hikâyeleri farklıdır.
İptalden sonra sunucu yapılandırmasının adını verdiği CRL dosyasını güncelleyin, ardından yeni bağlantıların onu okuması için hizmeti yeniden yükleyin. Easy-RSA belgeleri çalışma alanının düzenini ve imzalama akışını kapsar; çevresindeki sahiplik kuralları ana bilgisayarınızla ilgili bir karar olarak kalır. Hizmetin ne yüklediğini şununla doğrulayın: openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate yeniden yüklemenin onu aldığını varsaymak yerine.
Ayrımı kanıtlayan bir test
Yalnızca çalışan durumu değil, olumsuz durumu da kontrol edin. Tasarlandığı gibi verici hesabından bir sertifika imzalayın, ardından aynı hesabın hizmeti başlatamadığını veya sunucunun özel anahtarını okuyamadığını doğrulayın. Sonra daemonun hesabının CA özel anahtarını okuyamadığını doğrulayın.
Bu üç kontrol birkaç dakika sürer ve personel değişikliklerine dayanır, çünkü izinlerle ilgili ifadelerdir, alışkanlıkla ilgili değil. Sonucu kapsadığı yollar ve hesaplarla birlikte, çalıştırdığınız tarihle yazın. Bu dağıtımı devralan sonraki kişi aksi halde sınırı hiç sahip olmamış bir eğitimden yeniden türetir. Tarihli bir kayıt, bir sonraki incelemenin bir öğleden sonra yerine dakikalar sürmesini sağlayan şeydir.