SSL VPN czy otoczka TLS? Porównaj granicę, która zawiodła
Dwa projekty mogą wystawić TLS na 443 i znaczyć zupełnie co innego. Cztery kontrole: skonfigurowana ścieżka, backend, przenoszony ruch i zawodząca granica.
Dwa projekty mogą uruchamiać TLS na porcie 443 i znaczyć przez to zupełnie co innego. Otoczka chroni jedno skonfigurowane połączenie między portem lokalnym a zdalnym backendem. Projekt dostępu sieciowego przenosi wybrany ruch i zmienia to, do czego klient może dotrzeć. Wykonaj cztery kontrole poniżej po kolei, a będziesz wiedzieć, na który patrzysz, co zwykle wystarcza, by wiedzieć, która warstwa zawiodła.
Zacznij od połączenia, które naprawdę skonfigurowałeś
Zapisz front end i back end, zanim zaczniesz porównywać produkty. Otoczka nasłuchuje na adresie lokalnym i przekazuje na zdalny albo uruchamia program po stronie zdalnej, i ta para to cały jej kontrakt. Inne aplikacje klienta nic o niej nie wiedzą, dopóki ich na nią nie skierujesz. To nie jest wada narzędzia, po to ono jest.
Kontrakt projektu sieciowego jest inny i wyraża się w trasach i polityce, a nie w parze portów.
Zauważ, który z tych dwóch opisów pasuje do twojego diagramu. Jeśli odpowiedzią jest jedno mapowanie portu z certyfikatem pośrodku, masz otoczkę, nawet gdy nazwa produktu mówi VPN. Jeśli odpowiedzią jest interfejs tunelu i zmiany tras, masz projekt sieciowy, nawet gdy działa na 443.
Sprawdź, do czego podłącza się otoczka
Przeczytaj ustawienia nasłuchu i połączenia i prześledź je do prawdziwego backendu. Otoczka przekazująca na port bazy danych nie otwiera aplikacji webowej, a otoczka uruchamiająca program uruchamia właśnie ten program, zamiast publikować wszystko inne, co uruchamia host. Backend to jedyna rzecz, którą otoczka zna.
Następnie zdecyduj, czy przekazywany strumień jest czystym tekstem, gdy TLS się kończy. Otoczona komunikacja chroni odcinek między dwiema otoczkami, a to, co dzieje się za daleką otoczką, to osobne pytanie. Dlatego otaczanie czegoś, co już ma własną ochronę, bywa sensowne, a bywa tylko zbędnymi ruchomymi częściami. Sprawdź następny skok, zamiast zakładać którąkolwiek z odpowiedzi.
openssl s_client -connect wrapper.lab.example:443 -servername wrapper.lab.example -verify_return_error
sudo ss -ltnp | grep 443Pierwsze polecenie pokazuje certyfikat, który naprawdę jest oferowany klientowi, a drugie pokazuje, co nasłuchuje na hoście. Porównaj tę nazwę certyfikatu z oczekiwaną, zanim przeczytasz cokolwiek innego.
Sprawdź, jaki ruch przenosi projekt
Projekty dostępu sieciowego przenoszą wybrany ruch i integrują się z routingiem i polityką dostępu klienta. Dopuszczenie nie jest autoryzacją, więc uwierzytelnione połączenie nadal potrzebuje decyzji, do których zasobów może dotrzeć. Portal bez klienta to trzeci model, który pośredniczy w obsługiwanych operacjach, nigdy nie pojawiając się jako interfejs tun.
Etykieta produktu nie mówi, który z tych modeli kupiłeś, a numer portu mówi jeszcze mniej.
Warstwowanie jest możliwe i nie powinno mylić porównania. Protokół tunelu sam może być otoczony TLS w obsługiwanym układzie TCP, co dodaje warstwę wokół tunelu, nie czyniąc otoczki tunelem. To decyzja projektowa z własnym zachowaniem wydajności i awarii, i zasługuje na wiersz w diagramie. Zapisz ją, a potem porównuj modele bazowe, nie zewnętrzną otoczkę.
Sprawdź granicę, która zawiodła, nie etykietę
Zapisz fakty jednej nieudanej próby: adres front endu, nasłuchujący, tożsamość zweryfikowaną przez klienta, cel backendu i żądaną operację. Udany uścisk dłoni dowodzi, że zewnętrzny TLS się zakończył, i nic nie mówi o backendzie. Odrzucenie przez backend to inne zdarzenie niż błąd tożsamości na froncie, i żadne z nich nie poprawia się po usunięciu -verify_return_error z klienta. Porównuj podobne z podobnym, bo sukces przez inną nazwę hosta lub port nie dowodzi, że warunki były takie same.
Port 443 to konwencja, która przepuszcza TLS przez urządzenia pośredniczące. Nie sprawia, że dowolny ruch przypomina żądanie webowe dla urządzenia polityki.
Zakończ jednym zdaniem, które nazywa parę punktów końcowych, co jest przenoszone, które aplikacje tego używają i jakie uprawnienie egzekwuje cel. Projekt, który nie potrafi wypełnić tych czterech luk, nie jest gotowy, cokolwiek twierdzi jego etykieta. To zdanie jest też najszybszym sposobem wyjaśnienia projektu temu, kto posiada zaporę ogniową.