Pobierz
Prywatność··7 min czytania

Czym jest kill switch w VPN?

Język: EnglishالعربيةDeutschEspañolفارسیFrançaisहिन्दीBahasa IndonesiaItaliano日本語한국어PortuguêsРусскийไทยTürkçeУкраїнськаTiếng Việt简体中文繁體中文

Kill switch VPN to funkcja, która blokuje ruch sieciowy, gdy tunel VPN nieoczekiwanie się rozłączy. Ten artykuł wyjaśnia, co kill switch właściwie robi, jak jest wdrażany na poziomie systemu operacyjnego oraz jak sprawdzić, że funkcja działa poprawnie.

Definicja

Kill switch to mechanizm kontroli na poziomie sieci, który zapobiega opuszczaniu urządzenia przez ruch przez niezabezpieczony interfejs, gdy VPN jest nominalnie aktywny. Jeśli tunel VPN się rozłączy — czy to z powodu zmiany sieci, awarii serwera, czy z jakiegokolwiek innego powodu — kill switch dba o to, by ruch po cichu nie wracał do domyślnego interfejsu sieciowego.

Funkcja ta bywa też nazywana „blokadą sieci”, „ochroną zawsze aktywną” czy „internetowym kill switchem”. Działanie jest takie samo niezależnie od nazwy.

Po co istnieje kill switch

Tunele VPN nie zawsze są idealnie stabilne. Zmiany sieci — przełączanie z Wi-Fi na sieć komórkową, przemieszczanie się między punktami dostępowymi, przejazd przez tunele — mogą na krótko przerwać połączenie. Konserwacja serwera, przejściowe problemy z peeringiem czy rzadkie błędy protokołu również mogą powodować rozłączenia.

Bez kill switcha system operacyjny pokieruje ruch przez dowolny interfejs, który pozostaje dostępny. Z perspektywy użytkownika urządzenie zdaje się działać normalnie — strony się ładują, aplikacje łączą się — ale ruch przechodzi teraz przez sieć lokalną i dostawcę internetu, a nie przez VPN.

Dla użytkowników, którzy polegają na VPN ze względu na prywatność lub dostęp do usług zależnych od lokalizacji, to ciche przekierowanie niweczy sens korzystania z VPN. Kill switch dba o to, by łączność została zawieszona, a nie po cichu przekierowana.

Jak jest wdrażany

Sposoby wdrożenia kill switcha różnią się w zależności od platformy. Istnieją dwa ogólne podejścia.

Wdrożenie na poziomie systemu

Na platformach z wbudowaną obsługą VPN kill switch jest egzekwowany przez system operacyjny. W systemie iOS framework Network Extension udostępnia opcję „includeAllNetworks”, która w połączeniu z odpowiednimi regułami routingu zapobiega opuszczaniu urządzenia przez ruch przez jakikolwiek interfejs inny niż tunel. Jest to egzekwowane na poziomie jądra i dotyczy wszystkich aplikacji, w tym tych działających w tle.

W systemie Linux kill switche są zwykle wdrażane za pomocą reguł zapory — iptables lub nftables — które blokują cały ruch z wyjątkiem pakietów kierowanych na adres serwera VPN. Reguły są dodawane przy nawiązaniu tunelu i usuwane przy jego celowym rozłączeniu.

Wdrożenie na poziomie aplikacji

Niektóre aplikacje VPN wdrażają kill switch w samej aplikacji, monitorując tunel i dostosowując reguły routingu lub zapory w reakcji na rozłączenie. Wdrożenia na poziomie aplikacji są bardziej elastyczne, ale w egzekwowaniu zasady zależą od tego, by aplikacja pozostawała aktywna.

Egzekwowanie na poziomie systemu jest zwykle bardziej niezawodne, ponieważ działa nawet wtedy, gdy aplikacja VPN ulegnie awarii lub zostanie zamknięta.

Rodzaje kill switchy

Kill switche można skonfigurować w kilku trybach, które różnią się tym, jak agresywnie blokują ruch.

  • Stały kill switch. Ruch jest blokowany za każdym razem, gdy VPN nie jest aktywnie połączony, także wtedy, gdy aplikacja nie została uruchomiona. Daje to najsilniejszą gwarancję, ale wymaga celowego działania, by go wyłączyć.
  • Sesyjny kill switch. Ruch jest blokowany tylko podczas aktywnej sesji VPN. Jeśli użytkownik rozłączy się ręcznie, kill switch się dezaktywuje, a normalny ruch zostaje wznowiony.
  • Kill switch dla wybranych aplikacji. Dostępny na niektórych platformach desktopowych, ten tryb blokuje konkretne aplikacje, gdy VPN jest nieczynny, pozwalając pozostałym działać normalnie. Konfiguracja ta jest przydatna dla narzędzi obsługujących wrażliwe dane, ale taka szczegółowość zwiększa złożoność.

Kiedy kill switch się uruchamia

Kill switch jest zaprojektowany tak, by radzić sobie z sytuacjami, których system operacyjny zwykle nie traktuje jako awarii. Typowe wyzwalacze to:

  • Serwer VPN staje się nieosiągalny z powodu przerw w sieci lub konserwacji po stronie serwera.
  • Interfejs sieciowy urządzenia się zmienia — na przykład przejście z Wi-Fi na sieć komórkową — a tunel nie nawiązuje się ponownie wystarczająco szybko.
  • Błąd na poziomie protokołu powoduje zakończenie tunelu.
  • Sieć lokalna gubi pakiety wysyłane do serwera VPN lub od niego przychodzące, w tym w niektórych scenariuszach z portalem przechwytującym (captive portal).

W każdej z tych sytuacji kill switch zawiesza ruch do czasu, aż tunel zostanie ponownie nawiązany albo użytkownik celowo wyłączy kill switch.

Ograniczenia

Kill switch to funkcja obronna, a nie kompletne rozwiązanie. Warto zwrócić uwagę na dwa ograniczenia.

Przejście nie zawsze jest natychmiastowe. Między chwilą, gdy tunel zawodzi, a chwilą, gdy kill switch w pełni się załącza, może istnieć małe okno, w którym ruch teoretycznie mógłby wyciec. W dobrze zaprojektowanych systemach okno to jest na tyle krótkie, że w praktyce jest pomijalne — zwykle kilka milisekund — ale nie zawsze jest zerowe. Wdrożenia na poziomie systemu zamykają to okno bardziej niezawodnie niż wdrożenia na poziomie aplikacji.

Wycieki DNS to osobna kwestia. Kill switch zapobiega opuszczaniu urządzenia przez ruch IP przez niezabezpieczone interfejsy, ale zapytania DNS mogą czasem omijać tunel przez ustawienia domyślne systemu. Kompletna konfiguracja korzysta zarówno z kill switcha, jak i z routingu DNS przez tunel. Snap VPN domyślnie konfiguruje oba.

Weryfikacja

Kill switch można zweryfikować, symulując awarię tunelu i potwierdzając, że ruch jest zablokowany.

  1. Połącz się z VPN i potwierdź, że usługa raportująca adres IP pokazuje adres serwera.
  2. Bez rozłączania się przez aplikację wyłącz interfejs sieciowy, z którego korzysta VPN — na przykład wyłączając Wi-Fi, gdy tunel jest aktywny.
  3. Spróbuj załadować stronę internetową. Przy działającym kill switchu strona nie powinna się załadować, dopóki tunel nie zostanie ponownie nawiązany albo kill switch nie zostanie celowo wyłączony.

W systemie iOS kill switch jest egzekwowany na poziomie systemu, gdy profil VPN jest skonfigurowany z odpowiednimi opcjami. Snap VPN włącza kill switch domyślnie i nie udostępnia go jako opcjonalnego ustawienia — funkcja jest częścią standardowej konfiguracji, a nie ustawieniem, które można nieumyślnie wyłączyć.

Więcej o konfiguracji VPN i o tym, czego można od niego oczekiwać, znajdziesz w naszym wprowadzeniu do VPN oraz w przewodniku konfiguracji na iPhone.