Cara Mengalih Keluar Sijil VPN Lapuk daripada Gedung Kepercayaan
Memadam profil VPN meninggalkan sijil dalam OS, pelayar atau gedung aplikasi. Padankan mengikut cap jari, padam salinan paling sempit, kemudian sahkan rantaian.
Klien VPN anda telah dinyahpasang, profil sudah tiada daripada Tetapan, tetapi terowong masih naik dengan kelayakan lama. Atau anda memadamnya, but semula, dan mendapatinya kembali keesokan paginya. Kedua-duanya bukan butang padam yang rosak. Profil ialah konfigurasi; sijil ialah bahan kunci serta keputusan kepercayaan yang direkodkan dalam gedung yang hanya ditunjuk oleh profil. Yang mana anda pegang menentukan apa yang 'alih keluar' mesti bermakna.
Profil bukan sijil
Tiga objek berbeza dipanggil 'sijil' dalam persediaan VPN. Identiti klien ialah sijil daun dengan kunci peribadi, dan gerbang menggunakannya untuk menentukan siapa anda. Sijil daun pelayan sendiri dan perantaranya ialah apa yang klien anda periksa semasa menyambung. Sauh kepercayaan, biasanya sijil akar atau CA persendirian, ialah apa yang menjadikan rantaian boleh disahkan sama sekali. RFC 5280 menamakan ini sauh kepercayaan, perantara dan entiti akhir, dan rantaian hanya sah selagi setiap pautan menandatangani pautan di bawahnya.
Padam identiti dan satu peranti hilang akses. Padam sauh dan setiap aplikasi yang mengesahkan terhadap gedung itu hilang keupayaan untuk memeriksa apa-apa yang dikeluarkan di bawahnya, termasuk sambungan yang tiada kaitan dengan VPN. Asimetri itu ialah keseluruhan risiko di sini: akar yang dipasang untuk satu gerbang selalunya akar yang sama yang menandatangani portal dalaman, pelayan mel atau cermin pakej. Ingat yang mana antara kedua-duanya yang anda pegang.
Pemilikan menentukan sama ada pemadaman itu kekal dipadam. Pada komputer riba milik anda, anda satu-satunya yang boleh meletakkan sijil itu kembali. Pada peranti terurus, profil konfigurasi atau muatan MDM boleh memasangnya semula pada daftar masuk seterusnya, sebab itulah ia 'kembali' dan sebab itulah memadam lebih kuat tidak membantu.
Cari gedung mana yang masih menyimpannya
Orang mula di aplikasi Tetapan, iaitu satu-satunya tempat sijil tidak disimpan. Lokasi sebenar ialah gedung kepercayaan OS, gedung pelayar sendiri, dan gedung peribadi aplikasi.
| Store | What deleting from it affects |
|---|---|
| Windows CurrentUser\My | your login session only |
| Windows LocalMachine Root | every user and service on the machine |
| macOS login or System keychain | one account, or all of them with sudo |
| Linux ca-certificates bundle | curl, git, Python, anything using the system bundle |
| Firefox cert9.db | Firefox only; it does not read the OS store |
Padankan pada nombor siri atau cap jari, jangan sekali-kali pada nama paparan. Nama paparan ditetapkan oleh sesiapa yang mengeluarkan sijil dan digunakan semula: 'Example VPN' boleh jadi tiga sijil dengan tiga kunci berbeza, satu masih digunakan setiap hari.
certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256
Pada macOS alat security memberikan fakta yang sama, dan find-identity menunjukkan sijil mana yang masih mempunyai kunci peribadi terlampir:
security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client
Padam objek sempit, kekalkan pengeluar kongsi
Eksport sebelum anda padam. Tanpa sandaran satu-satunya pemulihan ialah mengeluarkan semula, yang pada CA persendirian bermakna kembali kepada sesiapa yang mengendalikan PKI. PFX yang dieksport juga ialah apa yang anda serahkan jika penyingkiran itu ternyata keputusan yang salah.
certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>
Bendera -user itulah yang orang tercicir secara tidak sengaja. Tanpanya, certutil berfungsi pada gedung mesin pula, bermakna shell yang dinaikkan, set sijil yang berbeza, dan radius letupan yang kini merangkumi setiap akaun lain pada mesin itu.
Pada macOS dan Linux bentuknya sama: kenal pasti, eksport, kemudian alih keluar daripada gedung paling sempit yang menjelaskan gejala itu. Menyingkirkan fail di bawah /usr/local/share/ca-certificates dan menjalankan semula update-ca-certificates sudah memadai; --fresh hanya membantu apabila pautan simbolik dalam /etc/ssl/certs sudah tidak konsisten. Sistem keluarga RHEL menyimpan sauh dalam /etc/pki/ca-trust/source/anchors, di mana trust anchor --remove melakukan kerja yang sama.
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
Sebelum memadam sijil CA, periksa apa lagi yang berantaian kepadanya. Menyenaraikan subjek dalam himpunan itu ialah pemeriksaan dua baris dan ia menjawab sama ada sauh itu melakukan kerja lain:
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
| openssl pkcs7 -print_certs -noout | grep -i example
Memadam fail bukan membatalkan identiti
Pemadaman setempat membuang satu salinan. Kunci peribadi masih boleh berada dalam p12 yang terlampir pada tiket lama, folder sandaran, atau komputer riba kedua yang disediakan pada masa yang sama. Jika ini identiti klien, gerbang terus menerima mana-mana salinan kunci itu sehingga identiti ditolak di pihak pelayan.
Bagi OpenVPN PKI, itu bermakna membatalkan sijil dan memastikan CRL yang dirujuk oleh crl-verify masih terkini; easyrsa revoke kemudian easyrsa gen-crl ialah versi ringkasnya. Bagi gerbang yang terikat pada penyedia identiti, lumpuhkan pengguna atau alih keluar peranti di sana, kerana sijil hanyalah satu kelayakan yang terlibat. Memadam salinan setempat semasa akaun kekal aktif kelihatan seperti pembersihan dan sebenarnya bukan.
Kerja insiden mempunyai urutan berbeza: pelihara sijil, nombor sirinya dan rekod pembatalan dahulu, kemudian padam dan batalkan. Rekod itu tidak berbelanja apa-apa dan tidak memerlukan kelayakan yang berfungsi ditinggalkan di tempatnya.
Sahkan dengan jabat tangan dan aplikasi kedua
Periksa rantaian dari luar, bukan daripada senarai gedung yang baru anda sunting. Gedung menunjukkan suntingan anda; jabat tangan menunjukkan hasilnya.
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
Kod pulangan 0 bermakna sauh yang tinggal masih mengesahkan gerbang. Ralat rantaian selepas sauh dialih keluar ialah hasil yang dijangka, dan ia mengesahkan anda mengenai sauh yang digunakan bukan pendua dalam gedung yang tidak pernah dibaca klien. Jika sambungan masih berfungsi, cari salinan kedua, gedung terbina dalam aplikasi, atau sijil yang dipinkan, semuanya biasa dalam klien yang membawa senarai kepercayaan sendiri.
Kemudian uji sesuatu yang tidak berkaitan: tapak dalaman, klien mel, cermin pakej. Itu mengukur radius letupan dengan murah, sebelum tetingkap perubahan ditutup.
- Peranan dikenal pasti sebagai identiti, perantara atau sauh kepercayaan
- Nombor siri dan cap jari direkodkan, dan salinan dieksport ke lokasi yang diluluskan
- Pemadaman dilakukan dalam skop paling sempit yang menjelaskan gejala
- Kebenaran pihak pelayan dibatalkan apabila orang atau peranti pergi
- Jabat tangan dijelaskan, dan satu aplikasi tidak berkaitan diuji semula
- Muatan MDM atau profil pengurusan dikemas kini, jika tidak sijil kembali
Jika sijil kembali selepas but semula, kerja belum selesai: sesuatu memilikinya dan memasangnya semula. Cari pemilik itu sebelum memadam lagi, kerana pemadaman ketiga akan berkelakuan tepat seperti dua yang pertama.