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

შეცდომა გეითვეიმდე მოდის

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

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

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

შეადარეთ კონტეინერები და არა სიმბოლოები

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

Where the value stopsWhat you seeWhat you checkWho owns the fix
GUI field or managed profileA validation message before any connection opensThe selected authentication mode and whether the field holds the secret or the usernameThe device owner or the profile author
Keychain or secret agentA prompt that keeps reappearing, or an agent errorWhether the agent is unlocked and holds an entry for this profileThe user who owns the keychain
Two-line credential fileA prompt for a password that was already suppliedLine count, line order and whether a trailing newline is presentWhoever generated the file
Shell argument or environmentWorks interactively but fails in automationWhether the shell expanded, trimmed or logged the valueWhoever wrote the automation

Community OpenVPN 2.6 კლიენტის ოფციები აღწერს ამ ორხაზიან ფაილს auth-user-pass-ისთვის, მათ შორის ქცევას, როცა პაროლის ხაზი არ არის: კლიენტი მაშინ ითხოვს. ეს ერთი დეტალი ხსნის შეტყობინებების კლასს „ის პაროლს მთხოვს, რომელიც უკვე მივაწოდე“. ის ასევე გეუბნებათ, რომ ცარიელი მეორე ხაზი მნიშვნელოვანი მდგომარეობაა და არა უვნებელი ფორმატირების არჩევანი.

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

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

ააგეთ სერტიფიკატების ფაილი ჭურვის დაზიანების გარეშე

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

read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds

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

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

ეტაპი წაიკითხეთ პირველი შეცდომიდან

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

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

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

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