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

ფაილი აღწერს მომენტს და არა ხელშეკრულებას

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

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

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

წაიკითხეთ მარცხის ეტაპი, სანამ პარამეტრს შეეხებით

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

What happensThe assertion that brokeSupported response
Name never resolvesThe host still exists under that nameGet a current endpoint from the operator
TCP connect times outThe listener is on that port and reachableCheck the current published port, then the local network
TLS or key exchange failsThe peer presents the expected identityCompare the certificate, not the cipher list
Authentication rejectedThe account is still validGet credentials reissued or stop using the service
dig +short vpn.example.net
curl -sS -o /dev/null -w 'connect=%{time_connect} tls=%{time_appconnect}\n' --max-time 8 https://vpn.example.net:443/
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief </dev/null

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

სერტიფიკატისა და იდენტობის ცვლილებები ჩუმია

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

სანამ რამეს დაასკვნით, მოძებნეთ იდენტობის პარამეტრები:

grep -nE '^(remote|proto|auth|verify-x509-name|tls-crypt|key-direction|ca) ' profile.ovpn
openssl x509 -in profile-ca.crt -noout -subject -dates

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

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

მხოლოდ ოპერატორს შეუძლია მართებული ჩანაცვლების გამოქვეყნება

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

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

curl -sS -o current.ovpn https://example.org/nodes/current.ovpn
sha256sum current.ovpn profile.ovpn
grep -nE '^(remote|proto) ' current.ovpn

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

გაიყვანეთ ძველი ჩანაწერი და ჩაწერეთ რა მოხდა

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

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

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

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