ის გამოქვეყნებული OpenVPN გასაღები CA-ა, პარტნიორის გასაღები თუ tls-auth?
ერთი სიტყვა, სამი ძალიან განსხვავებული ობიექტი. წაიკითხეთ დირექტივა, გადაწყვიტეთ გაჟონვა ნდობის მასალაა თუ იდენტობის მასალა, და შემდეგ შეაკეთეთ მხოლოდ ის, რაც გაჟონა.
ვიღაც იტყობინება, რომ VPN გასაღები საჯაროა, და ეს წინადადება სამ სრულიად განსხვავებულ სიტუაციას მალავს. ეს შეიძლება იყოს CA სერტიფიკატი, რომელიც ყველა კლიენტს უნდა ჰქონდეს, პირადი იდენტობის გასაღები, რომელიც არასოდეს უნდა გასულიყო ერთი მანქანიდან, ან საერთო საკონტროლო არხის საიდუმლო, რომელიც ორივე მხარემ უნდა შეინახოს. შეკეთება, გადაუდებლობა და ზიანის მასშტაბი თითოეულ შემთხვევაში განსხვავდება, ამიტომ პირველი ამოცანა კლასიფიკაციაა და არა მოქმედება. კატეგორიის შეცდომა ნიშნავს, რომ ყოველი შემდეგი ნაბიჯი ფუჭი შრომაა.
დაიწყეთ დირექტივიდან და არა ფაილის სახელიდან
წაიკითხეთ აქტიური კონფიგურაცია და იპოვეთ, რომელი დირექტივა მიუთითებს შესაბამის მასალაზე. OpenVPN-ის TLS პარამეტრები იყენებს ca სანდო სერტიფიკატის მასალისთვის, cert ლოკალური პარტნიორის სერტიფიკატისთვის და key მასთან დაკავშირებული პირადი გასაღებისთვის.
ფაილის სახელები არაფერს ამტკიცებს. key.pem სახელის ფაილში შეიძლება იყოს სერტიფიკატი, ხოლო პროფილში ჩაშენებულ ბლოკში შეიძლება იყოს ზუსტად იგივე ობიექტი, რაც დისკზე ცალკე ფაილშია. გახსენით ფაილი და შეხედეთ მის სათაურს, ნაცვლად იმისა რომ სახელს დაეყრდნოთ. ეს ერთი შემოწმება აშორებს ანგარიშში არსებული გაურკვევლობის უმეტეს ნაწილს.
თუ პროფილი PKCS#12 პაკეტია, გახსენით ის კონტროლირებულ ადგილას, რომ ნახოთ რა არის მასში სინამდვილეში. ერთ პაკეტს შეიძლება ჰქონდეს სერტიფიკატი, მისი ჯაჭვი და პირადი გასაღები, რაც ნიშნავს რომ პაკეტის გაჟონვა სამივეს გაჟონვაა.
ჩაწერეთ კლასიფიკაცია სანამ ვინმე ფაილს შეცვლის: ობიექტი, დირექტივა, რომელი პარტნიორები ინახავენ და ვის შეუძლია წაკითხვა. სწორედ ამ წინადადებაზეა დამოკიდებული დანარჩენი პასუხი.
CA სერტიფიკატი გაზიარებისთვისაა შექმნილი
საჯარო CA სერტიფიკატი ნდობის მასალაა. კლიენტებს ის სჭირდებათ სერვერის გადასამოწმებლად, და მისი გავრცელება ჩვეულებრივი შემთხვევაა და არა ინციდენტი. მისი გამოქვეყნება არ აქვეყნებს CA-ის პირად ხელმოწერის გასაღებს, და სწორედ ეს ობიექტი მისცემდა თავდამსხმელს ახალი იდენტობების შექმნის საშუალებას.
ეს განსხვავება ღირს ბილეთში ცალსახად ჩაიწეროს, რადგან ორივე მუდმივად ერევა ერთმანეთში. პასუხის გასაცემი კითხვაა, გაჟონილი ფაილი სერტიფიკატია თუ ხელმოწერის გასაღები, და ფაილის შიგთავსზე სწრაფი შეხედვა წყვეტს ამას. სერტიფიკატი შეიცავს საჯარო გასაღებს და ხელმოწერას; ხელმოწერის გასაღები მასში საერთოდ არ ჩანს.
გავრცელება მაინც ზრუნვას მოითხოვს. კლიენტებმა სერტიფიკატი დამტკიცებული პროფილის მიწოდების გზით უნდა მიიღონ და არა ჩასმის საიტიდან, ხოლო არასანდო გზით მოსული სერტიფიკატი შეიძლება გზაში შეიცვალოს.
პარტნიორის გასაღები და tls-auth საიდუმლო არ არის
პარტნიორის პირადი გასაღები იდენტობის მასალაა. მისი კოპირების შემდეგ სერვერი ვეღარ განასხვავებს განზრახულ მოწყობილობას ნებისმიერისგან, ვისაც ასლი აქვს, რადგან ექსკლუზიური ფლობა იყო ის თვისება, რომელიც მტკიცდებოდა. ავტორიზაციის გაგრძელება და შეცვლა VPN-ის მფლობელის გადაწყვეტილებებია და არა ფაილის აღმომჩენის.
tls-auth საიდუმლო მესამე რამ არის. ის ამატებს HMAC ავთენტიფიკაციას საკონტროლო არხის პაკეტების გარშემო, რათა არასწორად ავთენტიფიცირებული პაკეტები TLS გაცვლამდე განადგურდეს, და ის არც პარტნიორის პირადი გასაღებია და არც აპლიკაციის მონაცემების დამშიფრავი გასაღები.
თუ ეს საერთო საიდუმლო საჯაროა, ბარიერი, რომელსაც ის იძლეოდა, გაქრა ყველასთვის, ვისაც ის აქვს. აქედან არ გამომდინარეობს, რომ ყოველი მფლობელი გადის მის უკან არსებულ სერტიფიკატისა და მომხმარებლის შემოწმებებს, ამიტომ კლასიფიკაცია უფრო მნიშვნელოვანია ვიდრე განგაშის დონე. თქვით რომელი ბარიერი დაეცა და თქვით რომლები დარჩა.
შეაკეთეთ გაჟონილი როლი და არა მეზობელი
საერთო საიდუმლოს ხელახლა პირადად ქცევა შეუძლებელია ფაილის გადარქმევით ან ჩამოტვირთვის ბმულის დამალვით. შეცვლა ნიშნავს ახალი მნიშვნელობის შექმნას და მის კოორდინირებულ ცვლილებაში ყოველ პარტნიორამდე მიტანას, ხოლო მხოლოდ ერთი მხარის შეცვლა ამტვრევს შეთანხმებას ყველასთვის, ვისაც ჯერ კიდევ ძველი მნიშვნელობა აქვს.
თუ პარტნიორის იდენტობა გამჟღავნდა, გამოიყენეთ ოპერატორის გაუქმებისა და ხელახალი რეგისტრაციის პროცესი ამ იდენტობისთვის. დაუკავშირებელი ანგარიშის პაროლის შეცვლა არ აუქმებს კოპირებულ სერტიფიკატს, და tls-auth ფაილის შეცვლაც არა.
სანამ რომელიმე მათგანს დაეყრდნობით, დაადასტურეთ რას ახორციელებს რეალურად განლაგებული სერვერი. განახლებადი გაუქმების სია, ან შეფერხების დროს გამორთული როლის შემოწმება, პასუხს სრულიად ცვლის. წაიკითხეთ მოქმედი კონფიგურაცია და არა საცავში არსებული ასლი.
შეაფასეთ წარსული ტრაფიკი მისივე პირობებით
გამჟღავნებული ფაილი თავისთავად არ ამბობს, შეიძლება თუ არა ადრე ჩაჭერილი სესიების გაშიფვრა. ეს დამოკიდებულია გასაღების დამყარების მეთოდზე, გამჟღავნებულ მასალაზე და იმაზე, რა ჩანაწერები არსებობს, და ორივე — „მთელი ტრაფიკი დაიკარგა“ და „არაფერი მომხდარა“ — ვარაუდია ამ ფაქტების გარეშე.
ნუ გამოაქვეყნებთ სერტიფიკატის კიდევ ერთ ასლს, სანამ ეკითხებით რომელ კატეგორიას ეკუთვნის. ნაცვლად ამისა, გააზიარეთ დირექტივების სახელები და არასაიდუმლო მეტამონაცემები დამტკიცებული მხარდაჭერის გზით.
სასარგებლო დასკვნა ასახელებს ობიექტს, მის როლს, დაკარგულ დაცვას და საჭირო კოორდინირებულ მოქმედებას. ამაზე მოკლე ყველაფერი სათაურია და არა შეფასება.