თქვენი VPN კლიენტი წაშლილია, პროფილი პარამეტრებიდან გაქრა, და გვირაბი მაინც ძველი სერტიფიკატებით ადის. ან წაშლით, გადატვირთავთ და მეორე დილით ისევ პოულობთ. არც ერთი მათგანი გატეხილი წაშლის ღილაკი არ არის. პროფილი კონფიგურაციაა; სერტიფიკატი გასაღების მასალაა პლუს ნდობის გადაწყვეტილება, რომელიც ჩაწერილია საცავში, საითაც პროფილი მხოლოდ მიუთითებს. რომელი მათგანი გიჭირავთ, განსაზღვრავს, რას უნდა ნიშნავდეს 'წაშლა'.

პროფილი სერტიფიკატი არ არის

VPN-ის გამართვაში სამ განსხვავებულ ობიექტს 'სერტიფიკატს' უწოდებენ. კლიენტის იდენტობა არის ფოთლის სერტიფიკატი კერძო გასაღებით, და კარიბჭე მას იყენებს იმის გადასაწყვეტად, ვინ ხართ. სერვერის საკუთარი ფოთოლი და მისი შუალედური სერტიფიკატი არის ის, რასაც თქვენი კლიენტი ამოწმებს დაკავშირებისას. ნდობის ღუზა, ჩვეულებრივ ფესვური ან კერძო CA სერტიფიკატი, არის ის, რაც ჯაჭვს საერთოდ შესამოწმებელს ხდის. RFC 5280 ამათ ნდობის ღუზას, შუალედურ სერტიფიკატს და საბოლოო ერთეულს უწოდებს, და ჯაჭვი ძალაშია მხოლოდ მაშინ, სანამ ყოველი რგოლი ხელს აწერს მის ქვეშ არსებულს.

წაშალეთ იდენტობა და ერთი მოწყობილობა დაკარგავს წვდომას. წაშალეთ ღუზა და ყოველი აპლიკაცია, რომელიც ამ საცავის წინააღმდეგ ამოწმებს, დაკარგავს მის ქვეშ გამოცემული ნებისმიერი რამის შემოწმების უნარს, მათ შორის კავშირები, რომლებსაც VPN-თან არაფერი აქვთ საერთო. ეს ასიმეტრია არის მთელი რისკი აქ: ერთი კარიბჭისთვის დაყენებული ფესვი ხშირად იგივე ფესვია, რომელიც ხელს აწერს შიდა პორტალს, ფოსტის სერვერს ან პაკეტების სარკეს. დაიმახსოვრეთ, რომელი მათგანი გიჭირავთ.

საკუთრება განსაზღვრავს, დარჩება თუ არა წაშლა წაშლილად. თქვენს საკუთარ ლეპტოპზე მხოლოდ თქვენ შეგიძლიათ სერტიფიკატის დაბრუნება. მართულ მოწყობილობაზე კონფიგურაციის პროფილი ან MDM დატვირთვა შეიძლება მისი ხელახლა დაყენება მომდევნო შემოწმებისას, ამიტომ 'ბრუნდება' და ამიტომ უფრო ძლიერი წაშლა არ ეხმარება.

გაარკვიეთ, რომელი საცავი ჯერ კიდევ ინახავს მას

ადამიანები იწყებენ პარამეტრების აპიდან, რომელიც ერთადერთი ადგილია, სადაც სერტიფიკატი არ ინახება. ნამდვილი ადგილებია ოპერაციული სისტემის ნდობის საცავები, ბრაუზერის საკუთარი საცავი და აპლიკაციის კერძო საცავი.

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

შეადარეთ სერიულ ნომერს ან თითის ანაბეჭდს, არასოდეს ჩვენების სახელს. ჩვენების სახელებს ადგენს ის, ვინც სერტიფიკატი გასცა, და ისინი ხელახლა გამოიყენება: 'Example VPN' შეიძლება იყოს სამი სერტიფიკატი სამი განსხვავებული გასაღებით, რომელთაგან ერთი ჯერ კიდევ ყოველდღიურ გამოყენებაშია.

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

macOS-ზე security ინსტრუმენტი იმავე ფაქტებს იძლევა, და find-identity გვიჩვენებს, რომელ სერტიფიკატებს ჯერ კიდევ აქვთ მიმაგრებული კერძო გასაღები:

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

წაშალეთ ვიწრო ობიექტი, შეინარჩუნეთ საერთო გამომცემელი

ექსპორტი გააკეთეთ წაშლამდე. სარეზერვო ასლის გარეშე ერთადერთი აღდგენა ხელახალი გაცემაა, რაც კერძო CA-ზე ნიშნავს დაბრუნებას იმასთან, ვინც PKI-ს მართავს. ექსპორტირებული PFX ასევე არის ის, რასაც გადასცემთ, თუ წაშლა არასწორი გადაწყვეტილება აღმოჩნდა.

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

ეს -user დროშაა, რომელსაც ადამიანები შემთხვევით გამოტოვებენ. მის გარეშე certutil მანქანის საცავზე მუშაობს, რაც ნიშნავს ამაღლებულ shell-ს, სერტიფიკატების სხვა ნაკრებს და ზემოქმედების რადიუსს, რომელიც ახლა მანქანის ყველა სხვა ანგარიშს მოიცავს.

macOS-სა და Linux-ზე ფორმა იგივეა: ამოიცანით, ექსპორტი გააკეთეთ, შემდეგ წაშალეთ ყველაზე ვიწრო საცავიდან, რომელიც სიმპტომს ხსნის. /usr/local/share/ca-certificates -ის ქვეშ ფაილის წაშლა და update-ca-certificates -ის ხელახლა გაშვება საკმარისია; --fresh ეხმარება მხოლოდ მაშინ, როცა /etc/ssl/certs -ში სიმბოლური ბმულები უკვე არათანმიმდევრულია. RHEL ოჯახის სისტემები ღუზებს ინახავს /etc/pki/ca-trust/source/anchors-ში, სადაც trust anchor --remove იგივე სამუშაოს ასრულებს.

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

CA სერტიფიკატის წაშლამდე შეამოწმეთ, კიდევ რა იკავშირებს ჯაჭვურად მას. პაკეტში არსებული სუბიექტების ჩამოთვლა ორხაზიანი შემოწმებაა და პასუხობს, ასრულებს თუ არა ეს ღუზა სხვა სამუშაოს:

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

ფაილის წაშლა იდენტობის გაუქმება არ არის

ლოკალური წაშლა ერთ ასლს აშორებს. კერძო გასაღები შეიძლება ჯერ კიდევ იყოს ძველ ბილეთზე მიმაგრებულ p12-ში, სარეზერვო საქაღალდეში ან იმავე დროს გამართულ მეორე ლეპტოპში. თუ ეს კლიენტის იდენტობა იყო, კარიბჭე აგრძელებს ამ გასაღების ნებისმიერი ასლის მიღებას, სანამ იდენტობა სერვერის მხარეს არ უარყოფილი იქნება.

ერთი OpenVPN PKI-სთვის ეს ნიშნავს სერტიფიკატის გაუქმებას და დარწმუნებას, რომ crl-verify -ის მითითებული CRL მიმდინარეა; easyrsa revoke შემდეგ easyrsa gen-crl მოკლე ვერსიაა. იდენტობის პროვაიდერთან დაკავშირებული კარიბჭისთვის იქ გამორთეთ მომხმარებელი ან ამოიღეთ მოწყობილობა, რადგან სერტიფიკატი თამაშში მხოლოდ ერთი სერტიფიკატია. ლოკალური ასლის წაშლა ანგარიშის აქტიური დარჩენისას გაწმენდას ჰგავს და ასე არ არის.

ინციდენტის სამუშაოს სხვა რიგი აქვს: ჯერ შეინახეთ სერტიფიკატი, მისი სერიული ნომერი და გაუქმების ჩანაწერი, შემდეგ წაშალეთ და გააუქმეთ. ეს ჩანაწერები არაფერი ღირს და არ მოითხოვს სამუშაო სერტიფიკატის ადგილზე დატოვებას.

გადაამოწმეთ ხელის ჩამორთმევით და მეორე აპლიკაციით

ჯაჭვი გარედან შეამოწმეთ, არა იმ საცავის სიიდან, რომელიც ახლახან შეასწორეთ. საცავი თქვენს ცვლილებას აჩვენებს; ხელის ჩამორთმევა შედეგს აჩვენებს.

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 დაბრუნების კოდი ნიშნავს, რომ დარჩენილი ღუზები ჯერ კიდევ ამოწმებენ კარიბჭეს. ღუზის წაშლის შემდეგ ჯაჭვის შეცდომა მოსალოდნელი შედეგია და ადასტურებს, რომ გამოყენებულ ღუზას მოხვდით და არა საცავში არსებულ დუბლიკატს, რომელსაც კლიენტი არასოდეს კითხულობს. თუ კავშირი ჯერ კიდევ მუშაობს, მოძებნეთ მეორე ასლი, აპლიკაციაში ჩაშენებული საცავი ან ჩამაგრებული სერტიფიკატი, რომლებიც ყველა გავრცელებულია კლიენტებში, რომლებსაც თავიანთი ნდობის სია მოაქვთ.

შემდეგ გამოსცადეთ რაღაც შეუსაბამო: შიდა საიტი, ფოსტის კლიენტი, პაკეტების სარკე. ეს იაფად ზომავს ზემოქმედების რადიუსს, სანამ ცვლილების ფანჯარა დაიხურება.

  • როლი იდენტიფიცირებულია როგორც იდენტობა, შუალედური სერტიფიკატი ან ნდობის ღუზა
  • სერიული ნომერი და თითის ანაბეჭდი ჩაწერილია, ხოლო ასლი ექსპორტირებულია დამტკიცებულ ადგილზე
  • წაშლა შესრულდა ყველაზე ვიწრო არეალში, რომელიც სიმპტომს ხსნის
  • სერვერის მხარის ავტორიზაცია გაუქმდა, როცა ადამიანი ან მოწყობილობა წავიდა
  • ხელის ჩამორთმევა აიხსნა და ერთი შეუსაბამო აპლიკაცია ხელახლა გამოიცადა
  • MDM დატვირთვა ან მართვის პროფილი განახლდა, თორემ სერტიფიკატი დაბრუნდება

თუ სერტიფიკატი გადატვირთვის შემდეგ დაბრუნდა, სამუშაო არ დასრულებულა: რაღაც მას ფლობს და ხელახლა ამონტაჟებს. იპოვეთ ის მფლობელი ხელახლა წაშლამდე, რადგან მესამე წაშლა ზუსტად პირველი ორის მსგავსად მოიქცევა.

დაკავშირებული სტატიები