SSL VPN თუ TLS გარსი? შეადარეთ საზღვარი, რომელიც ჩავარდა
ორი პროექტი შეიძლება TLS-ს 443-ზე ამუშავებდეს და სრულიად განსხვავებულ რამეს ნიშნავდეს. ოთხი შემოწმება: კონფიგურირებული გზა, backend, გადატანილი ტრაფიკი და ჩავარდნილი საზღვარი.
ორი პროექტი შეიძლება TLS-ს 443 პორტზე ამუშავებდეს და ამით სრულიად განსხვავებული რამ ნიშნავდეს. გარსი იცავს ერთ კონფიგურირებულ კავშირს ლოკალურ პორტსა და დისტანციურ backend-ს შორის. ქსელური წვდომის პროექტი გადააქვს შერჩეულ ტრაფიკს და ცვლის, თუ რამდენად შორს შეიძლება მივიდეს კლიენტი. შეასრულეთ ქვემოთ მოცემული ოთხი შემოწმება თანმიმდევრობით და გაიგებთ, რომელს უყურებთ, რაც ჩვეულებრივ საკმარისია იმის გასაგებად, თუ რომელი ფენა ჩავარდა.
დაიწყეთ იმ კავშირით, რომელიც ნამდვილად კონფიგურირეთ
ჩამოწერეთ წინა და უკანა მხარე, სანამ პროდუქტებს შეადარებთ. გარსი უსმენს ლოკალურ მისამართზე და გადასცემს დისტანციურს, ან იწყებს პროგრამას დისტანციურ მხარეს, და ეს წყვილი მთელი მისი კონტრაქტია. კლიენტის სხვა აპლიკაციებმა არაფერი იციან ამის შესახებ, სანამ თქვენ მათ ამისკენ არ მიმართავთ. ეს ხელსაწყოს ნაკლი არ არის, ხელსაწყო სწორედ ამისთვისაა.
ქსელური პროექტის კონტრაქტი სხვაა და გამოიხატება მარშრუტებსა და პოლიტიკაში, და არა პორტების წყვილში.
ყურადღება მიაქციეთ, რომელი აღწერა შეესაბამება თქვენს დიაგრამას. თუ პასუხი შუაში სერტიფიკატის მქონე ერთი პორტის დაკავშირებაა, თქვენ გაქვთ გარსი, მაშინაც კი, როცა პროდუქტის სახელი VPN-ს ამბობს. თუ პასუხი გვირაბის ინტერფეისი და მარშრუტების ცვლილებებია, თქვენ გაქვთ ქსელური პროექტი, მაშინაც კი, როცა ის 443-ზე მუშაობს.
შეამოწმეთ, რას უკავშირდება გარსი
წაიკითხეთ მოსმენისა და დაკავშირების პარამეტრები და გაჰყევით მათ რეალურ backend-მდე. მონაცემთა ბაზის პორტზე გადამცემი გარსი არ ხსნის ვებაპლიკაციას, ხოლო პროგრამის გამშვები გარსი იწყებს სწორედ იმ პროგრამას და არ აქვეყნებს ყველაფერს სხვას, რასაც ჰოსტი უშვებს. Backend ერთადერთია, რაც გარსმა იცის.
შემდეგ გადაწყვიტეთ, არის თუ არა გადაცემული ნაკადი ღია ტექსტი TLS-ის დასრულების შემდეგ. გარსში მოქცეული კავშირი იცავს ორ გარსს შორის მონაკვეთს, და ის, რაც შორეული გარსის შემდეგ ხდება, ცალკე საკითხია. ამიტომაც უკვე საკუთარი დაცვის მქონე რამის გარსში მოქცევა ზოგჯერ გონივრულია, ზოგჯერ კი მხოლოდ ზედმეტი მოძრავი ნაწილები. შეამოწმეთ შემდეგი ნაბიჯი, ნაცვლად ორი პასუხიდან ერთის დაშვებისა.
openssl s_client -connect wrapper.lab.example:443 -servername wrapper.lab.example -verify_return_error
sudo ss -ltnp | grep 443პირველი ბრძანება აჩვენებს სერტიფიკატს, რომელიც რეალურად სთავაზობენ კლიენტს, ხოლო მეორე — რა უსმენს ჰოსტზე. შეადარეთ ეს სერტიფიკატის სახელი თქვენს მოსალოდნელს, სანამ სხვა რამეს წაიკითხავთ.
შეამოწმეთ, რა ტრაფიკს ატარებს პროექტი
ქსელური წვდომის პროექტები ატარებენ შერჩეულ ტრაფიკს და ინტეგრირდებიან კლიენტის მარშრუტიზაციასა და წვდომის პოლიტიკაში. დაშვება ავტორიზაცია არ არის, ამიტომ ავთენტიფიცირებულ კავშირს მაინც სჭირდება გადაწყვეტილება, თუ რომელ რესურსებზე შეიძლება მივიდეს. კლიენტის გარეშე პორტალი მესამე მოდელია, რომელიც შუამავლობს მხარდაჭერილ ოპერაციებს და არასოდეს ჩნდება tun ინტერფეისად.
პროდუქტის ეტიკეტი არ გეუბნებათ, რომელი მოდელი იყიდეთ, ხოლო პორტის ნომერი კიდევ ნაკლებს ამბობს.
ფენებადობა შესაძლებელია და არ უნდა აბნევდეს შედარებას. გვირაბის პროტოკოლი თავად შეიძლება შეიფუთოს TLS-ში მხარდაჭერილ TCP განლაგებაში, რაც ფენას ამატებს გვირაბის გარშემო და გარსს გვირაბად არ აქცევს. ეს არის დიზაინის არჩევანი საკუთარი წარმადობისა და ჩავარდნის ქცევით და იმსახურებს ერთ ხაზს დიაგრამაში. ჩაწერეთ ის, შემდეგ შეადარეთ ძირითადი მოდელები და არა გარე გარსი.
შეამოწმეთ ჩავარდნილი საზღვარი და არა ეტიკეტი
ჩამოწერეთ ერთი წარუმატებელი ცდის ფაქტები: წინა მხარის მისამართი, მსმენელი, იდენტობა, რომელიც კლიენტმა გადაამოწმა, backend-ის სამიზნე და მოთხოვნილი ოპერაცია. წარმატებული ხელის ჩამორთმევა ამტკიცებს, რომ გარე TLS დასრულდა და backend-ზე არაფერს ამბობს. Backend-ის უარი განსხვავებული მოვლენაა წინა მხარის იდენტობის ჩავარდნისგან, და არც ერთი არ უმჯობესდება კლიენტიდან -verify_return_error-ის მოშორებით. შეადარეთ მსგავსი მსგავსს, რადგან სხვა ჰოსტის სახელით ან პორტით წარმატება არ აჩვენებს, რომ პირობები იგივე იყო.
443 პორტი შეთანხმებაა, რომელიც TLS-ს საშუალო ყუთებში გაატარებს. ის თვითნებურ ტრაფიკს პოლიტიკის მოწყობილობისთვის ვებ მოთხოვნის მსგავსს არ ხდის.
დაასრულეთ ერთი წინადადებით, რომელიც ასახელებს ბოლო წერტილების წყვილს, რა გადააქვს, რომელი აპლიკაციები იყენებენ მას და რა ნებართვას ახორციელებს დანიშნულება. პროექტი, რომელიც ვერ ავსებს ამ ოთხ ცარიელ ადგილს, დაუმთავრებელია, რაც არ უნდა ამტკიცებდეს მისი ეტიკეტი. ეს წინადადება ასევე ყველაზე სწრაფი გზაა პროექტის ასახსნელად მას, ვისაც ფაირვოლი ეკუთვნის.