VPN istemciniz kaldırıldı, profil Ayarlar'dan kayboldu ve tünel hâlâ eski kimlik bilgileriyle açılıyor. Ya da onu silersiniz, yeniden başlatırsınız ve ertesi sabah geri geldiğini görürsünüz. Bunların hiçbiri bozuk bir silme düğmesi değildir. Profil yapılandırmadır; sertifika ise anahtar malzemesi artı profilin yalnızca işaret ettiği bir depoda kayıtlı güven kararıdır. Elinizde hangisinin olduğu 'kaldır'ın ne anlama gelmesi gerektiğini belirler.

Profil sertifika değildir

Bir VPN kurulumunda üç farklı nesneye 'sertifika' denir. İstemci kimliği, özel anahtarı olan bir yaprak sertifikadır ve ağ geçidi kim olduğunuza bununla karar verir. Sunucunun kendi yaprak sertifikası ve ara sertifikası, istemcinizin bağlanırken kontrol ettikleridir. Güven çapası, genellikle bir kök veya özel CA sertifikası, zinciri baştan doğrulanabilir kılan şeydir. RFC 5280 bunları güven çapası, ara ve uç varlık olarak adlandırır ve zincir yalnızca her halkanın altındaki halkayı imzalaması sürece geçerlidir.

Kimliği silin, bir cihaz erişimi kaybeder. Çapayı silin ve o depoya karşı doğrulama yapan her uygulama, altında verilen herhangi bir şeyi kontrol etme yeteneğini kaybeder, VPN ile hiçbir ilgisi olmayan bağlantılar dahil. Bu asimetri buradaki tüm risktir: bir ağ geçidi için kurulan kök, çoğu zaman dahili bir portalı, posta sunucusunu veya paket aynasını imzalayan aynı köktür. İkisinden hangisini elinizde tuttuğunuzu hatırlayın.

Sahiplik, silmenin silinmiş kalıp kalmayacağını belirler. Sahip olduğunuz dizüstü bilgisayarda sertifikayı geri koyabilecek tek kişi sizsiniz. Yönetilen bir cihazda yapılandırma profili veya bir MDM yükü, bir sonraki check-in'de onu yeniden kurabilir; bu yüzden 'geri gelir' ve bu yüzden daha sert silmek işe yaramaz.

Hangi deponun hâlâ onu tuttuğunu bulun

İnsanlar Ayarlar uygulamasından başlar; sertifikanın saklanmadığı tek yer orasıdır. Gerçek konumlar işletim sisteminin güven depoları, tarayıcının kendi deposu ve uygulamanın özel deposudur.

StoreWhat deleting from it affects
Windows CurrentUser\Myyour login session only
Windows LocalMachine Rootevery user and service on the machine
macOS login or System keychainone account, or all of them with sudo
Linux ca-certificates bundlecurl, git, Python, anything using the system bundle
Firefox cert9.dbFirefox only; it does not read the OS store

Seri numarasına veya parmak izine göre eşleştirin, asla görünen ada göre değil. Görünen adlar sertifikayı veren tarafından belirlenir ve yeniden kullanılır: 'Example VPN' üç farklı anahtarlı üç sertifika olabilir, biri hâlâ günlük kullanımdadır.

certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256

macOS'ta security aracı aynı gerçekleri verir ve find-identity hangi sertifikaların hâlâ özel anahtar bağlı olduğunu gösterir:

security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client

Dar nesneyi silin, ortak vericiyi koruyun

Silmeden önce dışa aktarın. Yedek olmadan tek kurtarma yeniden düzenlemektir, bu da özel bir CA'da PKI'yi yöneten kişiye geri dönmek anlamına gelir. Dışa aktarılan PFX, kaldırmanın yanlış karar olduğu ortaya çıkarsa teslim ettiğiniz şeydir.

certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>

Bu -user bayrağı insanların kazara atladığı bayraktır. O olmadan certutil makine deposunda çalışır; bu da yükseltilmiş bir kabuk, farklı bir sertifika kümesi ve artık makinedeki diğer tüm hesapları kapsayan bir etki yarıçapı demektir.

macOS ve Linux'ta biçim aynıdır: tanımlayın, dışa aktarın ve ardından belirtiyi açıklayan en dar depodan kaldırın. /usr/local/share/ca-certificates altındaki dosyayı silmek ve update-ca-certificates komutunu yeniden çalıştırmak yeterlidir; --fresh yalnızca /etc/ssl/certs içindeki sembolik bağlantılar zaten tutarsızsa yardımcı olur. RHEL ailesi sistemler çapaları /etc/pki/ca-trust/source/anchors içinde tutar; burada trust anchor --remove aynı işi yapar.

sudo security delete-certificate -Z <sha1> /Library/Keychains/System.keychain
sudo rm /usr/local/share/ca-certificates/example-vpn.crt
sudo update-ca-certificates
sudo trust anchor --remove /etc/pki/ca-trust/source/anchors/example-vpn.crt

Bir CA sertifikasını silmeden önce ona başka neyin zincirlendiğini kontrol edin. Paketteki konuları listelemek iki satırlık bir kontroldür ve o çapanın başka bir iş yapıp yapmadığını yanıtlar:

openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
  | openssl pkcs7 -print_certs -noout | grep -i example

Dosyayı silmek kimliği iptal etmek değildir

Yerel silme bir kopyayı kaldırır. Özel anahtar hâlâ eski bir bilete eklenmiş bir p12'de, bir yedek klasörde veya aynı anda kurulmuş ikinci dizüstü bilgisayarda olabilir. Bu bir istemci kimliği idiyse, ağ geçidi kimlik sunucu tarafında reddedilene kadar o anahtarın herhangi bir kopyasını kabul etmeye devam eder.

Bir OpenVPN PKI için bu, sertifikayı iptal etmek ve crl-verify tarafından başvurulan CRL'nin güncel olduğundan emin olmak demektir; easyrsa revoke ardından easyrsa gen-crl kısa sürümdür. Bir kimlik sağlayıcısına bağlı ağ geçidi için kullanıcıyı orada devre dışı bırakın veya cihazı kaldırın, çünkü sertifika oyundaki yalnızca bir kimlik bilgisidir. Hesap etkin kalırken yerel kopyayı silmek temizlik gibi görünür ve değildir.

Olay çalışmasının farklı bir sırası vardır: önce sertifikayı, seri numarasını ve iptal kaydını koruyun, sonra silin ve iptal edin. Bu kayıtlar hiçbir şeye mal olmaz ve çalışan bir kimlik bilgisini yerinde bırakmayı gerektirmez.

Bir el sıkışma ve ikinci bir uygulamayla doğrulayın

Zinciri dışarıdan kontrol edin, az önce düzenlediğiniz depo listesinden değil. Depo düzenlemenizi gösterir; el sıkışma sonucu gösterir.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com \
  -CAfile /etc/ssl/certs/ca-certificates.crt -verify_return_error < /dev/null
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt vpn-gateway.pem

0 dönüş kodu, kalan çapaların ağ geçidini hâlâ doğruladığı anlamına gelir. Çapa kaldırıldıktan sonra bir zincir hatası beklenen sonuçtur ve istemcinin hiç okumadığı bir depodaki kopyaya değil, kullanımdaki çapaya vurduğunuzu doğrular. Bağlantı hâlâ çalışıyorsa ikinci bir kopya, uygulamaya gömülü bir depo veya sabitlenmiş bir sertifika arayın; bunların hepsi kendi güven listesini getiren istemcilerde yaygındır.

Sonra ilgisiz bir şeyi test edin: dahili bir site, bir posta istemcisi, bir paket aynası. Bu, değişiklik penceresi kapanmadan önce etki yarıçapını ucuza ölçer.

  • Rol kimlik, ara veya güven çapası olarak tanımlandı
  • Seri numarası ve parmak izi kaydedildi ve kopya onaylı konuma dışa aktarıldı
  • Silme, belirtiyi açıklayan en dar kapsamda yapıldı
  • Bir kişi veya cihaz ayrıldığında sunucu tarafı yetkilendirme iptal edildi
  • El sıkışma açıklandı ve ilgisiz bir uygulama yeniden test edildi
  • MDM yükü veya yönetim profili güncellendi, aksi halde sertifika geri gelir

Sertifika yeniden başlatmadan sonra geri geldiyse iş bitmemiştir: bir şey ona sahiptir ve yeniden kurar. Tekrar silmeden önce o sahibi bulun, çünkü üçüncü silme ilk ikisiyle tamamen aynı davranacaktır.

İlgili makaleler