როგორ აღვადგინოთ VPN სერვერი იდენტობების დუბლირების გარეშე
აღდგენილი VPN სერვერი აბრუნებს ფაილებს და არა მიმდინარე წვდომას. შეათანხმეთ გაუქმებები, პირების გასაღებები და საბოლოო წერტილები, სანამ მეორე ასლი ხელის ჩამორთმევას უპასუხებს.
თქვენ აღადგინეთ სარეზერვო ასლი, სერვისი ჩაირთო და კლიენტი პირველივე ცდაზე დაუკავშირდა. ეს წარმატება ხაფანგია. აღდგენა აბრუნებს იმ ფაილებს, რომლებიც სერვერს სურათის გადაღების მომენტში ჰქონდა, და არა წვდომის მდგომარეობას, რომელიც მას შემდეგ შეიცვალა, და თუ ძველი საბოლოო წერტილი ჯერ კიდევ მისაწვდომია, ახლა ორი მანქანა გყავთ, რომლებიც ერთ იდენტობას პასუხობენ. გადაწყვეტა უკეთესი სარეზერვო ასლი არ არის; გადაწყვეტა არის გადაწყვიტოთ, რა შეიძლება იყოს აღდგენილი ჰოსტი, სანამ ის ერთ ხელის ჩამორთმევასაც კი უპასუხებს.
სარეზერვო ასლი აბრუნებს ფაილებს, არა უფლებამოსილებას
სურათი შეიცავს სერვერის კონფიგურაციას, პირად გასაღებებს, სერტიფიკატის ორგანოს, პირების სიას და ფაირვოლის წესებს ისე, როგორც ისინი სარეზერვო ასლის გაშვებისას იყო. მას არ შეუძლია შეინახოს ის, რაც შემდეგ შეიცვალა: მოწყობილობა, რომელიც გააუქმეთ, გასაღები, რომელიც ხელახლა გამოუშვით, პირი, რომელიც წაშალეთ ლეპტოპის გაყიდვისას, ქვექსელი, რომელიც გადაიტანეთ. აღდგენა ფაილებს უბრუნებს იმ მომენტს. ის არ აბრუნებს იმ გადაწყვეტილებებს, რომლებიც ადამიანებმა მას შემდეგ მიიღეს.
ზიანი სწორედ ამ ნაპრალიდან მოდის. მოპარული ლეპტოპი, რომელიც სარეზერვო ასლიდან ორი კვირის შემდეგ გაუქმდა, წარმოადგენს სერტიფიკატს, რომელიც ჯერ კიდევ მოწმდება აღდგენილ ხეში არსებული ძველი CRL-ის წინააღმდეგ, და სერვერი იღებს მოწყობილობას, რომელიც თქვენ პენსიაზე გაისტუმრეთ. WireGuard უფრო პირდაპირია: პირი უფლებამოსილია სიაში ყოფნით, ამიტომ სურათის შემდეგ წაშლილი პირი უბრალოდ ისევ არსებობს. არავინ აღარ დაუმტკიცა ეს წვდომა. ძველმა ფაილმა გააკეთა.
სერვერის იდენტობა და კლიენტის იდენტობა სხვადასხვა გზით ფუჭდება
WireGuard-ში სერვერის იდენტობა wg0.conf-ის პირადი გასაღებია, ამიტომ ამ ფაილის მეორე მისაწვდომ ჰოსტზე კოპირება ქმნის ორ სერვერს იგივე იდენტობით, რომლებმაც ერთმანეთი არ იციან. თითოეული თავის პირთა სიას ინახავს. წაშალეთ პირი ახალ ჰოსტზე და ძველი მაინც იღებს მას; შეამოწმეთ wg show ერთზე და სიმართლის ნახევარს ნახავთ. კლიენტები თავადაც არ გადადიან: პროფილი ერთ Endpoint-ს ატარებს, ამიტომ მოწყობილობა იმ მისამართთან საუბარს აგრძელებს, რომლითაც კონფიგურირდა, და ეს შეიძლება იყოს ჰოსტი, რომლის პენსიაზე გაშვებაც გსურდათ.
OpenVPN იმავე დონეზე დუბლირდება სერვერის სერტიფიკატით, მისი პირადი გასაღებით და tls-auth ან tls-crypt სტატიკური გასაღებით. დააკოპირეთ სამივე და კლიენტი ვერ გაარჩევს ეგზემპლარებს; თუ ორივე მისაწვდომია, ხელახალი დაკავშირება რომელიმეზე დაჯდეს შეიძლება, და ყოველი ჟურნალის ფაილი ნაწილობრივ ისტორიას ჰყვება. სერტიფიკატის ორგანო უფრო ღრმა ასლია. აღდგენილი easy-rsa ხე სიმართლის მეორე წყაროა, რომელსაც შეუძლია გასცეს ნამდვილი სერტიფიკატი ნებისმიერი სახელისთვის, რომელსაც მისცემთ.
კლიენტებიც დუბლირდებიან, ჩვეულებრივ თავად მიგრაციის დროს. პროფილის სარეზერვო მოწყობილობაზე «მხოლოდ შესამოწმებლად» კოპირება ქმნის მეორე მოწყობილობას იმავე გასაღებითა და საერთო სახელით. duplicate-cn-ით ორივე სესია ერთდროულად შეიძლება ღია დარჩეს, და სტატიკური მისამართის მინიჭება ccd-ში ან ifconfig-pool-persist-ში შეიძლება დაეჯახოს საწყის მოწყობილობას. ეს ორი მანქანაა ერთ იდენტობაში, და სერვერის კონფიგურაციაში ვერაფერი გამოარჩევს მათ.
ძველი საბოლოო წერტილისთვის აირჩიეთ სამი მდგომარეობიდან ერთი
აღდგენა უსაფრთხოა მხოლოდ მას შემდეგ, რაც ძველი საბოლოო წერტილის ბედი გადაწყდა. გაისტუმრეთ პენსიაზე: ძველმა სერვისმა უნდა შეწყვიტოს VPN პორტის მიღება სანამ ახალი ჰოსტი ჩაირთვება, და თუ მანქანამდე ვერ აღწევთ, დაბლოკეთ ეს პორტი ქსელის კიდეზე ყველაფრისთვის თქვენი ადმინისტრაციული წყაროს გარდა. შეაკეთეთ იგივე ჰოსტი: იდენტობის ხელახალი გამოყენება რიგშია, რადგან ერთი მანქანა ინახავს მას, მაგრამ შემდეგ გაანადგურეთ ძველი გასაღების დისკის ასლი ან VM-ის სურათი, რომ ის ვერ დაბრუნდეს. ააშენეთ ხელმისაწვდომობის წყვილი: ორ ჰოსტს სჭირდება განსხვავებული ჰოსტის იდენტობები და ერთი საერთო საბოლოო წერტილი, მაგალითად მცურავი მისამართი, დატვირთვის ბალანსერი ან გადასატანი DNS. პირადი გასაღების კოპირება failover-ის დიზაინი არ არის; ეს ორი სერვერია, რომლებიც ერთ სახელს ითხოვენ.
დარწმუნდით, რომელ მდგომარეობაში ხართ სინამდვილეში, სანამ კლიენტებს შეეხებით. VPN პორტზე პასუხისმგებელი ძველი ჰოსტია ის, ვინც გაუქმებულ მოწყობილობას მიიღებს, თუნდაც DNS გადავიდეს. შეამოწმეთ მსმენელები და საჯარო გასაღები:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
ჯერ პირები, გაუქმებები და მისამართები შეათანხმეთ
ჩამოწერეთ, რას აცხადებს აღდგენა იმის წინააღმდეგ, რაც ახლა უფლებამოსილია. WireGuard-ში wg show wg0 გაძლევთ ყოველი პირის გასაღებს, საბოლოო წერტილს, ბოლო ხელის ჩამორთმევას და გადაცემის მთვლელებს, რაც საკმარისია იმ მოწყობილობის შესამჩნევად, რომელიც აღარ გაქვთ. წაშალეთ ის ცოცხლად wg set wg0 peer <key> remove-ით, შემდეგ კონფიგურაციაც შეასწორეთ, თორემ პირი შემდეგ გაშვებაზე დაბრუნდება. wg show wg0 allowed-ips მეორე პრობლემას ამჟღავნებს: ორი პირი ერთ მისამართზე, ან მისამართი, რომელიც უკვე გადაანაწილეთ.
OpenVPN-ში გაუქმების სია თარიღიანი ფაილია, და აღდგენამ შეიძლება ძველი დააბრუნოს. შეამოწმეთ ის სანამ კლიენტები დაუკავშირდებიან:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
თუ ბოლო განახლება გაუქმებამდეა, სერვერი ჯერ კიდევ პატივს სცემს სერტიფიკატს, რომელიც გააუქმეთ. OpenVPN 2.4 და უფრო ახალი ყოველი ახალი კავშირისთვის თავიდან კითხულობს CRL ფაილს, ამიტომ ფაილის ჩანაცვლება აჩერებს ახალ სესიებს, მაგრამ დამყარებული გვირაბები რჩება ხელახალ მოლაპარაკებამდე; reneg-sec-ის ნაგულისხმევი 3600 წამია, და სწორედ მისი შემცირება ან სერვისის გადატვირთვა გაძლევთ ცვლილებას ახლა. ძველმა ვერსიებმა შეიძლება ფაილი ნაკლებად საიმედოდ წაიკითხონ, ამიტომ გადატვირთეთ, როცა ვერ ადასტურებთ ვერსიის ქცევას. wg(8)-ის სახელმძღვანელო ფარავს ზემოთ გამოყენებულ პირის წაშლას და allowed-ips სინტაქსს.
გაასუფთავეთ ასევე იმ მოწყობილობების სტატიკური მინიჭებები, რომლებიც აღარ არსებობს. პენსიაზე გაშვებული მოწყობილობის მისამართის ხელახლა გამოყენება ახლისთვის, სანამ ძველი პროფილი ჯერ კიდევ დაყენებულია, ქმნის ზუსტად იმ დუბლიკატს, რომლის თავიდან აცილებასაც ცდილობთ.
შეამოწმეთ იმ კლიენტით, რომელიც გააუქმეთ
შემოწმებები თანმიმდევრობით, გვირაბის გარეთ არსებული ქსელიდან ჩაატარეთ. ჯერ უფლებამოსილი მოწყობილობა უკავშირდება, DNS-ს გადაცემული რეზოლვერის მეშვეობით წყვეტს და კერძო რესურსამდე აღწევს. შემდეგ გაუქმებული მოწყობილობა უნდა ჩავარდეს, ახლის ნაცვლად არსებული პროფილით. შემდეგ გარედან სცადეთ ძველი საბოლოო წერტილი: თუ VPN პორტი ჯერ კიდევ ასრულებს ხელის ჩამორთმევას, ძველი ჰოსტი ცოცხალია და დუბლირება რეალურია, არა თეორიული.
გადატვირთეთ აღდგენილი ჰოსტი და გაიმეორეთ უფლებამოსილი და გაუქმებული შემოწმებები, რადგან სწორედ მაშინ იმარჯვებს კონფიგურაციის ფაილი იმაზე, რაც მუშაობის დროს შეცვალეთ. შეადარეთ ჰოსტის საჯარო გასაღები ან სერტიფიკატის ანაბეჭდი იმას, რასაც პენსიაზე გაშვებული მანქანა იყენებდა. ორ ცოცხალ მანქანაზე დამთხვეული ანაბეჭდები ნიშნავს, რომ აღდგენამ იდენტობა დააკლონა; ერთ მანქანაზე დამთხვეული ანაბეჭდები ნორმალურია. ჩაწერეთ აღდგენილი ვერსიები, გასაღებების ანაბეჭდები და გაუქმებული სერიული ნომერი ან პირის გასაღები, შემდეგ აიღეთ შემდეგი სარეზერვო ასლი ამ შეთანხმების შემდეგ, რომ ის წარმოადგენდეს სერვისს ისეთს, როგორიც ახლაა. მუშა გამოცდა არ არის ის, რომ კლიენტი უკავშირდება. ის არის, რომ წაშლილი კლიენტი გარეთ რჩება, სანამ ძველი საბოლოო წერტილი დახურული რჩება.