VPN istemciniz bir sertifikaya güvenmeden önce neleri denetler
Bir sertifika uyarısını istemcinizin denetlediği dört kapıdan geçirin: CA güveni, zincir oluşturma, eş adı ve amacı ile iptal politikası.
VPN istemciniz sertifikanın doğrulanamadığını söyler ve iletişim kutusu orada biter. Dosya yerindedir, sunucu çalışıyordur ve aynı profil geçen ay başka bir dizüstü bilgisayarda çalışmıştı. O tek satırlık uyarının altında istemci, eş sertifikasını dört kapıdan geçirdi: yapılandırdığınız sertifika otoritesi imza yoluna kefil olur, o yol otoriteye ulaşır, eş adı istediğiniz addır ve sertifika artık bu amaç için kullanılabilir. Kapanan kapıyı bulun, onarım genellikle tek bir dosyadır; o adımı atlarsanız bütün öğleden sonra paketleri yeniden içe aktarırsınız.
Profili düzenlemeden önce iletişim kutusunu okuyun
Sertifika hatalarının metnini yüklediğiniz VPN ürünü değil, altındaki kütüphane yazar; bu yüzden tam dize ilk kanıtınızdır. «Yerel verenin sertifikası alınamıyor» yola veya güven çapasına işaret eder. «Sertifikanın süresi doldu ya da henüz geçerli değil» zamana işaret eder. «Desteklenmeyen sertifika amacı» genişletilmiş anahtar kullanımına işaret eder. Bir ad uyuşmazlığı hangi adın istendiğini söyler. Dördünden hiçbiri istemciyi yeniden kurmakla onarılmaz.
Bir şeyi değiştirmeden önce günlük düzeyini yükseltin. OpenVPN, --verb 4 ile çalıştırdığınızda el sıkışma çevresindeki doğrulama hatasını bildirir ve strongSwan kimlik ile zincir kararlarını charon günlüğüne yazar. Ardından hangi sertifikayı incelediğinizi doğrulayın, çünkü insanlar genellikle diskteki dosyayı test ederken profil daha eski bir kopyayı içine gömer. Profil PEM bloklarını gömdüğünde test edilen, gömülü sertifikadır.
Sertifika otoritesi izinleri değil, kimlikleri imzalar
Otorite bir ad ve bir imzalama anahtarı tutar. Kendi politikasına göre bir açık anahtarı o ada bağlayan sertifikalar verir; bunlara geçerlilik penceresi ve kullanım kısıtları eklenir. İstemciniz vereni tanımak için yalnızca otoritenin sertifikasına ihtiyaç duyar; imzalama anahtarına hiçbir zaman ihtiyaç duymaz ve o anahtarı istemcilere göndermek, dağıtımın güvendiği herhangi bir kimliği üretme yeteneğini onlara verirdi.
Bir otoriteye güvenmek, onun imzaladığı her sertifikayı aday yapar, doğru eşi değil. Aynı iç CA'dan bir web sunucusu sertifikası da adaydır. Ad ve amaç kapılarının var olma nedeni budur ve bu yüzden ele geçirilmiş bir CA anahtarı herhangi bir tek sunucudan daha önemlidir: otoritenin şimdiye kadar verdiği her kimliğe ulaşır. İstemci sertifikalarını her cihaz için ayrı verin; böylece kaybolan bir dizüstü bilgisayar tüm dağıtım için anahtar yenilemesi değil, tek bir iptal olur.
İstemcinin kurmaya çalıştığı yolu yeniden kurun
Yol, eş sertifikasından başlar, sıfır veya daha fazla ara sertifikadan geçer ve güven deponuzdaki bir köke ulaşır. Eksik ara sertifika en yaygın zincir arızasıdır ve istemci tarafından bakıldığında güvenilmeyen bir kök ile tamamen aynı görünür. Önce yaprağı okuyun, sonra göndermeyi düşündüğünüz malzemeden OpenSSL'in yolu kurmasına izin verin.
openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt
Sıfır çıkış durumu, yolun o dosyalardan kurulduğu anlamına gelir; bir hata ulaşılamayan sertifikayı adlandırır. openssl verify başarılı olurken istemci hâlâ reddediyorsa fark, sunucunun gerçekte ne gönderdiğinde veya profilin hangi güven dosyasını yüklediğindedir. OpenVPN'de ara sertifikalar sunucu sertifika dosyasıyla birlikte gidebilir veya --extra-certs ile ayrıca verilebilir; aynı konu adı altında yazılmış iki kök içeren bir paket, istemcilerinizden birini yanlış dala gönderir.
Ad ve amaç ayrı kapılardır
Zincir oluşturma, adın size ait olup olmadığını hiç sormaz. OpenVPN bunu yalnızca profil --verify-x509-name ayarladığında denetler ve yalnızca ortak adı eşleştirme alışkanlığı, kimlikleri subjectAltName içinde yaşayan sertifikalarda kırılır. IKEv2 dağıtımları yapılandırılmış kimliği SAN girdileriyle veya ayırt edici adla eşleştirir, istemciye göre değişir ve bir joker veya %any değeri, sahip olduğunuzu sandığınız karşılaştırmayı sessizce kapatır.
Sonra zaman ve amaç gelir. Saati birkaç saat ileri giden bir dizüstü bilgisayar henüz geçerli olmayan bir sertifikayı reddeder ve süresi dolmuş bir ara sertifika, yaprak geçerliyken yolu başarısız kılar. Amaç arızaları, genişletilmiş anahtar kullanımında serverAuth içermeyen veya el sıkışma imzasına izin vermeyen keyUsage taşıyan bir sertifikadan gelir; OpenSSL bunu desteklenmeyen sertifika amacı olarak bildirir. Doğru şablondan yeniden verin; o iletide doğrulamayı kapatmak için hiçbir gerekçe yoktur.
İptal yalnızca biri yapılandırdıysa çalışır
Bir CRL veya OCSP yanıtı otomatik olarak sorgulanmaz. Bir OpenVPN sunucusunda istemci sertifikaları bir listeyle yalnızca --crl-verify bir listeye işaret ettiğinde karşılaştırılır. Sunucu sertifikasının istemci tarafındaki denetimi uygulamaya bağlıdır ve çoğu zaman yoktur. strongSwan, bir eş için CRL'e bakmadan önce iptal eklentisine ve bir politikaya ihtiyaç duyar.
Bu, sonunda alacağınız kaydı açıklar: iptal edilmiş bir istemci sertifikası hâlâ bağlanır ve herkes iptalin bozuk olduğu sonucuna varır. Hiçbir şey denetlemiyordu. CRL'i yayımlayın ve yenileyin veya istemci sertifikalarını eski bir iptalin kısa süre önemli olacağı kadar kısa ömürlü tutun ve bir olay sırasında gerekmeden önce iptal yolunu laboratuvar sertifikasında prova edin.
Doğrulamayı açık tutan bir onarım sırası
Dosyalara dokunmadan önce belirtiye göre sıralayın, çünkü tablonun her satırı sizi farklı bir nesneye gönderir.
| Client says | Most likely gate | First check |
|---|---|---|
| unable to get local issuer certificate | trust anchor or missing intermediate | your own openssl verify against the files the profile loads |
| expired or not yet valid | validity window | leaf and intermediate dates against the device clock |
| unsupported certificate purpose | extended key usage | serverAuth present, keyUsage allows the handshake |
| name mismatch | peer identity | subjectAltName entries versus the profile name |
Listeyi tek geçişte bitirin: profilin yüklediği dosyayı doğrulayın, yolu kendiniz kurun, sunucunun ara sertifikayı gönderip göndermediğini denetleyin, saati karşılaştırın, SAN'ı okuyun, EKU'yu okuyun, sonra yeniden bağlanın ve aynı günlük satırının kayboluşunu izleyin. Bir cihaza hiç CA verilemiyorsa, sabitleme dürüst alternatiftir; çünkü OpenVPN 2.6 --peer-fingerprint seçeneğini kabul eder ve denetimi kaldırmak yerine güveni tek bir anahtara daraltır. Bu alanların her birinin anlamı için başvuru RFC 5280'dir.