A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.
Для киберпреступника выключатель безопасности – это кошмар. Это значительное препятствие, стоящее между ними и их целью. Если подключение к вашему VPN пропадет хотя бы на секунду из-за того, что ваш компьютер или телефон завис, выключится, или вы случайно отключите кабель – при условии, что у вас включен выключатель безопасности – никто не сможет получить доступ к этим данным.
Предварительные требования
Чтобы продолжить, вам понадобится:
- Файл конфигурации для подключения к вашему поставщику VPN. В этой статье используется NordVPN в качестве поставщика VPN.
- A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.
Установка простого брандмауэра (UFW)
В этом руководстве выключатель безопасности для Linux зависит от конфигурации брандмауэра. В первую очередь начнем с установки простого брандмауэра (UFW) на вашем устройстве и настройки брандмауэра для работы в качестве выключателя безопасности.
Прежде чем приступить, убедитесь, что ваша дистрибутив Linux обновлен, иначе ваш брандмауэр UFW может не работать ожидаемым образом. Например, UFW может не загружать настройки при запуске или добавленное/удаленное правило не загрузится.
1. Запустите команду sudo apt install ufw -y
для установки брандмауэра.
Брандмауэр UFW установлен по умолчанию на большинстве дистрибутивов Ubuntu, поэтому у вас возможно уже установлен UFW.
2. Запустите службу UFW командой sudo systemctl start ufw
.
3. Проверьте, успешно ли прошла установка UFW. Выполните команду sudo systemctl status ufw
, и если установка прошла успешно, вывод отобразит active (exited) зеленым цветом, как показано ниже.

4. Запустите UFW с помощью sudo ufw enable
. Нажмите Y, а затем Enter, когда вас спросят, хотите ли вы Продолжить выполнение операции (y|n)?

Разрешение протоколов удаленного доступа
Теперь, когда брандмауэр установлен, вам нужно настроить UFW для разрешения любых протоколов, которые вы хотите использовать с VPN.
Начните с того, чтобы убедиться, что вы не заблокированы на своем клиенте: вам может потребоваться войти по SSH, если что-то пойдет не так с вашим соединением OpenVPN. Если соединение прервется и вы не сможете войти по SSH, вам придется получить физический доступ к устройству, чтобы снова подключиться.
1. Разрешите соединения SSH с помощью команды sudo ufw allow ssh
. Брандмауэр UFW считывает порты и протоколы в файле /etc/services и открывает порты соответственно. Вы можете проверить вывод команды ниже.

Настоятельно рекомендуется добавить дополнительный уровень безопасности, требуя от ваших пользователей аутентификацию с использованием ключа SSH при подключении через OpenVPN. Эта процедура защитит от атак методом перебора паролей и несанкционированных подключений.
2. Далее вам нужно добавить правила, разрешающие протокол VNC, разрешив трафик на соответствующих портах.
По поводу протокола VNC, он является необязательным. VNC позволяет удаленный доступ, аналогичный SSH. VNC предоставляет графическую консоль, в то время как SSH позволяет использовать только текстовую консоль. Разрешите трафик VNC с помощью команды sudo ufw allow 5901:5910/tcp
.
Эти команды выведут результат, аналогичный приведенному ниже.

3. После добавления ваших правил убедитесь, что они успешно применены. Команда sudo ufw show added
выведет список всех добавленных правил, как показано ниже.

Настройка VPN Kill Switch
В этом разделе вы узнаете, как настроить фактический kill switch с использованием брандмауэра UFW. Для начала выполните следующие две команды.
sudo ufw default deny outgoing
sudo ufw default deny incoming
Команда ufw default deny
блокирует весь исходящий/входящий трафик на вашем устройстве, за исключением явно разрешенного соединения SSH и удаленных протоколов, установленных в предыдущих разделах. Результат выполнения команд можно увидеть на скриншоте ниже.

Затем добавьте исключение в правила UFW, чтобы ваше устройство могло подключаться к серверу VPN: вам понадобится ваш файл конфигурации сервера VPN. В этом руководстве файл OpenVPN назван ata.ovpn и скачан с сайта NordVPN.
Имя вашего файла конфигурации OpenVPN может отличаться. В этом руководстве используется соглашение о наименовании “ata”, но не стесняйтесь давать свое собственное имя!
Затем посмотрите внутрь файла конфигурации OpenVPN ata.opvn с помощью команды sudo head /etc/ata.ovpn
. Полученный результат содержит информацию, такую как порт, протокол и IP-адрес сервера VPN, к которому вы подключаетесь, с NordVPN, показанным в качестве примера ниже.
Чтобы создать правильную команду UFW, обратите внимание на порт, протокол и информацию о публичном IP-адресе, полученную из файла конфигурации.

Затем создайте команду ufw allow out
следующим образом: sudo ufw allow out to 69.28.83.134 port 1194 proto udp
. Как видите, используемый IP-адрес и порт взяты из строки конфигурации, начинающейся с remote
, а протокол – из строки, начинающейся с proto
.
В этом примере используется NordVPN в качестве провайдера VPN. Для NordVPN порт 1194 UDP должен быть открыт. Если, например, вы используете Express VPN, должен быть открыт порт 1195 UDP, а не порт 1194. У каждого провайдера VPN может быть свои уникальные порты UDP.
Создание исключения в брандмауэре для OpenVPN
Конечно, для правильной работы необходимо разрешить OpenVPN через брандмауэр. До этого момента вы заблокировали весь входящий и исходящий трафик за исключением нескольких портов.
Для начала вам нужно найти имя сетевого интерфейса, который использует клиент OpenVPN. Запустите команду ifconfig
, чтобы перечислить все настроенные имена сетевых интерфейсов, как показано ниже.

Обратите внимание на сетевой интерфейс с именем tun0 в результирующем списке. Интерфейс tun0 – это интерфейс VPN, через который маршрутизируется весь входящий и исходящий трафик, и интерфейс, который нужно разрешить. Это виртуальный интерфейс, добавленный при загрузке, что означает, что это не физическое соединение. Этот интерфейс является интерфейсом по умолчанию в OpenVPN.
Добавьте исключение брандмауэра для найденного вами интерфейса туннеля VPN с помощью команды ifconfig
, чтобы принудить весь трафик через него. В противном случае доступа к интернету не будет, и ваша защита от выключения не сработает. Запустите команду ниже, чтобы добавить исключение для трафика OpenVPN на интерфейсе tun0
.

Некоторые приложения, такие как доступ к голосовому чату во время игры, требуют входящих соединений через VPN. Чтобы разрешить входящие соединения, выполните следующую команду:

Настройка клиента OpenVPN
В этом заключительном разделе вы настроите клиент OpenVPN на работу как сервис с использованием ранее созданной конфигурации.
Начните с переименования вашего файла с расширением ata.opvn в **(ваше имя файла может отличаться) в файл ata.conf. Чтобы запустить клиент OpenVPN как фоновую системную службу, имя файла должно иметь расширение *.conf. Кроме того, вы переместите файл в каталог /etc/openvpn.
Переместите конфигурационный файл с помощью команды sudo mv /root/ata.ovpn /etc/openvpn/ata.conf
.

Теперь перейдите в каталог /etc/openvpn и убедитесь, что файл там есть.

С конфигурационным файлом в каталоге /etc/openvpn запустите службу клиента OpenVPN с помощью команды systemctl
. Чтобы запустить службу, выполните: sudo systemctl start [email protected]
.
Часть “ata” в имени клиента OpenVPN происходит от имени используемого конфигурационного файла. Ваше может отличаться в зависимости от имени файла.

Чтобы убедиться, что служба OpenVPN запущена, используйте команду systemctl status
следующим образом.
Как показано ниже, отображается зеленый статус active (running) службы OpenVPN.

Наконец, вам необходимо настроить ваше устройство на автоматическое подключение к вашей службе VPN. Автоматическое подключение к VPN гарантирует, что OpenVPN всегда будет работать, даже если вы перезапустите свою машину.
Выполните команду sudo systemctl enable [email protected]
, и теперь, как только служба OpenVPN запустится, ваше устройство автоматически подключится к VPN.

Заключение
Этот статья показала вам все необходимые шаги для настройки killswitch для вашего VPN-соединения в Linux. Kill switch отключает сетевое соединение с вашего компьютера, если соединение неожиданно обрывается, предотвращая утечки данных и обеспечивая вашу безопасность в сети.