1

Я использую Private Internet Access VPN, и он не предоставляет переключатель уничтожения для дистрибутивов Linux. Итак, я написал простой скрипт с использованием iptables.

После запуска Wireshark я обнаружил, что весь трафик в wlp6s0 идет только от моего публичного IP-адреса (IP-адрес VPN-провайдера). Итак, я просто заблокировал все другие IP-адреса на wlp6s0, чтобы в случае разрыва VPN-соединения все пакеты были сброшены.

Вот сценарий:

#!/bin/sh
IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
iptables -A OUTPUT -o wlp6s0 ! -d $IP -j DROP
iptables -A INPUT -i wlp6s0 ! -s $IP -j DROP

Этот скрипт, кажется, работает. Однако я не уверен, есть ли какой-то другой аспект, который я пропускаю. Может ли кто-то, кто знает больше о работе VPN и TUN/TAP, объяснить, достаточно ли хорош мой сценарий для защиты моей конфиденциальности в случае отключения VPN?

1 ответ1

1

В плане безопасности я вижу несколько возможных утечек:

  1. iptables вообще не блокирует трафик IPv6. Вы захотите добавить правила ip6tables, которые отражают ваши правила iptables.
  2. Возможно, что в какой-то момент у вас будет сетевой интерфейс, отличный от wlp6s0, который обращен к Интернету. Чтобы позаботиться об этом, я рекомендую правила, которые позволяют трафику пропускать и настраивать трафик (или любой другой интерфейс VPN), разрешать трафик через любой интерфейс к серверу VPN и блокировать весь другой трафик.
  3. Вы указываете только IP-адрес VPN-сервера, а не протокол или порт. Если VPN-сервер запускает и другие службы, вы пропускаете трафик на него в открытом виде.

Есть также несколько проблем юзабилити с правилами, которые у вас уже есть:

  1. Похоже, вы указываете свой VPN-сервер по имени хоста, а не по IP-адресу. Без исключения из ваших правил для DNS, вы не сможете разрешить это имя хоста, если вы еще не подключены к VPN. Очевидно, что самый простой способ обойти это - использовать IP вместо имени хоста, но вы не сможете сделать это, если он динамический. Безопасное устранение этой проблемы не так просто, как разрешение всего DNS-трафика на resolver1.opendns.com, так как тогда вы можете в конечном итоге пропустить весь свой DNS-трафик к ним.
  2. У вас нет исключения для DHCP, поэтому вы не сможете получить динамический IP-адрес. Если вы используете статический IP-адрес, это не имеет значения, но если вы этого не сделаете, это приведет к тому, что вы не сможете подключиться к сети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .