OpenVPN başlangıçta auth-nocache seçeneğini öneren bir uyarı yazdırır ve baştan çıkarıcı yanıt seçeneği ekleyip satırın kayboluşunu izlemektir. Bu öğüt etkileşimli bir oturum açmayı varsayar. Kullanıcı adı ve parola bir dosyada yaşamaya başladığında karşılaştırma değişir: seçenek kalıcı kopyayı korumayı bırakır ve ayrıcalıklardan vazgeçen bir istemcide daha sonra yeniden anlaşmayı bozabilir. Bir profili düzenlemeden önce iki saklama modelini ayrı tutmakta yarar var.

Kimlik bilgisi isteğine yanıt vermenin iki yolu

İlk model, kimlik bilgilerini bir uçbirime yazan bir insan ya da bunları oturum boyunca tutan bir yönetim arayüzüdür. OpenVPN bu kopyayı, bir sonraki yeniden anlaşmayı yeniden sormadan yanıtlayabilmek için saklar ve uyarı tam olarak bundan söz eder. Disk üzerinde hiçbir şey devrede değildir, dolayısıyla korunması gereken tek şey değeri tutan süreçtir. İstemciyi kapatın, kopya da onunla gider.

İkinci model bir dosyaya işaret eden auth-user-pass seçeneğidir; dosya burada depodur ve istemci bir değer gerektiğinde onu okur. Burada önemli olan maruziyet süreç belleği değil, o dosyanın izinleri ve sahipliğidir. Başlangıç uyarısı yapılandırmadaki direktiflerden gelir, parolayı nasıl verdiğinizin denetiminden değil, bu yüzden her iki modelde de görünür ve hiçbirini işaret etmez.

Bu karşılaştırmanın geri kalanı o ayrımdan doğar: bir model için bellek yönetimi, diğeri için dosya yönetimi ve süreç kimliği.

auth-nocache gerçekte neyi atar

Etkileşimli bir oturum açmada --auth-nocache kullanıldıktan sonra saklanan kopyayı bellekten kaldırır. Bedel, her yeniden anlaşma aralığında yeni bir istemdir, çünkü sonraki tur atılanı yeniden kullanamaz.

Dosya tabanlı oturum açmada istemci dosyayı yeniden okuyabilir, bu yüzden atma çoğunlukla görünmezdir. Yalnızca insanların beklemediği tek yerde görünür hale gelir: daemon ayrıcalıkları bıraktıktan sonra, kimlik bilgileri dosyası artık altında çalıştığı hesap tarafından okunamıyorsa.

Seçeneği bu değiş tokuşu anladığınız için ekleyin, bir uyarı çıktığı için değil. Günlüğü daha sessiz yapmak için eklenen seçenek, etkisini kimsenin ölçmediği bir seçenektir.

Dosya tabanlı yol nerede kırılır

Tünel aygıtını açmak için root olarak başlayıp sonra user ve group seçeneklerine geçen bir istemci, kimlik bilgileri dosyasını iki kez okur: biri geçişten önce, biri ardından gelen yeniden anlaşmada. Dosya 600 kipindeyse ve root'a aitse ikinci okuma başarısız olur ve hata bir saat sonra sunucu sorunu gibi görünen bir kimlik doğrulama hatası olarak ortaya çıkar. Yeniden anlaşma aralığının çevresindeki istemci günlüğüne bakın, sonra hesabı ve dosyayı birlikte kontrol edin.

stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | head

Her iki satır da önemlidir. Birincisi dosyayı kimin okuyabileceğini, ikincisi çalışan daemonun gerçekte kim olduğunu söyler ve ikisi arasındaki uyumsuzluk, parolayı kaç kez yeniden yazsanız da düzelmeyecek bir hatayı açıklar.

Pratik düzeltmeler gösterişli değildir: dosyayı daemonun hesabının okuyabildiği bir dizine ve sahibine taşıyın ya da ayrıcalıklı okumayı koruyup istemcinizin yalnızca bir kez okuduğunu doğrulayın. Dosyayı herkesin okuyabildiği hale getirerek çözmeyin.

Seçeneği gerçekten isteyen durum

Tek kullanımlık kod taşıyan bir oturum açma, auth-nocache seçeneğini başka bir nedenle ister. Tek kullanımlık kod ilk kimlik doğrulamada tüketilir, bu yüzden önbelleğe alınmış kopya bir sonraki yeniden anlaşmada işe yaramaz ve eski bir değer yeniden oynatılabilir bile.

Bu, kimlik bilgisinin türüyle ilgili bir sorudur, nerede saklandığıyla değil. Korumalı bir dosyadaki statik parolanın profili tersidir: her yeniden anlaşmada okunabilir olmalıdır ve ihtiyacınız olan koruma dosyanın üzerindedir.

Bu iki nedeni profil yorumlarında ayrı tutun, yoksa bir sonraki yönetici seçeneğin kendi seçeceği nedenle orada olduğunu varsayar.

Tek kararda karşılaştırma

Bir insan varken ve tazelik önemliyken etkileşimli modeli seçin ve tekrarlanan istemi bunun bedeli olarak kabul edin. İstemci gözetimsiz çalışırken dosya modelini seçin ve emeği sahiplik, kip ve ayrıcalıklardan vazgeçmeye harcayın.

Hiçbir model saklanan bir parolayı tek başına güvenli kılmaz ve hiçbiri başlangıç uyarısını anlamlı kılmaz.

Uyarı profili açmanızın tek nedeni idiyse, açıklamasız bir seçenek yerine kararı kaydedin: kimlik bilgileri daemonun hesabının okuyabildiği bir dosyadan geliyor, bir yeniden anlaşmanın başarılı olduğu görüldü ve aralığı değiştirmeden önce OpenVPN 2.6 kılavuzunun yeniden anlaşma bölümü okundu. O not herhangi bir tek bayraktan daha uzun yaşar.

İlgili makaleler