ორი OpenVPN სერტიფიკატი, ერთი CCD სახელი: რა არასწორად წარიმართა
სერიული ნომერი უნიკალურია მხოლოდ მისი გამცემის ფარგლებში, ხოლო OpenVPN CCD ფაილს სახელით ირჩევს. დაჯავშნეთ ეს ეფექტური სახელი რეგისტრაციისას და გააკონტროლეთ განახლება.
ორი კლიენტის სერტიფიკატი სხვადასხვა სერიული ნომრით, სხვადასხვა გასაღებით და თუნდაც სხვადასხვა სრული სუბიექტით მაინც შეიძლება მივიდეს ერთ პოლიტიკის ფაილამდე, რადგან სერვერი არც ერთს არ უყურებს. ის სერტიფიკატიდან სახელს კითხულობს და შესაბამის კლიენტის კონფიგურაციის ფაილს ხსნის. თუ ორივე სერტიფიკატს ერთი და იგივე სახელი აქვს, მეორე პირველის პოლიტიკას მემკვიდრეობით იღებს იმ მომენტში, როცა უკავშირდება.
შეჯახება რეგისტრაციისას იქმნება და მხოლოდ დაკავშირებისას აღმოჩნდება, ჩვეულებრივ მაშინ, როცა მოწყობილობა სხვა მანქანის კუთვნილ მისამართს ან მარშრუტების ნაკრებს იღებს. მის თავიდან ასაცილებლად უნდა შევთანხმდეთ, რომელ ველს ასახავს სერვერი, და შემდეგ ეს მნიშვნელობა დაჯავშნოთ სანამ რამე გაფორმდება.
თქვენი სერტიფიკატების ხელსაწყოები არ გაფრთხილებთ, რადგან X.509-ის შიგნით უნიკალურობა და OpenVPN პოლიტიკის სახელის უნიკალურობა სხვადასხვა სისტემების მიერ დაწესებული სხვადასხვა მოთხოვნაა.
სერვერი სახელს ეძებს, არა თითის ანაბეჭდს
სერტიფიკატებზე დაფუძნებული ჩვეულებრივი ასახვისას სერვერი წარდგენილი სერტიფიკატიდან საერთო სახელს იღებს და თავის კლიენტთა კონფიგურაციის დირექტორიაში ამ სახელის ფაილს ეძებს. ამ ფაილს შეუძლია სტატიკური მისამართის დამაგრება, მარშრუტების გაგზავნა ან თითო კლიენტისთვის ფაირვოლის ნიშნების გამოყენება. ძიება სტრიქონის დამთხვევაა ფაილის სახელთან, ამიტომ ასოების რეგისტრი, ჰარები და პუნქტუაცია ყველა მნიშვნელოვანია.
ზოგიერთი განლაგება განზრახ ცვლის ასახვას, რათა ავთენტიფიცირებული მომხმარებლის სახელი ჩაანაცვლოს საერთო სახელს, და მაშინ სწორედ მომხმარებლის სახელი უნდა იყოს უნიკალური. ნებისმიერ შემთხვევაში, პოლიტიკის ამრჩევი მნიშვნელობა ის არის, რასაც თქვენ ჯავშნით. გადაწყვიტეთ რომელია სანამ რამეს გამოსცემთ; შეჯახების შემდეგ გამოცნობა უფრო ძვირია, ვიდრე კითხვა.
სად ემთხვევა ორი ორგანო ერთ სახელს
ორგანიზაცია, რომელიც სერტიფიკატებს ერთზე მეტი გამცემი ორგანოსგან იღებს, უშვებს ორ დამოუკიდებელ რეგისტრაციის პროცესს, რომლებიც ერთ სახელთა სივრცეში წერენ. თითოეული ორგანოს საკუთარი უნიკალურობის წესები მის შიგნით მოქმედებს, ამიტომ ორივეს შეუძლია ლეგალურად გასცეს ერთი და იმავე საერთო სახელისთვის და არც ერთი ვერ შეამჩნევს რაიმე არასწორს.
სერიული ნომრები არ გვეხმარება. X.509 მოითხოვს, რომ სერიული ნომერი უნიკალური იყოს მისი გამცემის ფარგლებში, რაც ამ ორგანოს აღრიცხვის თვისებაა და არა მოწყობილობის გლობალური იდენტობა. სუბიექტის შემოწმება ასევე განსხვავებული ტესტია საერთო სახელის შემოწმებისგან: ორ სერტიფიკატს შეიძლება ჰქონდეს საერთო CN, მაგრამ განსხვავდებოდეს ორგანიზაციული ერთეულით და ამიტომ ატარებდეს განსხვავებულ სუბიექტებს. ყოველივე ეს თვისება შეიძლება შენარჩუნდეს მაშინაც, როცა სერვერი მაინც ასახავს ორივე სერტიფიკატს ერთ ფაილის სახელზე.
OpenSSL CA-ის დოკუმენტაცია მოიცავს unique_subject პარამეტრს, რომელიც მართავს მისივე მონაცემთა ბაზის აზრს, და პატიოსანი სასტარტო წერტილი თქვენი გამცემი კონფიგურაციის წაკითხვაა, და არა იმის ვარაუდი, რომ მოქმედებს EasyRSA-ის ან OpenSSL-ის რომელიღაც ნაგულისხმევი.
დაჯავშნეთ ეფექტური სახელი ხელმოწერამდე
აწარმოეთ რეესტრი, რომელიც მოწყობილობას ასახავს მის დამტკიცებულ ჩანაწერზე და იქიდან ზუსტ პოლიტიკის ფაილის სახელზე, რათა სახელი ერთხელ გამოიყოს და გამოყოფილი დარჩეს. დაჯავშნა უნდა იყოს ატომური, რაც პრაქტიკაში ნიშნავს მონაცემთა ბაზის შეზღუდვას ან ბლოკირებას გამოყავი-შემდეგ-მოაწერე ნაბიჯის გარშემო, და არა ცხრილს, რომელსაც ორი ადამიანი არედაქტირებს.
შემდეგ შემოწმება გახადეთ გაცემის ნაწილი: უარი თქვით ხელმოწერაზე, როცა მოთხოვნილი სახელი უკვე არსებობს, და ამ შემოწმებაში ჩართეთ ყველა ორგანო, რომელსაც სერვერი ენდობა, რადგან სხვა ორგანოს მიერ დაჯავშნული სახელი თანაბრად დაკავებულია. ნათელი მიზეზით უარყოფილი მოთხოვნა იაფია, ვიდრე ბილეთი იმ მოწყობილობაზე, რომელიც გამუდმებით სხვის სტატიკურ მისამართს იღებს.
განახლება განზრახ იმეორებს სახელს
არსებული მოწყობილობისთვის ხელახალი გაცემა უნდა იძლეოდეს ახალ სერიულ ნომერს იმავე პოლიტიკის სახელის ქვეშ, და ეს ლეგალური ხელახალი გამოყენებაა და არა შეჯახება. წინასწარ უნდა გადაწყდეს გადაფარვა: შეიძლება თუ არა ძველი და ახალი სერტიფიკატი ერთდროულად იყოს ძალაში, და როგორ გადადის ძველი სერტიფიკატი პენსიაზე.
ამის გადასაჭრელად ნუ მიმართავთ duplicate-cn-ს. ეს სერვერის პარამეტრი მართავს ერთი და იმავე სახელის წარმდგენ ერთდროულ კავშირებს; ის არ კეტავს რეგისტრაციას და მისი ჩართვა ერთ საზიარო სტატიკურ მისამართს უსაფრთხოს არ ხდის ერთდროულად ორი მანქანისთვის. გაუქმება ჩვეულებრივ სერტიფიკატს გამცემითა და სერიული ნომრით იდენტიფიცირებს, ამიტომ ძველი სერტიფიკატის პენსიაზე გაყვანას არ უნდა გააუქმოს მისი შემცვლელი, სანამ სერვერი სწორ გაუქმების მონაცემებს იღებს და ასრულებს.
დაადასტურეთ ასახვა მანქანაზე არსებული ხელსაწყოებით
სანამ მოწყობილობას ახალ სერტიფიკატს გადასცემთ, წაიკითხეთ სახელი სერტიფიკატიდან ისე, როგორც სერვერი გააკეთებდა, შემდეგ შეადარეთ იმ პოლიტიკის ფაილს, რომლის არჩევასაც ელოდებით.
openssl x509 -in device42.crt -noout -subject -nameopt sep_multiline
ls -l /etc/openvpn/ccd/device42
grep -n "duplicate-cn" /etc/openvpn/server.conf
პირველი ბრძანება სუბიექტის ველებს ცალკე ბეჭდავს, რაც მაშინვე აჩენს შეცდომით მოხვედრილ ორგანიზაციულ ერთეულს ან გაორმაგებულ ჰარას. მეორე ადასტურებს, რომ ზუსტად ამ სახელზე არსებობს პოლიტიკის ფაილი, ხოლო მესამე აჩვენებს, არის თუ არა სერვერი კონფიგურირებული ერთ სახელზე რამდენიმე სესიის დაშვებისთვის. გაუშვით სამივე ახალ სერტიფიკატზე სანამ ის რეგისტრაციის საფეხურს დატოვებს, სანამ შეცდომა ჯერ კიდევ ხელმოწერა ღირს და არა ინციდენტი. შეინახეთ გამოსავალი ბილეთთან ერთად, რათა შემდეგმა ადამიანმა დაინახოს, რომელი სახელი მიიღო სერვერმა სინამდვილეში.
დაასრულეთ რეალური კავშირით და შეადარეთ მინიჭებული მისამართი და გაგზავნილი მარშრუტები პოლიტიკის ფაილს და არა იმას, რისი დაწერაც გქონდათ განზრახული. თუ ორი მოწყობილობა ერთსა და იმავე სტატიკურ მისამართს იტყობინება, რეესტრში არის შეჯახება, რომელსაც სერტიფიკატების არც ერთი შემოწმება ვერასოდეს გამოავლენს.