სტატიკური გასაღები თუ TLS ორ თანატოლს შორის OpenVPN კავშირისთვის?
OpenVPN-ის სტატიკური გასაღების რეჟიმი ვერ ატრიალებს თავის ტრაფიკის გასაღებებს. თუ ორ თანატოლს ავტომატური განახლება სჭირდება, გადადით TLS რეჟიმზე და დატოვეთ წერტილიდან წერტილამდე განლაგება უცვლელად.
ორი მანქანა, რომლებიც მხოლოდ ერთმანეთს ესაუბრებიან, შეიძლება შეინარჩუნონ ეს ტოპოლოგია და მაინც მიიღონ შეთანხმებული ტრაფიკის გასაღებები. ქსელის ფორმა და დაცვის რეჟიმი დამოუკიდებელი არჩევანია და სწორედ მათი არევა აიძულებს ადამიანებს სცადონ სტატიკური საიდუმლოს ტრიალი ფაილის შეცვლით, სანამ ორივე დემონი მუშაობას აგრძელებს. მომუშავე წყვილის ქვეშ გასაღების ფაილის შეცვლა არაფერს ატრიალებს. სტატიკური გასაღების რეჟიმი, რომელსაც OpenVPN 2.6 მოძველებულად მონიშნავს, ერთ გასაღებს ინახავს გვირაბის მთელი სიცოცხლის განმავლობაში, ამიტომ დისკზე არსებული ფაილი და მეხსიერებაში არსებული გასაღები კვლავ ემთხვევა მხოლოდ ორივე ბოლოს გადატვირთვის შემდეგ. თუ ავტომატური განახლება მოთხოვნაა, დაცვის რეჟიმი უნდა შეიცვალოს.
რა არ შეუძლია სტატიკური გასაღების რეჟიმს
საიდუმლო რეჟიმში ორივე თანატოლი იზიარებს წინასწარ გაზიარებულ გასაღებს, რომელიც გვირაბს პირდაპირ შიფრავს და ავთენტიფიცირებს. ხელის ჩამორთმევა არ არსებობს, ამიტომ არცერთ მხარეს არ აქვს მექანიზმი ახალი გასაღების მასალის შესათავაზებლად, იდენტობის დასამტკიცებლად ან ოპერატორის ჩარევის გარეშე შეუთანხმებლობიდან გამოსასვლელად. ორივე თვისება გამომდინარეობს საკონტროლო არხის არარსებობიდან და არა დაკარგული ოფციიდან, და არცერთი კონფიგურაციის დროშა არ ამატებს მას ამ რეჟიმს.
OpenVPN 2.6-ის სახელმძღვანელო ცხადად ამბობს, რომ გასაღები რჩება მანამ, სანამ ახალი არ შეიქმნება. ეს მისაღებია ლაბორატორიული კავშირის ან დოკუმენტირებული ტრიალის პროცედურის მქონე ფიქსირებული მოწყობილობების წყვილისთვის, და მიუღებელია ყველგან, სადაც ხანგრძლივი საიდუმლო რეალური რისკია. ფაილის შეცვლა არ ქმნის ახალ გასაღებს მომუშავე წყვილისთვის; ის ქმნის ორ თანატოლს, რომლებიც არ თანხმდებიან. ამიტომ ფაილის ჩანაცვლება ამატებს შეფერხებას ტრიალის დამატების გარეშე.
ასევე არ არსებობს თანატოლის იდენტობის ცნება ფაილის ფლობის მიღმა. ვისაც გასაღები აქვს, თანატოლია, და გვირაბში არაფერი აღნიშნავს, რომელი მხარე რომელია, ამიტომ გაუქმება ან ყველაფერია, ან არაფერი.
TLS-ზე გადასვლა კავშირის გადაპროექტების გარეშე
TLS რეჟიმი ამატებს საკონტროლო არხს და მასთან ერთად მონაცემთა არხის გასაღებებზე მოლაპარაკების უნარს. წერტილიდან წერტილამდე განლაგებაში ერთი მხარე სერვერის როლს იღებს, მეორე კლიენტისას, მაგრამ ტოპოლოგია რჩება კავშირად ორ თანატოლს შორის: თითოეულმა მხარემ იცის მეორის საბოლოო წერტილი და არცერთი პული ან მრავალმომხმარებლიანი სერვისი არ ჩნდება. როლები ხელის ჩამორთმევის დეტალია, არა ახალი არქიტექტურა.
მიეცით თითოეულ მანქანას საკუთარი იდენტობა. თითოეულ მხარეს სჭირდება სერტიფიკატი და პირადი გასაღები, ნდობის საყრდენი, რომელიც მეორეს ამოწმებს, და თანატოლის შემოწმების წესი, რომელიც ასახელებს, ვინ არის მოსალოდნელი. დროის დაზოგვისთვის ნუ გამოიყენებთ ერთი თანატოლის პირად გასაღებს მეორეზე; ეს ორ იდენტობას ერთად აქცევს და აშორებს ნებისმიერი მხარის ცალკე გაუქმების შესაძლებლობას. რეგისტრაცია ის ადგილია, სადაც ეს სწორად უნდა გაკეთდეს, რადგან მოგვიანებით გასწორება ნიშნავს სერტიფიკატების ხელახლა გაცემას.
შეინარჩუნეთ ქსელური ხელშეკრულება უცვლელად, სანამ დაცვა იცვლება. იგივე გვირაბის მისამართები, მარშრუტები და დაშვებული სერვისები უნდა მოქმედებდეს მანამდე და შემდეგ, რათა მიგრაციის დროს ხარვეზი დაცვის პრობლემა იყოს და არა შენიღბული მარშრუტიზაციის სიურპრიზი. ჩაწერეთ მისამართები და მარშრუტები ცვლილებამდე; მოგვიანებით მათი შედარება უფრო სწრაფია, ვიდრე მეხსიერებიდან აღდგენა.
ზოგიერთი განლაგება საკონტროლო არხსაც იცავს საკუთარი სტატიკური გასაღებით, რომელიც მონაცემთა არხთან ერთად არ ტრიალდება. ის გასაღები ხელის ჩამორთმევას იცავს და არა დატვირთვას, ამიტომ მისი გამჟღავნება ავლენს მოლაპარაკებას და არა ტრაფიკს. შეინახეთ იგი მონაცემთა არხის მასალისგან ცალკე და მიეცით ჩანაცვლების თარიღი, რომლის მფლობელიც დასახელებული პირია. მისი ტრიალი ნიშნავს ორივე თანატოლის გადატვირთვას კოორდინირებულ ფანჯარაში, ამიტომ ის იმსახურებს კალენდრის ჩანაწერს და არა მეხსიერებას.
ვინ რას აახლებს, და როდის
TLS რეჟიმში განახლებას მართავს კონფიგურირებული ზღვრები: დროის ინტერვალი, ბაიტების რაოდენობა ან პაკეტების რაოდენობა. დოკუმენტირებული დროის კონტროლი არის ის, რასაც განლაგებების უმეტესობა ეყრდნობა, და ორ თანატოლს შორის დაბალი ეფექტური მნიშვნელობა შეიძლება ჩანაცვლებას დაიწყოს, ამიტომ მხოლოდ ერთ მხარეს მისი აწევა მოვლენას არ შეაჩერებს. მოცულობაზე დაფუძნებული ზღვრები არსებობს იმიტომ, რომ დატვირთული კავშირი გასაღებს საათამდე გაცილებით ადრე შეიძლება ამოწუროს. არცერთი ზღვარი არ არის ჯანმრთელობის შემოწმება და არცერთი არ გეუბნებათ, რომ განახლება წარმატებით დასრულდა.
ამიტომ განმეორებადი ხელახალი მოლაპარაკების ერთი კონფიგურაციის ფაილიდან დიაგნოსტიკა შეცდომაში შემყვანია. წაიკითხეთ პარამეტრები ორივე თანატოლზე, შემდეგ შეხედეთ ჟურნალში გადასვლას ხარვეზის ვარაუდის ნაცვლად. სუფთად დასრულებული განახლება ჰგავს საკონტროლო არხის ტრაფიკის მოკლე აფეთქებას და არა გაწყვეტას.
შეინახეთ ობიექტები გონებაში ცალ-ცალკე. სერტიფიკატი ადასტურებს გრძელვადიან იდენტობას და იცვლება თქვენს მიერ კონტროლირებადი გრაფიკის მიხედვით. მონაცემთა არხის გასაღები ავტომატურად განახლდება, და ცალკე ავთენტიფიკაციის გაცვლა, თუ განლაგებას ეს სჭირდება, მიჰყვება ანგარიშის პოლიტიკას და შეიძლება თავისი შეთანხმებები დასჭირდეს შემდგომი გაცვლებისთვის.
განახლების სრულად გამორთვა, ინტერვალის ნულზე დაყენებით, ხმაურიანი ჟურნალის გადაწყვეტა არ არის. ის ჯანსაღ სასიცოცხლო ციკლის მოვლენას მუდმივ გასაღებად აქცევს, რაც გაბრუნებთ იმ თვისებასთან, რომლის მიტოვებასაც ცდილობდით.
ცვლილების მიღება
ააშენეთ ახალი კონფიგურაცია დაყენებული გამოშვების მხარდაჭერილი მაგალითიდან და არა ძველი მინიმალური ნაწყვეტიდან, რომლის ალგორითმები და ფაილის ბილიკები სხვა ადგილიდან არის მემკვიდრეობით მიღებული. დააკოორდინეთ გადართვა ისე, რომ ორივე თანატოლი ერთად შეიცვალოს, და შეინახეთ დამტკიცებული აღდგენის გზა, თუ ერთი მხარე ვერ ამოვა. განზრახ ჩამოწიეთ კავშირი, ნაცვლად იმისა, რომ დაბრუნების შესამოწმებლად შეფერხებას დაელოდოთ. გავარჯიშებული დაბრუნება უფრო ღირებულია, ვიდრე აღწერილი.
შეამოწმეთ სამი რამ: საწყისი იდენტობის ვერიფიკაცია წარმატებულია, განზრახული აპლიკაციის ნაკადი მუშაობს და კონტროლირებადი განახლება ტრაფიკის დაკარგვის გარეშე ხდება. შემდეგ წაიკითხეთ ჟურნალში გადასვლა იმის მიხედვით, რასაც ის რეალურად ამტკიცებს: ახალი გასაღების იდენტიფიკატორი ნიშნავს, რომ თანატოლებმა ჩანაცვლება დაასრულეს და არა ის, რომ გვირაბი ხელახლა დაუკავშირდა. მოეპყარით მას როგორც ერთი ნაბიჯის მტკიცებულებას და შეამოწმეთ ტრაფიკის მრიცხველები, სანამ მიგრაციას დასრულებულად გამოაცხადებთ.
რასაც ნულოვანი შეფერხების დაპირება დამალავდა, არის ის ხარვეზი, რომელიც ჯერ არ გინახავთ. წარუმატებელი განახლება, ვადაგასული სერტიფიკატი ან ბილიკის ხარვეზი კვლავ შეიძლება შეაწუხოს კავშირი, და არცერთი მათგანი არ გამოირიცხება სუფთა ტესტის გაშვებით. თვისება, რომლისთვისაც ღირს დაპროექტება, უფრო ვიწრო და უფრო სასარგებლოა: ჩვეულებრივი გასაღების ჩანაცვლება წყვეტს ხელით ფაილის შეცვლას.