İptal edilen VPN sertifikası hâlâ bağlanıyor mu? CRL uygulamasını denetleyin
İptal edilen sertifikalar, CRL doğrulayıcıya hiç ulaşmadığında hâlâ bağlanır. Bu sırayla veren kuruluşu, yüklenen seri numarasını, yeniden yükleme davranışını ve etkin oturumları denetleyin.
Sertifikayı iptal ettiniz, yeni bir liste oluşturdunuz ve eski profil hâlâ bir tünel açıyor. İptalin kendisi bozuk değil: CRL, bir seri numarasının artık geçerli olmadığına dair imzalı bir beyandır ve erişimi ancak TLS'i sonlandıran bileşen onu doğru veren kuruluş için yüklediğinde, kabul kararını vermeden önce değiştirir. Bu vakaların çoğu tam orada yatar ve bu yüzden iptal ile reddetme iki ayrı olgudur.
Aşağıdaki beş denetimi sırayla yapın ve ilk tutmayanda durun, çünkü her sonraki denetim öncekilerin doğru olduğunu varsayar.
Kabul kararını hangi bileşenin verdiğini denetleyin
İstemci sertifikasını doğrulayan süreci adlandırın, çünkü bir listeyi yalnızca o süreç uygulayabilir. Bir OpenVPN sunucusunda bu, crl-verify ile yapılandırılmış daemonun kendisidir. ocserv'de bu, ocserv.conf içindeki crl satırıdır. strongSwan'da girdiler, yüklenen CRL'ler ile strictcrlpolicy birlikte. VPN'in önünde TLS'i sonlandıran bir vekil veya cihaz da gerçek doğrulayıcı olabilir ve öyleyse arkasındaki daemon istemci sertifikasını hiç görmez.
WireGuard başka bir kategoriye girer. Sertifikası ve iptal listesi yoktur; bir eş, yapılandırmadaki açık anahtarıyla kabul edilir, bu yüzden erişimi sonlandırmak o anahtarı kaldırmak demektir. Yalnızca WireGuard kullanılan bir kurulumda CRL arıyorsanız, o mekanizma orada yoktur.
İstemci tarafındaki tuzağa da dikkat edin. Sunucu sertifikasını sevmediği için bağlanmayı reddeden bir istemci, sunucunun zincirini uygular, kendi kimlik bilgisini iptal etmez. Bir kullanıcı sertifikası yalnızca o kullanıcı sertifikasının doğrulandığı yerde iptal edilir ve bu neredeyse her zaman sunucu tarafıdır.
Listenin hangi veren kuruluş için imzalandığını denetleyin
Bir CRL tek bir veren CA ile sınırlıdır. Bir kök ve bir ara CA olduğunda yaprak sertifikalar aradan gelir, bu yüzden önemli olan liste ara CA'nın CRL'sidir; kökün listesi o yapraklar hakkında hiçbir şey söylemez. Yanlış dosyaya yönelen bir doğrulayıcı onu neşeyle ayrıştırır, eşleşen bir kayıt bulamaz ve her şeyi kabul eder.
Daemon'a dokunmadan önce eşleşmeyi onaylayın. Sertifikadaki veren kuruluş, listenin subject'iyle eşleşmelidir:
openssl x509 -in client.crt -noout -issuer -serial
openssl crl -in intermediate.crl -noout -issuer -lastupdate -nextupdateİkisi de aynı CA'dan geldiğinde, sertifika için basılan seri numarası listede görünmesi gereken değerdir. Uyuşmuyorlarsa yanlış CRL'yi veya onun yanlış kopyasını tutuyorsunuz.
Geçerlilik aynı denetime aittir. Geçmişteki bir nextUpdate listeyi eskimiş yapar ve kapalı biçimde başarısız olan bir doğrulayıcı o zaman yalnızca iptal edileni değil her istemciyi reddeder.
Seri numarasının daemonun yüklediği kopyada olduğunu denetleyin
İptal, CA veritabanına bir kayıt yazar ve yeniden oluşturma yeni bir dosya yazar. İki eylemden hiçbiri, başlangıçta eski kopyayı yüklemiş çalışan bir daemon'a ulaşmaz. Listeyi dökün ve seri numarasını arayın:
openssl crl -in intermediate.crl -noout -text | grep -i -A2 'Serial Number'
openssl ca -revoke client.crt
openssl ca -gencrl -out intermediate.crlArdından uygulamanızın dosyayı nasıl aldığını denetleyin. OpenVPN, crl-verify verilen yolu başlangıçta bir kez okur, bu yüzden yeni bir liste yeniden başlatma veya yeniden başlatma sinyali gerektirir; aynı seçenek bir dizine yönlendirildiğinde her bağlantıda yeniden okunur ve dizin kipinin var olmasının nedeni budur. strongSwan kimlik bilgilerini yeniden yüklemelidir, örneğin swanctl --load-creds ile. Dosyanın diskte doğru olması ile doğrulayıcının onu kullanması iki ayrı olgudur.
Eksik veya süresi geçmiş liste için ilkeyi denetleyin
Bu, birçok kurulumun hiçbir zaman açıkça vermediği karardır ve iptalin sizi koruduğuna mı yoksa herkesi dışarıda mı kilitlediğine karar verir. Fail-closed, kullanılabilir iptal bilgisi olmadan reddin oluşması demektir; fail-open, doğrulayıcının onsuz devam etmesi demektir. strongSwan seçimi strictcrlpolicy olarak sunar. OpenVPN, crl-verify ile okuyamadığı veya ayrıştıramadığı bir dosyada başlamayı reddeder ve süresi geçmiş bir liste sessiz bir kabul yerine süresi geçmiş CRL hakkında bir TLS doğrulama hatası olarak görünür.
| State of the revocation data | Fail-closed result | Fail-open result |
|---|---|---|
| List missing or unreadable | Verification fails, so expect an outage | Every client connects, including the revoked one |
List past nextUpdate | Validation errors until a fresh list is deployed | Old status is trusted indefinitely |
| Revoked serial present in the loaded list | Handshake rejected for that certificate | Handshake rejected for that certificate |
Hangi yönü seçerseniz seçin, otomasyon seçimden daha önemlidir: CRL'yi nextUpdate öncesinde yeniden oluşturan bir iş ve dağıtılan kopya yaşlandığında bir uyarı, iki ilkenin de olaya dönüşmesini engeller. OCSP ile çevrimiçi denetim tazeliği bir yanıtlayıcıya taşır, ancak aynı kural geçerlidir, çünkü yanıtı denetlemek için yapılandırılmamış bir doğrulayıcı hiçbir şeyi değiştirmez.
Etkin oturumu, ardından anahtarın kopyalarını denetleyin
İptal, sertifika doğrulaması sırasında değerlendirilir; bu, bağlanma ve yeniden müzakere sırasında olur. Kurulmuş bir oturum yeniden müzakere edene kadar çalışmaya devam eder ve OpenVPN'in varsayılanı reneg-sec 3600 ile saatte birdir. Kişi hemen ağdan çıkmalıysa, listeyi yayımlamanın yanı sıra oturumu sonlandırın ve ardından yeniden bağlanmanın reddedildiğini onaylayın.
Kimlik bilgisini kopyalarından ayırın. Bir dizüstü bilgisayarda profili silmek, aynı özel anahtarın başka bir kopyasının kimlik doğrulamasını engellemez; her kopyayı işe yaramaz kılan iptaldir ve bu yalnızca önceki denetimler tuttuğunda geçerlidir. Yedek bir cihaza kendi sertifikasını verin, böylece biri diğerine dokunmadan iptal edilebilsin.
Bunu bitmiş saymadan önce: doğrulayıcı bileşen belirlendi, listenin veren kuruluşu yaprağın veren kuruluşuyla eşleşiyor, iptal edilen seri numarası daemonun gerçekten yüklediği kopyada, eksik veya süresi geçmiş listeler ilkesi bilinçli ve izleniyor ve etkin oturum beklenmek yerine sonlandırıldı. Tüm bunların arkasındaki biçimler RFC 5280 içinde belirtilmiştir.