რას ამტკიცებს VPN პროტოკოლის სპეციფიკაცია და რას არა
სპეციფიკაცია ადგენს შეტყობინების ფორმატებს, ალგორითმებსა და საფრთხის დაშვებებს. ის ვერ უზრუნველყოფს თქვენ მიერ დაყენებულ build-ს ან ოპერატორის მიერ თქვენი ანგარიშის მართვას.
პროტოკოლის დოკუმენტი შეთანხმებაა იმპლემენტაციებს შორის, და ყურადღებით კითხვა გეუბნებათ, რას გაცვლიან ორი შესაბამისი მხარე და რომელი თვისებების უზრუნველყოფას გეგმავდნენ დიზაინერები. ის არ გეუბნებათ, რომელი ბინარული ფაილი მუშაობს იმ სერვერზე, რომელზეც უკავშირდებით, როგორ იყო კონფიგურირებული ეს სერვერი ან რა ხდება შემდეგ თქვენი ანგარიშის ჩანაწერთან. ეს სამი განსხვავებული სახის მტკიცებულებაა, და სპეციფიკაციის სამივედ მიჩნევა ის გზაა, რომლითაც პროტოკოლის სახელი იწყებს ისეთი სამუშაოს შესრულებას, რომელიც არ შეუძლია. სამივეს გამიჯვნა მთელი ვარჯიშია.
დოკუმენტი არგუმენტის დასაწყისია, და არა მისი დასკვნა.
რას განსაზღვრავს დოკუმენტი სინამდვილეში
WireGuard-ისთვის პროტოკოლის აღწერა განსაზღვრავს Noise IK ხელის ჩამორთმევას, პრიმიტივების ფიქსირებულ კრებულს, შეტყობინებების განლაგებას და სატრანსპორტო ჩარჩოს, რომელიც შემდეგ პაკეტებს ატარებს. IKEv2-ისთვის შედარებადი არტეფაქტია RFC 7296, რომელიც განსაზღვრავს გაცვლებს, დატვირთვებსა და წინადადებების მოლაპარაკებას. ორივე შემთხვევაში მოცულობა ზუსტია: შეტყობინებები, მდგომარეობის მანქანა და ის დაშვებები, რომლებშიც უსაფრთხოების მიზნები მოქმედებს.
არჩევითი რეჟიმები კითხვას ართულებს. ერთი ხელის ჩამორთმევისთვის მოქმედი თვისება შეიძლება არ გავრცელდეს სხვა აუთენტიფიკაციის წყობის ან სარეზერვო კონფიგურაციის მქონე განლაგებაზე.
სად წყდება გარანტიები
ფორმალური ანალიზი პასუხობს კითხვას მოდელზე. WireGuard-ის ვერიფიკაციის სამუშაო იყენებს სიმბოლურ მოდელს Tamarin-ის დამტკიცებში, რომელსაც შეუძლია აჩვენოს, რომ დიზაინი თავისი დაშვებებით გარკვეულ შეტევებს უძლებს; ის არ აჩვენებს, რომ მიწოდებულ მომხმარებლის სივრცის იმპლემენტაციას მეხსიერების უსაფრთხოების ხარვეზი არ აქვს. სწორედ მოდელსა და მანქანას შორის ამ უფსკრულში ცხოვრობს რეალური ინციდენტები. მტკიცებულების იმპლემენტაციის სერტიფიკატად წაკითხვა კატეგორიის შეცდომაა.
წინსვლითი საიდუმლოება იმავე საზღვარს აჩვენებს. თვისება დამოკიდებულია იმაზე, რომ გასაღებები განადგურდეს ისე, როგორც პროტოკოლი გულისხმობს, და ეს იმპლემენტაციისა და მისი გარემოს თვისებაა და არა შეტყობინების ფორმატისა. დიზაინი, რომელიც წაშლას ავალდებულებს, ვერ აიძულებს მას პლატფორმაზე, რომელიც მეხსიერებას დისკზე გადაიტანს.
შრეებრივი დამოკიდებულებები უფსკრულს კიდევ აფართოებს: TLS-ზე დაფუძნებული გვირაბის უკან მდგარი TLS ბიბლიოთეკა, ბირთვის ინტერფეისი, რომელსაც მომხმარებლის სივრცის გვირაბი იყენებს, და შემთხვევითი რიცხვების გენერატორი ყველა პროტოკოლის ტექსტის გარეთ დგას.
მიჰყევით ბაიტებს build-ის შიგნით
გადადით დოკუმენტიდან არტეფაქტებზე ვერსიების იდენტიფიცირებით და შემდეგ მათ შედარებით იმასთან, რაც რეალურად ემსახურება ტრაფიკს. პროდუქტმა, რომელიც პროტოკოლს ასახელებს, შეიძლება დაამატოს უზრუნველყოფის, ტელემეტრიისა და მართვის კომპონენტები, რომლებსაც სპეციფიკაცია არასოდეს აღწერს.
openvpn --version | head -3 wg --version dpkg -l | grep -E 'openvpn|wireguard|libssl' ss -lunp | grep -E '1194|51820' sha256sum ./wireguard-tools_1.0.20210914_amd64.deb
გამრავლებადი build-ები და გამოქვეყნებული საკონტროლო ჯამები შესაძლებელს ხდის წყაროს ხის დაკავშირებას გავრცელებულ ბინარულ ფაილთან. ამ კავშირის გარეშე გამოქვეყნებული წყარო მხოლოდ იმას ამტკიცებს, რომ შემოწმება შესაძლებელია, და არა რომ მოქმედი ფაილი მას შეესაბამება.
კონფიგურაცია იმავე საფეხურს ეკუთვნის. შიფრების კრებულები, ნებადართული მხარეები და მარშრუტიზაციის პარამეტრები განლაგების არჩევანია, და უყურადღებოდ კონფიგურირებული შესაბამისი build მაინც სუსტ გვირაბს ქმნის.
გამოყავით ოპერაციული პრაქტიკები
ანგარიშის ჩანაწერები, გადახდის მონაცემები და მხარდაჭერის მიმართვები ოპერატორის გადაწყვეტილებებია, რომლებსაც არც ერთი პროტოკოლის ტექსტი არ ზღუდავს. აუდიტის ანგარიში მოიცავს დასახელებულ კომპონენტებს გამოცხადებულ ფარგლებში, ხოლო კონფიდენციალურობის პოლიტიკა აღწერს განზრახვებსა და პრაქტიკებს; არც ერთი არ ცვლის მეორეს და არც ერთი არ არის კრიპტოგრაფიული განაცხადი.
ზუსტი დასკვნა კუმულაციურია: სპეციფიკაცია ხსნის დიზაინს, build და კონფიგურაცია ხსნიან გვირაბს, ხოლო ოპერატორის დოკუმენტირებული პრაქტიკები ხსნის ყველაფერს, რასაც გვირაბი არასოდეს ხედავს. თქვით, რომელი მათგანი შეამოწმეთ, და მტკიცება ჭეშმარიტი რჩება.