Дополнительные возможности OpenVPN по обеспечению безопасности виртуальной частной сети

Недоступны некоторые порты

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

  • OpenVPN TCP: 443 порт, он же порт SSL/HTTPS. Чаще всего именно им удаётся подключиться при ограниченности остальных портов.
  • OpenVPN UDP: 1194 порт;
  • OpenVPN UDP на серверах в России: 5004 порт, он же RTP. Меньше вероятность блокировки.
  • OpenVPN TCP/TUN: 995 порт. Используется по умолчанию в Android-клиенте.
  • IKEv2: 500 порт UDP для стандартного подключения, 4500 порт UDP в случае NAT;
  • PPTP: GRE с использованием 1723 порта.
  • L2TP: 1701 порт при использовании без шифрования,
  • L2TP/IPSec: 500 порт для стандартного соединения, 4500 порт в случае NAT-traversal.

Выберите протокол исходя из того, какие порты доступны в вашей сети. Общим правилом будет начать с OpenVPN TCP, а также OpenVPN UDP при подключении к серверам в России. Если эти подключения не прошли, попробуйте PPTP/L2TP.

Фильтрация по признакам VPN

Для предотвращения фильтрации по признакам VPN, а именно по заголовкам в момент подключения, используйте функцию «Хамелеон» доступную в нашем приложении для Windows и Android.

В приложении для Windows опция включается в Настройках, вкладка Общее, поставить галочку «Хамелеон» и обязательно выбрать «Тип подключения: OpenVPN TCP».

В приложении для Android опция находится в Настройках, Дополнительно.

Сравнение OpenVPN и IPsec

Существуют два варианта организации VPN: IPsec и OpenVPN. (я не беру в расчёт всякие проприетарные штуки, для которых требуются специальные клиенты и которые стоят малых и немалых денег).

IPsec

IPsec обычно используется в трёх конфигурациях: туннель (нет возможности пробиться за NAT, поскольку шифруется весь пакет, а nat его корёжит), транспорт (шифруется содержимое пакета, может идти за NAT) и транспорт + PPTP (L2TP), где IPsec занимается шифрованием трафика, идущего в туннеле образованного другой программой.

По сути, как таковой технологии «IPsec» не существует, есть только набор RFC которые описывают отдельные её части, как-то установление соединение, обмен ключами, как и чем шифровать. Причём алгоритм шифрования у IPsec свой. И, судя по записям в сети, в нём достаточно часто находят какие-то уязвимости.

В общем и целом IPsec — сложная технология, чистый IPsec поддерживается малым количеством клиентов, поэтому его используют только как средство шифрования трафика, поверх которого работает L2TP туннель. Так что помимо конфигурации собственно IPsec требуется настраивать ещё и что-то, обслуживающее L2TP туннели.

В Linux существует два стека драйверов (NETKEY, встроенный в ядро, и KLIPS, который написали разработчики OpenSwan), и несколько userspace приложений которые позволяют использовать эти драйверы. KLIPS чуть более совершенная версия стека IPsec, но поддерживается только openswan.

Непосредственно чистый IPsec используют в основном для соединения и работы в зашифрованой локальной сети нескольких серверов. Причём конфигурация сети может быть очень сложной.

В основном IPsec/L2TP выбирают в случаях когда сложность настройки сервера значительно меньше, чем сложность настройки большого количества клиентов. Достаточно выдать данные для доступа и почти в любой операционной системе пользователь сможет настроить подключение штатными средствами.

OpenVPN

OpenVPN может тоже работать в двух режимах, но имеет решающее преимущество — намного более качественная работа за NAT. Причём, в отличие от IPsec, обе стороны могут находиться за фаерволами, лишь бы был открыт тем или иным образом udp/1194.

Как по мне, OpenVPN обладает более прозрачной, чистой и понятной конфигурацией. Клиенты есть для всех OS, кроме iOS, хотя и часто требуют административных прав для установки.

Да и с точки зрения шифрования OpenVPN более привлекателен. Обмен ключами происходит аналогично IPsec при помощи алгоритма Диффи-Хелмана, а дальше весь трафик шифруется при помощи SSL, который и в браузере есть и где угодно.

Суммирую:

Стадия 2. Подготовка VDS

И подключаемся через него:

Нажимаем Да и попадаем в CLI:

CLI-1-1.jpg

Первым делом обновляем систему:

#apt-get update && apt-get upgrade -y  #apt-get dist-upgrade  

Локализуем

#dpkg-reconfigure locales  en_US ISO-8859-1  en_US.UTF-8 UTF-8  ru_RU.CP1251 CP1251  ru_RU.UTF-8 UTF-8  

И по-умолчанию выбираем ru_RU.UTF-8 UTF-8

Установим часовой пояс. Выберем свой город

#dpkg-reconfigure tzdata  

Установим пакет для обновления системы без перезапуска сервера

#apt-get install needrestart -y  

И перезагрузим

#reboot  

IPsec

Плюсы:

  • Построение топологии сетей отличной от звезды
  • Большое количество встроенных клиентов во всех OS, простота конфигурации клиентов.
  • OpenSwan + KLIPS в теории позволяют создавать наиболее производительные VPN сети, поскольку позволяет подключать аппаратные шифрующие устройства.

Минусы:

  • Плохая работа с NAT на одной стороне, если NAT на обеих сторонах — сразу нет.
  • Очень, нет ОЧЕНЬ сложная конфигурация сервера. Причём что в OpenSwan, который в книге про него назвали простым, что в racoon. Хотя racoon на мой взгляд и проще, в простых конфигурациях, и позволяет настраивать тонкие параметры системы (хотя в большинстве случаев это просто не нужно).
  • Роутеры могут в принципе не пропускать IPsec, даже если у них написано что они его поддерживают, потому что у каждого стека реализации IPsec есть свой Vendor ID и свой же список чужих Vendor ID с описанием того как с ним работать. И если какой-то узел не знает как работать — работать ничего не будет.
  • Достаточно долго подключается. В целом на подключение нужно где-то 1-2 секунды. Можно ускорить за счёт снижения безопасности.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий