Fail-open czy fail-closed: co decyduje kill switch VPN
Oba terminy opisują, co się dzieje, gdy tunel znika, a nie jak silne jest szyfrowanie. Zakres, który wybierzesz, decyduje, czy ruch naprawdę wycieka.
Mit głosi, że fail-closed to ustawienie bezpieczne, a fail-open — niedbałe. Oba opisują, co dzieje się z ruchem po zniknięciu tunelu, i żaden nie zmienia tego, jak dobrze ten tunel szyfruje. Polityka fail-closed z długą listą wyjątków może wyciekać więcej niż polityka fail-open na urządzeniu, które nigdy nie opuszcza sieci biurowej. Wybierz wynik, który potrafisz wyjaśnić osobie odpowiedzialnej za ruch.
Etykieta opisuje wynik, nie siłę
Słownictwo pochodzi z systemów sterowania: fail-open zezwala na działanie, gdy komponent zawiedzie, fail-closed odmawia. W przypadku VPN zawodzącym komponentem jest tunel, a pytanie brzmi, czy ruch może kontynuować inną drogą. Wybór szyfru, długość klucza i protokół to osobne decyzje.
Zamieszanie trwa, bo kill switch brzmi jak funkcja bezpieczeństwa, a dostawcy tak go sprzedają. Mechanicznie to reguła routingu i zapory, która blokuje ruch, jaki tunel miał przenosić, wdrożona w kliencie, w systemie operacyjnym lub na bramie. Warstwa, która ją egzekwuje, określa też jej zasięg, a reguła w jednej warstwie nie obejmuje drugiej. Reguła na bramie nie ochroni laptopa, który zdążył przejść do innej sieci.
Jak wygląda każdy wynik
Ta sama polityka może zachowywać się bardzo różnie w zależności od awarii, na którą trafisz, więc porównuj zdarzenia, a nie etykiety.
| Event | Fail-open result | Fail-closed result |
|---|---|---|
| Tunnel drops while a transfer runs | Transfer continues on the direct path | Transfer stalls until the tunnel returns |
| Client exits or crashes | Rules disappear with the process | Rules persist only if the OS owns them |
| Device boots before sign-in | Normal network access | Blocked until the VPN connects |
| Captive portal needed | Portal loads normally | Portal unreachable without an exception |
| IPv6 not carried by the tunnel | IPv6 traffic leaks directly | Leaks too, unless the block covers IPv6 |
Ostatni wiersz to ten, który łapie ludzi zakładających, że kill switch to jeden przełącznik. Reguła napisana dla tablicy routingu IPv4 pozostawia domyślną trasę IPv6 nietkniętą, a aplikacja może jej ochoczo używać.
Zasięg decyduje o wycieku
Zapytaj, co obejmuje polityka, zanim zapytasz, który to tryb. Reguła dla jednej aplikacji chroni jedną aplikację i nic więcej, reguła dla całego urządzenia chroni wszystko poza wyjątkami, a reguła na bramie chroni tylko ruch, który do niej dociera. DNS potrzebuje własnej decyzji, bo zapytanie wysłane do lokalnego resolvera może ujawnić nazwy nawet wtedy, gdy ładunek jest zablokowany.
Wyjątki dla sieci lokalnej istnieją dla drukarek, przesyłania obrazu i portali captive, a każdy z nich jest dziurą w blokadzie. Udokumentuj je obok polityki, bo osoba, która odziedziczy konfigurację, inaczej odczyta fail-closed jako absolut.
Ponowne łączenie i blokowanie to także osobne mechanizmy. Klient może łączyć się ponownie automatycznie, nigdy nie blokując, albo blokować bez ponownego łączenia, a kombinacja decyduje, czego doświadcza użytkownik podczas awarii.
Udowodnij to podczas przejścia
Testowanie stanu ustalonego niczego nie dowodzi. Celowo zerwij tunel i wypróbuj aplikację, która miała być chroniona, a potem sprawdź, czy dotarła do sieci. Porównaj wskaźnik klienta z wynikiem, bo wskaźnik, który nadal mówi połączono, to dokładnie ten przypadek, dla którego istnieje polityka. Jeśli chroniona aplikacja zadziała, nazwa trybu nie ma znaczenia; masz wyciek.
Powtórz to od zimnego rozruchu przed zalogowaniem, przy przejściu z Wi-Fi na sieć komórkową i z chronioną aplikacją w tle. Jeśli blokadę egzekwuje proces klienta, sprawdź też, co się dzieje, gdy ten proces zostanie zabity, a nie czysto zamknięty.
Na koniec sprawdź ścieżkę sprzątania. Jeśli klient zostanie odinstalowany, gdy jego reguły są aktywne, użyj udokumentowanej procedury usuwania dostawcy zamiast wyłączać zaporę systemu operacyjnego, która usuwa niezwiązaną ochronę, nie odpowiadając, kto jest właścicielem pozostałej reguły.