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

საჯარო ნახევარი არ არის დაუცველი ნახევარი და სწორედ აქ არის ხაფანგი

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

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

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

რას აძლევს წინასწარი გამოთვლა თავდამსხმელს სინამდვილეში

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

2015 წლის Logjam-ის ნაშრომმა აჩვენა დაქვეითება 512-ბიტიან ექსპორტული დონის Diffie-Hellman-ზე და შეაფასა, რა დაჯდებოდა უფრო დიდ, ფართოდ ხელახლა გამოყენებულ ჯგუფებზე თავდასხმა მნიშვნელოვანი რესურსებით. დემონსტრაცია კონკრეტული იყო, შეფასებები შეფასებები იყო და არც ერთი არ ყოფილა მტკიცებულება იმისა, რომ კონკრეტული VPN სესია გაიშიფრა.

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

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

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

როცა მათზე ფიქრობთ, კონსტრუქციები ცალ-ცალკე შეინახეთ. დასკვნა სასრულ ველზე Diffie-Hellman-ის შესახებ არაფერს ამბობს X25519-ზე და დასკვნა 1024-ბიტიან MODP ჯგუფზე არაფერს ამბობს 3072-ბიტიანზე. ძალის პოლიტიკა თითო მექანიზმზე, თითო ზომაზე და თითო პროტოკოლის ვერსიაზეა, ამიტომ ძლიერი კრიპტოგრაფია ფრაზა გადასამოწმებელი მტკიცება არ არის.

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

წაიკითხეთ შეთანხმებული ჯგუფი რეალურ კავშირზე

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

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

ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -noout

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

შეამოწმეთ ჯგუფი და პარტნიორის იდენტობა ცალ-ცალკე

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

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

ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'

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

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