Włączasz VPN, otwierasz Little Snitch, a przeglądarka jest tuż obok, z połączeniem do strony, która — jak sądziłeś — szła przez tunel. Ten wpis sam w sobie nie jest dowodem wycieku. Lokalny monitor podaje, który proces otworzył gniazdo na tej maszynie, a przeglądarka je otworzyła; klient VPN to drugi proces, który przejmuje te pakiety później. Oba zdania są prawdziwe jednocześnie, a wyświetlacz pokazuje ci pierwsze.

Co lokalny monitor może przypisać, a czego nie

Przypisanie następuje przy gnieździe. Jądro wie, który proces posiada połączenie, więc Little Snitch może z dużym prawdopodobieństwem oznaczyć wpis nazwą aplikacji. Czego domyślnie nie widzi, to zewnętrzne połączenie, które VPN buduje wokół tego ruchu, bo należy ono do innego procesu.

Nazwy domen to słabszy sygnał, niż wyglądają. W połączeniu HTTPS nazwa może pochodzić z zapytania DNS, z nazwy serwera zaproponowanej podczas uścisku dłoni albo z odwrotnego wyszukiwania adresu, zależnie od tego, co zaobserwował system. Nic z tego nie wymaga odszyfrowania strony i nic nie dowodzi, gdzie bajty poszły później.

Wpis w przeglądarce odpowiada więc na pytanie kto, a nie gdzie. Traktuj go jako dane przypisania, a gdzie bierz z innego widoku.

Krok pierwszy: zacznij od pustego okna, a nie od przewijania historii

Stare wpisy nie powiedzą ci, co robi bieżąca konfiguracja. Przełącz filtr czasu na Od teraz lub naciśnij Command-K, żeby okno pokazywało tylko połączenia pojawiające się po tej chwili.

Następnie zrób dokładnie jedną nieszkodliwą rzecz w badanej aplikacji, na przykład wczytaj stronę, którą wolno ci wczytać. Jedna czynność, jedna chwila, żeby pojawiające się wpisy dało się z nią powiązać bez zgadywania. Poczekaj sekundę lub dwie po zakończeniu, bo wczytanie strony daje falę połączeń, a nie jedno. Czytanie listy, gdy się jeszcze wypełnia, gwarantuje błędną ocenę kolejności.

Przed odczytaniem wyniku sprawdź, czy pole wyszukiwania lub filtr stanu nie zawęża listy. Filtr pozostały z wcześniejszej sesji to najczęstsza przyczyna tego, że połączenie wydaje się brakować, gdy jest tylko ukryte, a także powód, dla którego dwie osoby patrzące na tę samą maszynę nie zgadzają się co do tego, co się dzieje.

Krok drugi: uwzględnij połączenia rozszerzeń, aby zobaczyć sam tunel

Klient VPN w bieżącej wersji macOS jest zwykle rozszerzeniem sieciowym, a nie zwykłą aplikacją. Włącz Pokaż rozszerzenia sieciowe w Monitorze, a połączenia tworzone przez to rozszerzenie staną się widoczne obok wszystkiego innego.

Teraz obie warstwy można czytać razem. Przeglądarka jest źródłem żądania, a rozszerzenie transportem, który je niesie. Widzieć oba to normalne i oczekiwane; widzieć tylko rozszerzenie zwykle znaczy, że widok jest filtrowany, a widzieć tylko aplikację — że widok rozszerzeń jest wyłączony.

Żaden widok sam nie zinwentaryzuje całej ścieżki. Reguły routingu, zachowanie DNS i wszelkie wyjątki dla aplikacji żyją poza listą połączeń, więc pełna odpowiedź wymaga sprawdzenia ich osobno.

Krok trzeci: odróżnij rzeczywiste połączenie bezpośrednie od efektu wyświetlania

Jeśli podejrzewasz, że konkretny cel wychodzi bezpośrednio, nazwij ten cel i sprawdź go osobno. Zobacz własną konfigurację routingu i blokowania klienta VPN dla tego hosta lub aplikacji i potwierdź, czy powinien być wykluczony.

Czego nie powinieneś robić, to blokować w reakcji każdego widocznego wpisu przeglądarki. Przeglądarka i tak musi nawiązywać połączenia, a blokowanie ich w monitorze nie przekierowuje ich do tunelu; tylko je zatrzymuje. To zamienia pytanie diagnostyczne w awarię. Jeśli reguła wydaje się konieczna, ogranicz ją do jednego celu, który potrafisz uzasadnić, z notatką, dlaczego istnieje.

Ta sama ostrożność dotyczy kolumny domeny. Nazwa, która cię zaskakuje, może być wspólną nazwą hosta, punktem dostarczania treści lub zapytaniem, które nastąpiło przed podniesieniem tunelu, a traktowanie jej jako dowodu wycieku prowadzi do reguł, które psują działający ruch.

Krok czwarty: trzymaj widok i regułę osobno

Każda zmiana w tym ćwiczeniu zmienia to, co pokazuje monitor. Żadna nie zmienia tego, co dopuszcza zapora, i żadna nie przenosi ruchu do tunelu ani z niego.

Na koniec przywróć filtry do stanu, który potrafisz wyjaśnić, żeby następna osoba otwierająca okno nie czytała widoku, który zostawiłeś. Jeśli pytanie brzmiało, czy cel idzie przez tunel, odpowiedz na nie z ustawień routingu i wykluczeń, a potem użyj monitora, by potwierdzić wynik, zamiast go zgadywać.

Powiązane artykuły