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