Безопасность
Kill switch и защита от утечек VPN: подробный разбор 2026
§ в этой статье — 21 разделов
- Что такое kill switch — точно
- Системный уровень vs app-level
- App-level kill switch
- Системный (firewall-level) kill switch
- Особенности по платформам
- Утечки, которые kill switch может НЕ покрывать
- DNS leak
- IPv6 leak
- WebRTC leak
- Browser fingerprint
- Misconfigured split tunneling
- Реализации у крупных провайдеров
- Mullvad
- ProtonVPN
- Surfshark
- NordVPN
- Российские провайдеры
- Тест kill switch
- Чек-лист настройки VPN с защитой от утечек
- Резюме
- Связанные материалы
Kill switch — функция VPN-клиента, которая блокирует весь интернет-трафик устройства в момент, когда VPN-туннель падает. Без kill switch разрыв туннеля означает, что трафик на доли секунды (или минуты, если разрыв незаметен) идёт напрямую через ваш реальный IP, обходя VPN. Для большинства пользователей это раздражение, для журналистов и активистов — компрометация.
В 2026 году kill switch есть у большинства приличных VPN, но реализован он сильно по-разному. Разберём, что значит «системный уровень», что значит «app-level», какие утечки kill switch покрывает, а какие нет.
Что такое kill switch — точно
Kill switch — механизм, при котором VPN-клиент при потере туннеля блокирует исходящий трафик устройства до восстановления соединения. Цель — не дать ни одному пакету уйти в открытую сеть с реального IP пользователя.
Сценарий, который покрывает kill switch:
- Вы подключены к VPN, скачиваете торрент.
- Сервер VPN падает / сеть нестабильна / роутер перезагружается.
- VPN-клиент детектит разрыв (heartbeat-пинги не доходят).
- Без kill switch: ОС автоматически переключается на физический интерфейс, торрент-клиент продолжает работу с реального IP. Правообладатели логируют ваш IP, отправляют претензию провайдеру.
- С kill switch: вся сеть блокируется, торрент-клиент замирает, ничего не уходит. Когда VPN восстановится — продолжается.
Это самый частый сценарий. Менее очевидные:
- Wi-Fi на ноутбуке отвалился, переключился на 4G — туннель пересоздаётся, но реальные пакеты могут проскочить.
- Спящий режим. Ноут просыпается, сеть восстановилась, VPN не успел подключиться — браузер шлёт запрос на проверку почты с реального IP.
- Обновление ОС. Сетевой стек перезапускается, VPN отваливается.
Системный уровень vs app-level
Это самое важное различие, на которое многие не обращают внимания.
App-level kill switch
App-level kill switch — это функция внутри VPN-клиента: если клиент видит, что туннель отвалился, он останавливает указанные приложения. Чаще всего настраивается списком: «закрыть Chrome, торрент-клиент, Telegram при разрыве».
Слабые места:
- Если упадёт сам VPN-клиент — kill switch не сработает (нет процесса, который мониторит). Системный трафик уже идёт мимо.
- Только указанные приложения блокируются. Всё остальное (системные обновления, антивирус, фоновые сервисы) идёт по обычному маршруту.
- Race condition на запуске. При старте системы приложения могут запуститься раньше VPN. Трафик уходит без защиты.
Реализуют app-level kill switch: ExpressVPN (старая реализация на Windows), Surfshark (на части платформ), большинство мобильных клиентов на iOS.
Системный (firewall-level) kill switch
Системный kill switch — это правило в файрволе ОС, которое запрещает любой исходящий трафик через любой интерфейс, кроме VPN-туннеля. Реализуется через nftables/iptables на Linux, pf на macOS, WFP (Windows Filtering Platform) на Windows.
Принцип:
- VPN-клиент устанавливает правила файрвола: «default deny, allow only через tun0».
- Если туннель падает — tun0 исчезает, правила остаются, всё блокируется.
- Если VPN-клиент крашится — правила всё равно действуют (они часть ОС, не клиента).
- На запуске ОС правила применяются до старта приложений — race condition исключён.
Кто реализует системный kill switch:
- Mullvad — да, на всех платформах. Через WFP на Windows, nftables на Linux, pf на macOS. Mullvad называет его «Always require VPN» в Network protocols → Kill switch.
- ProtonVPN — да, на Windows/macOS/Linux. На мобильных — ограниченно (платформенные ограничения).
- IVPN — да, на всех платформах. Один из эталонов реализации.
- AzireVPN — да, через нативный WireGuard-клиент.
- NordVPN — да на десктопе, app-level на iOS.
- ExpressVPN — «Network Lock», системный на Windows/macOS.
- Surfshark — да на десктопе, app-level на мобильных.
Особенности по платформам
Windows. WFP — мощный механизм, kill switch работает надёжно. После креша приложения правила остаются до перезагрузки или вручную не очистить.
macOS. pf или packet filter API. Apple ограничивает доступ, но VPN-клиенты с правом kernel extension (раньше) или Network Extensions (с macOS 11+) реализуют адекватно.
Linux. Самая гибкая платформа. На нативном wg-quick можно прописать PreUp/PostDown правила, чтобы трафик блокировался при падении интерфейса. Mullvad-клиент это делает автоматически.
iOS. Apple предоставляет API «On Demand VPN» и «Always-on VPN» — туннель автоматически переподключается, и есть фича блокировки трафика при разрыве. Но реализовать «системный kill switch» в полном смысле невозможно — Apple ограничивает.
Android. Начиная с Android 7, есть «Always-on VPN» + «Block connections without VPN» в настройках системы. Это встроенный kill switch уровня ОС, не зависит от VPN-клиента. Включается в Settings → Network → VPN → Advanced.
Утечки, которые kill switch может НЕ покрывать
Kill switch блокирует пакеты с реального IP. Но есть утечки, которые происходят до того, как пакет уходит, или на других слоях.
DNS leak
DNS-запросы могут идти через локального провайдера, даже если основной трафик через VPN. Это происходит, если:
- Браузер использует свои собственные DNS-настройки (Chrome с DoH, Firefox с DoH).
- ОС кеширует DNS-сервер локального провайдера.
- Smart DNS routing (фича некоторых клиентов) направляет DNS на быстрый сервер.
Решение: VPN-клиент должен форсировать DNS через VPN-сервер и блокировать все DNS-пакеты с device на сторонние резолверы.
Проверка: DNS leak: как проверить и починить VPN в 2026.
IPv6 leak
Многие VPN маршрутизируют только IPv4. Если у вашего ISP есть IPv6, и приложение делает IPv6-запрос — он идёт напрямую, мимо туннеля.
Решение: VPN-клиент должен либо туннелировать IPv6, либо полностью отключить IPv6 на устройстве. Большинство приличных VPN отключают.
Проверка: зайти на test-ipv6.com. Если показывает IPv6-адрес и он не от VPN — утечка.
WebRTC leak
WebRTC — браузерный API для P2P-соединений (видеозвонки, голосовые чаты). Он использует STUN-серверы, чтобы узнать свой публичный IP. STUN-запрос идёт UDP-пакетом, и может миновать VPN, если конфигурация неправильная.
В результате сайт может через JavaScript получить ваш реальный IP, даже если вы под VPN.
Решение: на уровне браузера. Подробно: WebRTC leak: как закрыть.
Browser fingerprint
Не утечка в строгом смысле, но браузер выдаёт уникальный отпечаток (canvas, audio, шрифты, плагины, разрешение экрана). Это не зависит от VPN — отпечаток виден сайту после установления соединения.
Решение: Tor Browser или Mullvad Browser, специально борющиеся с фингерпринтингом.
Misconfigured split tunneling
Split tunneling — фича, которая позволяет указать, какие приложения идут через VPN, а какие напрямую. Удобно (Steam-загрузки напрямую, браузер через VPN), но опасно: если неправильно настроить, ваш браузер пойдёт напрямую, и вы не заметите.
Если включаете split tunneling — проверяйте через DNS leak test, какие именно приложения идут через туннель.
Реализации у крупных провайдеров
Mullvad
Mullvad строит kill switch как дефолтное состояние, а не опцию. Их клиент всегда работает в режиме default-deny: трафик идёт через VPN или не идёт вообще. Через WFP/nftables/pf — реальный системный kill switch.
Дополнительно Mullvad:
- Форсирует DNS через VPN-сервер с DoH.
- Блокирует IPv6 или туннелирует через WireGuard.
- Запрещает device-локальные DNS-запросы.
Один из самых строгих kill switch в индустрии. См. VPN без логов 2026 для контекста.
ProtonVPN
ProtonVPN — системный kill switch на десктопе плюс «Permanent kill switch» — режим, при котором даже без активного VPN-сессии трафик блокируется. Это полезно, если устройство забрали через границу: ноут включается, ничего не утекает.
На iOS реализован через On Demand VPN — туннель переподключается автоматически.
Surfshark
Surfshark — kill switch как опция в настройках. На десктопе системный, на iOS — app-level через Apple API. Дополнительно фича MultiHop, которая не связана с kill switch напрямую, но добавляет точку, где можно сломаться.
NordVPN
NordVPN — kill switch на десктопе через WFP, на мобильных — app-level. Дополнительно Threat Protection — блокировка malware-доменов на уровне DNS, частично закрывает risk при отвале VPN (DNS-запросы заворачиваются через Nord-фильтр).
Российские провайдеры
Durev VPN, Hidemy.name, AdGuard VPN — kill switch обычно реализован в десктопных приложениях, на мобильных — через настройки ОС (Android Always-on VPN). Качество реализации варьируется.
Тест kill switch
Чтобы проверить работу kill switch:
- Подключитесь к VPN.
- Откройте сайт «what is my ip» (например,
ifconfig.co) — убедитесь, что показан VPN-IP. - Не отключая VPN-приложение, вручную отключите сетевой адаптер (Wi-Fi или Ethernet).
- Дождитесь восстановления сети.
- Если kill switch работает — браузер не сможет загрузить сайт до восстановления VPN-туннеля. Если kill switch не работает — браузер покажет реальный IP в момент между восстановлением сети и переподключением VPN.
Альтернативный тест:
- Подключитесь к VPN.
- Найдите процесс VPN-клиента (Task Manager / Activity Monitor /
ps). - Принудительно убейте процесс (kill -9).
- Если kill switch системный — трафик блокируется. Если app-level — трафик идёт через реальный IP.
Чек-лист настройки VPN с защитой от утечек
- Системный (firewall-level) kill switch — включён.
- DNS through VPN tunnel — форсировано, без сторонних резолверов.
- IPv6 — отключён или туннелируется через VPN.
- WebRTC — отключён в браузере или ограничен расширением.
- Always-on VPN — включён в системных настройках мобильных ОС.
- Permanent kill switch / Lockdown mode — для chronical-приватности при выключенном клиенте.
- Periodic leak test — раз в месяц проверять через browserleaks.com.
Резюме
Kill switch — не маркетинговая фича, а критический компонент VPN с реальной защитой от утечек. Системный (firewall-level) kill switch фундаментально надёжнее app-level. Лучшая реализация — у Mullvad, ProtonVPN, IVPN, AzireVPN (приватность-ориентированные сервисы строят это как основу). У mainstream-провайдеров (NordVPN, ExpressVPN, Surfshark) — тоже есть, но качество варьируется по платформам.
Помните: kill switch покрывает только утечки IP/трафика. DNS, IPv6, WebRTC — отдельные плоскости, требующие отдельной настройки. Реально приватный сетап = системный kill switch + блокировка IPv6 + forced VPN DNS + WebRTC-disabled браузер.
Если ваша задача — обходить блокировки, kill switch — приятный бонус. Если ваша задача — приватность с реальной моделью угроз, kill switch — обязательное минимум.
Связанные материалы
читать дальше
Похожие статьи
-
Безопасность
DNS leak: как проверить и починить VPN в 2026
Что такое DNS leak, какие тесты использовать (dnsleaktest.com, browserleaks), как чинить — force VPN DNS, отключить smart routing, проверить настройки браузера.
-
Безопасность
WebRTC leak: как браузер выдаёт ваш IP даже под VPN
WebRTC STUN-серверы могут выдать реальный IP даже под VPN. Как проверить через browserleaks, как починить в Chrome, Firefox, Safari, Brave. Расширения и про каждый браузер.
-
Безопасность
ML-классификаторы против VPN 2026: как нейросети ловят трафик
ТСПУ применяет XGBoost и random forest на packet timings для классификации зашифрованного трафика. Что обходит ML: DAITA, padding, traffic shaping. Технический разбор.