ca md too weak: ხელახლა გამოვცეთ სერთიფიკატი თუ დავწიოთ დონე?
შეცდომა ასახელებს ხელმოწერის კრებს, რომელსაც კლიენტი ახლა უარყოფს და არა სუსტ პაროლს. აირჩიეთ ჯაჭვის ხელახალი გამოცემა, გამომცემლისთვის მიმართვა ან პოლიტიკის დაწევა.
OpenVPN კლიენტი, რომელიც გასულ თვეში მუშაობდა, ახლა გაშვებისას ფერხდება შეცდომით ca md too weak, ხოლო დისკზე არსებული პროფილი ბაიტობრივად იგივეა, რაც მუშაობდა. შეტყობინება ეხება სერთიფიკატის ორგანოს სერთიფიკატზე დადებულ ხელმოწერას და არა მონაცემთა შიფრს, auth კრებს ან ანგარიშის პაროლს. სამი პირობა წყვეტს, არის თუ არა გადაწყვეტა ახალი იდენტობის მასალა, ახალი ჯაჭვი თუ განზრახ პოლიტიკის ცვლილება. გაიარეთ ისინი რიგრიგობით და აიცილებთ ჩვეულ შედეგს, როცა გვირაბი ბრუნდება ჰოსტზე ყოველი TLS კავშირის შესუსტებით.
რას ასახელებს შეცდომა სინამდვილეში
OpenSSL ამოწევს ამ შემოწმების შეცდომას ჯაჭვის აგებისას, როცა CA-ს როლში მოქმედ სერთიფიკატს აქვს ხელმოწერის კრება, რომელსაც ბიბლიოთეკის უსაფრთხოების დონე აღარ იღებს. MD5 უარყოფილია ნაგულისხმევ დონეზე, ხოლო SHA-1 უარყოფილია დონის აწევისთანავე. ბოლო სერთიფიკატის კრებას აქ ნაკლები მნიშვნელობა აქვს, ვიდრე მისი გამომცემლის კრებას. იგივე პოლიტიკამ შეიძლება უარყოს ფესვი, რომელიც გამოცემის დღეს სრულიად ჩვეულებრივი იყო.
ამიტომ auth ან data-ciphers რედაქტირება ამ ხარვეზისთვის არაფერს აკეთებს. ეს პარამეტრები აწესრიგებს, როგორ იცავენ პაკეტებს ხელის ჩამორთმევის შემდეგ, მაშინ როცა უარყოფილი ობიექტი იდენტობის დოკუმენტია, რომელსაც გვირაბის არსებობამდე ამოწმებენ. სერთიფიკატი შეიძლება მშვიდად იჯდეს თავის მოქმედების ფანჯარაში და მაინც ატარებდეს ხელმოწერას, რომელსაც ბიბლიოთეკა არ მიიღებს.
შემოწმებები გონებაში ცალკე დაიჭირეთ და შეცდომა წყვეტს იდუმალურად ჩვენებას. მოქმედების თარიღები, გასაღების გამოყენება და ხელმოწერის კრება დამოუკიდებელი ცდებია და ზუსტად ერთი მათგანი ახლახან ჩავარდა.
პირველი პირობა: უარყოფილი ობიექტი ფესვია?
დაბეჭდეთ პროფილის ყოველი სერთიფიკატი და წაიკითხეთ subject და issuer ველები. თვითხელმოწერილი ფესვი ორივეში ერთსა და იმავე მნიშვნელობას აჩვენებს და მისი ხელმოწერის ალგორითმია ის, რასაც მთელი ჯაჭვი ეყრდნობა. როცა სუსტი კრება იქ ზის, მის ქვეშ ყოველი ფოთოლი პრობლემას მემკვიდრეობით იღებს. ჩაწერეთ ალგორითმი subject-ის გვერდით, რათა შემდგომი შედარება მექანიკური იყოს და არა მეხსიერებიდან.
გაერთიანებული CA ფაილები ხშირად რამდენიმე ბლოკს შეიცავს, ამიტომ ამოიცანით ბლოკი, რომელიც რეალურად იტვირთება, ნაცვლად იმისა, რომ პირველი ჩათვალოთ დამნაშავედ. ბრძანება openssl x509 -in ca.pem -noout -subject -issuer -text თითო სერთიფიკატს აღწერს, რაც ნიშნავს, რომ თუ კრებული მეტს შეიცავს, ჯერ უნდა გაიყოს. შეადარეთ დაბეჭდილი ხელმოწერის ალგორითმი იმ კრებას, რასაც ფესვის შექმნის ეპოქიდან მოელოდით.
სუსტი ფესვის ქვეშ SHA-256-ით ხელმოწერილი ფოთოლი მაინც ფერხდება, რადგან ჯაჭვის შემოწმება ზევით მიდის. სწორედ ეს რიგი ხდის შემდეგ პირობას მნიშვნელოვანს.
მეორე პირობა: აკონტროლებთ გამომცემელს?
თუ ფესვი თქვენს ორგანიზაციას ეკუთვნის, გამძლე გადაწყვეტაა ახალი ფესვი თანამედროვე კრებით და ხელახლა გამოცემული ფოთლებით, მიწოდებული ერთი პროფილის განახლების სახით. ეს სჭირდება ტექნიკური მომსახურების ფანჯარას და გეგმას მოწყობილობებისთვის, რომლებიც განახლებას იმავე დღეს ვერ მიიღებენ.
თუ ჯაჭვი მესამე მხარემ გასცა, გადაწყვეტაა მოთხოვნა იმ ოპერატორთან, და ერთადერთი სასარგებლო ლოკალური ნაბიჯია ძველ მასალაზე დამოკიდებულების შეწყვეტა. PEM ტექსტის რედაქტირება ან ფაილის ხელახლა შენახვა არაფერს ცვლის იმაში, რასაც ხელმოწერა ფარავს.
ერთი შუალედური შემთხვევა სახელს იმსახურებს: შიდა ფესვი, რომელიც უფრო ძველია, ვიდრე მიმდინარე ნაგულისხმევები, მაგრამ კვლავ ხელს აწერს მასალას, რომელსაც სხვა სისტემები ენდობიან. მისი ჩანაცვლება ნიშნავს ყოველი მომხმარებლის აუდიტს, მათ შორის მოწყობილობების, რომლებიც ძველ სერთიფიკატს თითის ანაბეჭდით ამაგრებენ. დათვალეთ ეს მომხმარებლები ცვლილების დაგეგმვამდე, რადგან ერთის გამოტოვებული ფესვის შეცვლა გაშვების შეცდომას უცვლის შეფერხებას.
მესამე პირობა: კიდევ რას იღებს დონის დაწევა
უსაფრთხოების დონის დაწევა ან OpenVPN-ის ძველი სერთიფიკატის პროფილის არჩევა კლიენტს ისევ აძლევს ძველი კრების მიღების საშუალებას. ის ასევე ასუსტებს იმავე ბიბლიოთეკის სხვა შემოწმებებს, ამ პროცესის ყოველი კავშირისთვის.
ეს შეიძლება გამართლებული იყოს ლაბორატორიაში, ან როგორც მოკლე ხიდი სანამ ჩანაცვლების მასალა მზადდება, თუ გამონაკლისი ერთ პროფილზეა შემოფარგლული და დასრულების თარიღს ატარებს. მაგრამ როგორც მუდმივი პარამეტრი საერთო ჰოსტზე, ის ჩუმად აფართოებს იმას, რასაც იქ ყოველი TLS კლიენტი ენდობა.
ჩაწერეთ გამონაკლისი მფლობელთან და მოცილების ნაბიჯთან ერთად. არადოკუმენტირებული დონის ცვლილება ნახევარი წლის შემდეგ შეცდომისგან არ გაირჩევა და შემდეგი ინჟინერი ვერ გაიგებს, რომ ეს ოდესღაც გადაწყვეტილება იყო.
გადაწყვეტილება, დაწერილი წესად
შეცვალეთ ჯაჭვი, როცა გამომცემელს აკონტროლებთ და მისი მომხმარებლების ჩამოთვლა შეგიძლიათ. თუ ვერა, გადადით გამომცემელზე. დონე დაწიეთ მხოლოდ დათარიღებული, შემოფარგლული გამონაკლისის სახით, ჩანაცვლების უკვე დაგეგმვით. ყველა სხვა გზა იმავე სერთიფიკატს ტოვებს ადგილზე და რისკს ნაკლებად შესამჩნევ ადგილას გადაიტანს.
შემდეგ ხელახლა გამოსცადეთ პროფილი სუფთა კლიენტიდან, დაადასტურეთ რომ ხელის ჩამორთმევა სრულდება, და თუ კვლავ ფერხდება, შეინახეთ უარყოფის ზუსტი ტექსტი. ზუსტი შეცდომის შეტყობინება ყველაზე იაფია, რაც შემდეგი ფენის მფლობელს გადასცემთ.