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

მითი: მეორე სესია მეორე იდენტობაა

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

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

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

რა იცვლება სინამდვილეში, როცა ორი სესია ერთ სახელს იზიარებს

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

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

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

grep -n 'duplicate-cn\|client-config-dir\|username-as-common-name' /etc/openvpn/server.conf

ის სტატიკური მისამართი, რომელიც გეგონათ, რომ დანიშნეთ

თითო კლიენტის კონფიგურაცია სახელით იძებნება, და სწორედ აქ არის ხაფანგი. საერთო სახელის მიხედვით დარქმეული client-config-dir ფაილი ვრცელდება ყველა მოწყობილობაზე, რომელიც ამ სახელს იყენებს, ამიტომ მის შიგნით არსებული ifconfig-push ორივე მოწყობილობას ერთსა და იმავე გვირაბის მისამართს აძლევს. მეორე სესია ან არ დგინდება, ან ისე ეჯახება, რომ მარშრუტიზაციის ხარვეზს ჰგავს.

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

თუ განლაგება იყენებს username-as-common-name-ს, საძიებო გასაღები ხდება ავთენტიფიცირებული მომხმარებლის სახელი სერტიფიკატის სუბიექტის ნაცვლად, და იგივე შეჯახება მოსდევს ყველას, ვინც ორჯერ შედის. სახელი, რომელიც კონფიგურაციას მართავს, თითო მოწყობილობისთვის უნიკალური უნდა იყოს, რომ თითო მოწყობილობის კონფიგურაციას აზრი ჰქონდეს.

რას ვერ აკეთებს საერთო იდენტობა ამოღების დროს

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

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

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

როდის არის გაზიარება სწორი და როგორ შემოვზღუდოთ ის

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

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

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

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