Pptp vs l2tp
Содержание:
- Введение
- IKEv2
- Что такое протокол L2TP?
- Что такое VPN протокол?
- Отличие PPPoE от DHCP в настройках роутера
- Запуск
- Итак, зачем вообще использовать OpenVPN и когда стоит это делать?
- Скорость выполнения арифметических команд
- Конфигурация протокола IPsec
- L2TP
- Аутентификация
- Настройка pptp сервера в mikrotik
- Установите плагин OpenVPN Client, чтобы сгенерировать конфигурацию.
- Экспорт файла конфигурации OpenVPN для клиентов
- Final Word
- Disadvantages of PPTP Protocol
- Протокол туннелирования
- Рекомендации и советы
- PPTP – Outdated and not secure
- Разрыв VPN соединения и смена ключей
- PPTP
Введение
IPsec/L2TP – повсеместно используемый VPN протокол, применяемый в Windows и других операционных системах. Все версии Windows, начиная с Windows 2000, имеют встроенную поддержку этого протокола и не требуют сторонних клиентов (например, OpenVPN), что делает его более удобным. Однако, значительно сложнее настроить серверную сторону на Linux, поскольку задействованы как минимум 3 слоя: IPsec, L2TP и PPP.
- IPsec обеспечивает конфиденциальность сетевого соединения и авторизации клиента (системы)
- С L2TP туннель настроен так, что VPN трафик прозрачно проходит через IPsec
- PPP (протокол точка-точка) контролирует авторизацию пользователей
Это руководство не охватывает установку DHCP, RADIUS, Samba или Инфраструктуры Открытых Ключей (PKI). Оно также совсем не объясняет, как настраивать Linux-клиентов, хотя этот шаг может быть довольно легко получен из руководства. Будет освещена часть конфигурации Windows-клиентов с целью устранения неполадок в настройке сервера.
Условные обозначения
В этом руководстве будут использованы следующие условные обозначения (пример настроек):
- Домен – example.com
- Имя сервера – vpn.example.com
- Имя файла сертификата CA – ca.crt
- Сертификат сервера – vpn.example.com.crt
- Ключ сервера – vpn.example.com.key
- Сертификат клиента – client.example.com.crt
- Ключ клиента – client.example.com.key
IKEv2
Это протокол туннелирования (протокол обмена ключами, версия 2), разработанный Cisco и Microsoft, он встроен в Windows 7 и последующие версии. Протокол допускает модификации с открытым исходным кодом, в частности для Linux и других платформ, также поддерживаются устройства Blackberry.
Он хорошо подходит для установки автоматического VPN-подключения, если интернет-соединение периодически разрывается. Пользователи мобильных устройств могут воспользоваться им как протоколом для беспроводных сетей по умолчанию — он очень гибок и позволяет без труда переключать сети. Кроме того, он прекрасно подойдет для пользователей Blackberry — это один из немногих протоколов, с поддержкой подобных устройств. Хотя IKEv2 доступен на меньшем количестве платформ по сравнению с, например, IPSec, он считается достаточно хорошим протоколом с точки зрения стабильности, безопасности и скорости работы.
Плюсы
- Высокая степень безопасности — поддержка различных шифров, в частности 3DES, AES, AES 256.
- Также поддерживает устройства Blackberry.
- Стабильно подключается снова после разрыва соединения или смены сетей
- Просто установить и настроить, по крайней мере, для пользователя
- Быстрее, чем L2TP, PPTP и SSTP
Минусы
- Поддерживает малое количество платформ.
- Порт UDP 500 блокируется проще, чем решения на основе SSL, как, например, SSTP или OpenVPN
- Исходный код не открыт
- Установка на сервер довольно трудная, это может вызвать потенциальные проблемы
Что такое протокол L2TP?
L2TP или протокол туннелирования уровня 2 (L2TP) является результатом партнерства между Cisco и Microsoft. Он был создан для обеспечения более безопасного протокола VPN, чем PPTP. L2TP – это протокол туннелирования, такой как PPTP, который позволяет пользователям получать удаленный доступ к общей сети.
L2TP VPN – это комбинированный протокол, который имеет все функции PPTP, но работает по более быстрому транспортному протоколу (UDP), что делает его более дружественным к брандмауэрам. Он шифрует данные с использованием 256-битного шифрования и поэтому использует больше ресурсов ЦП, чем PPTP. Однако повышенные издержки, необходимые для управления этим протоколом безопасности, заставляют его работать медленнее, чем PPTP.
Что такое VPN протокол?
Виртуальные частные сети (VPN) и протоколы VPN — это не одно и то же. VPN передает ваш трафик через зашифрованные туннели на VPN-серверы, которые назначают вашему устройству новый IP-адрес. Протоколы VPN — это наборы программ и процессов, которые определяют, как фактически формируется этот туннель. Каждый из них представляет собой отдельное решение проблемы безопасного, частного и анонимного общения в интернете. Ни один протокол VPN не идеален. Каждый из них может иметь потенциальные уязвимости, задокументированные или еще не обнаруженные, которые могут или не могут угрожать вашей безопасности.
Отличие PPPoE от DHCP в настройках роутера
Еще один популярный вопрос от новичков — чем отличается протокол PPPoE от DHCP и что лучше. Сразу скажу, что между этими двумя типами подключения к интернету вообще нет ничего общего. PPPoE, как мы уже выяснили, это создание туннельного подключение поверх Ethernet. DHCP — это способ автоматического получения настроек IP адреса, шлюза и маски для вашего коннекта.
Не вдаваясь в подробности, DHCP лучше, так как он не прерывает соединение с интернетом, в отличие от PPPoE, который при выключении роутера или компьютера разрывает его. Но думаю, что дилемма, что выбрать PPPoE или DHCP, возникает именно при настройке wifi роутера. Здесь выбирать нужно не вам — тип подключения уже заранее определен поставщиком услуг. Вам нужно лишь узнать правильный тип и установить его. После чего ввести необходимые данные для авторизации. К слову, у DHCP коннект устанавливается автоматически без указания какого-либо логина и пароля.
Запуск
Для проверки настроек можно использовать две версии запуска:
- ручную;
- автоматическую.
Второй вариант рекомендуется использовать для повседневного применения.
Если вы запускаете вручную технологию на Windows, выполните следующие действия:
- запустить OpenVPN GUI от имени администратора;
- в правом углу снизу появляется иконка;
нажать ее и выбрать опцию подключения.
Для Linux порядок действий следующий:
- перейти в каталог с конфигурационным файлом cd /etc/openvpn;
- ввести команду openvpn —config /etc/openvpn/client.conf или systemctl start openvpn и service openvpn start;
Если вы запускаете автоматически технологию на Windows, выполните следующие действия:
- открыть службу и найти OpenVPNService;
- перевести в режим автозапуска.
Для Linux порядок действий следующий:
- разрешить автозапуск через команду systemctl enable openvpn;
- для старых версий CentOS / Red Hat / Fedora актуальна команда chkconfig openvpn on;
- для Ubuntu / Debian – update-rc.d openvpn defaults.
Итак, зачем вообще использовать OpenVPN и когда стоит это делать?
Основная причина использования протокола OpenVPN заключается в том, что он очень безопасный, действительно стабильный и работает на многих платформах. Большинство экспертов по безопасности рекомендуют всегда использовать OpenVPN при подключении к интернету. Как минимум потому, что это “прозрачный” протокол, то есть распространяется с открытым исходным кодом).
Что касается случаев использования OpenVPN, то этот VPN-протокол подходит для любых случаев. Всегда, когда вам нужно обезопасить интернет-подключение, будь то онлайн-игры , использование торрентов или анонимное информирование. OpenVPN также подходит когда вам нужно обойти фаервол, независимо от того, пытаетесь ли вы открыть геоблокированный контент или просто просматриваете веб-сайты на работе или в университете.
Скорость выполнения арифметических команд
В тестировании, суть которого объясняется в следующем абзаце, участвовали устройства разных поколений:
- Asus: RT-AC68U (1600MHz*), RT-AC56U (1000MHz*/800MHz), RT-AC66U (662MHz*/600MHz), RT-N66U (662MHz*), RT-N66U B1 (600MHz), RT-N14U (580MHz), RT-N65U (500MHz), RT-N56U (500MHz), RT-N15U (500MHz), RT-N16 (533MHz*/480MHz), RT-N10U (480MHz*/300MHz), WL-500gP V1 (300MHz*/264MHz), WL-500gP V2 (240MHz)
- Netgear: WNR3500L V1 (453MHz), WNR3500L V2 (480MHz)
- Zyxel: Keenetic первого семейства (384MHz), Keenetic II Giga (700MHz)
- D-Link DIR-320 rev. A1 (240MHz)
- TP-Link TL-MR3020 (400MHz).
Внутри скобок мы указываем тактовую частоту. Если есть звёздочка – использовался разгон. По результатам тестов производительности можно судить о том, насколько хорошо устройство будет справляться с шифрованием «VPN». Заметим, что операции над числами с плавающей точкой в реализации протокола VPN никогда не используются, хотя скорость выполнения этих операций мы подвергли исследованию тоже. О том, почему не все роутеры одинаково полезны, читайте дальше.
График с результатом тестирования
Нас интересовало, насколько быстро процессор роутера может вычислять последовательность цифр, составляющую запись числа «е» и числа «пи». В каждом из этих алгоритмов используется целочисленная арифметика и работа с памятью (RAM). Скорость записи и чтения из памяти была протестирована отдельно. Так же, как скорость работы арифметики с плавающей точкой. Итого, число разных программных тестов составило 4.
Программы позволяют определять только время решения задачи (в секундах). Так что, производительность нужно оценивать по принципу «меньше – лучше»:
Диаграмма скорости выполнения тестов
Заметим, что в некоторых случаях задача с плавающими числами решалась быстрее, чем за одну секунду. Иногда время выполнения теста было близким к нулю (на графике столбец не отображается)
Всё это говорит о наличии аппаратного сопроцессора, что не так уж и важно, если речь идёт о скорости работы VPN-протокола
Выводы, получаемые из графика
Если нужна скорость связи не более 50 Мбит/с, подойдёт практически любой роутер (здесь мы говорим только о производительности, а не о надёжности). Такой вывод можно сделать из отзывов пользователей, подключающихся к провайдеру через PPTP-соединение. Если говорить о протоколе L2TP, данную цифру (50 Мбит/с) нужно делить на 2. Как мы отмечали выше, данный протокол является самым «тяжёлым».
Скорость маршрутизации «Keenetic Giga»
Рассматривая график из предыдущей главы, можно обратить внимание вот на что – большинство роутеров выполнили тест «Memory Bench» примерно за 2 секунды. Но для некоторых устройств, как легко заметить, время выполнения теста составило более 4-х секунд
Выводы можете сделать сами: медленная системная шина будет снижать скорость шифрования. По-другому не может быть.
Конфигурация протокола IPsec
Чтобы настроить протокол IPsec вместе с протоколом L2TP, нам нужно будет выполнить всего три действия. Первый — включить «Мобильных клиентов», то есть VPN удаленного доступа. Второй — включить фазу 1 IPsec, а затем настроить фазу 2 IPsec.
Настроить «Мобильные клиенты»
Это одна из наиболее важных частей, потому что если мы перейдем в раздел «Туннели», мы создадим VPN-туннель типа «сеть-сеть», а то, что мы хотим сделать с IPsec, — это настроить VPN для удаленного доступа, чтобы разные клиенты.
В этом меню мы включаем «Включить поддержку мобильного клиента IPsec» и выбираем «Локальная база данных», хотя мы будем использовать ее, потому что это для аутентификации xAuth. Нажимаем на сохранить.
Как только мы нажмем «Сохранить», нам также нужно будет нажать «Применить изменения», а затем нажать зеленую кнопку, обозначающую «Создать фазу1».
Настроить IPsec Phase 1
В этом меню нам нужно будет правильно настроить протокол IPsec, чтобы использовать его с L2TP, не все конфигурации будут работать, кроме того, в зависимости от используемого VPN-клиента (Android, Ios, Windows …) Конфигурация безопасности может измениться, поскольку не все операционные системы поддерживают лучшие шифры VPN. По умолчанию мы увидим следующее меню, в котором мы выбрали IKEv2, который несовместим с протоколом L2TP / IPsec, который мы хотим настроить.
Для правильной работы мы должны настроить следующие параметры:
- Главная Информация
- Версия обмена ключами: IKEv1, если выберем любую другую, работать не будет.
- Интернет-протокол: IPv4 или IPv6
- Интерфейс: Интернет WAN
- Описание: ставим описание.
- Предложение этапа 1 (аутентификация)
- Метод аутентификации: взаимный PSK
- Режим переговоров: агрессивный; если мы выберем «Основной», это будет более безопасно, но менее гибко, и мы можем помешать правильному подключению VPN-клиента. Позже, если все работает с «Aggresive», мы можем проверить, работает ли и с «Main».
- Мой идентификатор: Отличительное имя пользователя — redeszone@redeszone.net или как хотите.
- Предложение этапа 1 (Шифрование
Алгоритм шифрования: 128-битный AES, SHA1, DH Group 2 (1024-битный).
)
pfSense поддерживает более надежное шифрование, чем это, которое мы настроили, но проблема в том, что VPN-клиенты, которые будут подключаться, не поддерживают более высокий уровень безопасности. Чтобы настроить его с максимальной безопасностью, мы можем пройти тестирование на основе «полученных предложений» IPsec, которые мы получаем от клиента, таким образом, мы выберем наиболее безопасный из всех.
Остальные параметры конфигурации можно оставить без изменений с параметрами по умолчанию.
По завершении мы нажимаем «Сохранить», и теперь мы попадаем в главное меню, где у нас есть все VPN-туннели с IPsec, нам нужно будет нажать на единственный созданный и на «Показать записи фазы 2», а затем на «Create Phase 2», чтобы продолжить.
Настроить IPsec Phase 2
В этом меню конфигурации мы должны поместить следующее:
- Главная Информация
- Режим: транспорт
- Описание: описание, которое мы хотим.
- Предложение этапа 2 (SA / Обмен ключами)
- Протокол: ESP
- Алгоритмы шифрования: 128-битный AES
- Алгоритмы хеширования: выбираем SHA-1 и SHA-256
- Группа ключей PFS: выключена, протоколом не поддерживается.
Остальные параметры конфигурации можно оставить по умолчанию.
В главном меню «IPsec / Tunnels» мы можем увидеть сводку всего, что мы настроили.
Теперь нам нужно перейти в раздел «IPsec / Pre-Shared Keys» и добавить новый идентификатор.
Этот новый идентификатор должен быть:
- Идентификатор: allusers (должен быть таким, без заглавных букв и без другого имени)
- Тип секрета: PSK
- Pre-Shared Key: пароль, который мы хотим, предоставляется всем пользователям, которые собираются подключиться.
Как только это будет сделано, у нас будет сервер L2TP / IPsec, готовый принимать соединения, но сначала мы должны создать соответствующие правила в брандмауэре.
L2TP
Второй уровень, протокол туннелирования второго уровня (L2TP), настраивается намного проще. Как и IPsec, L2TP – одноранговый протокол. Клиентская сторона называется L2TP Access Concentrator или LAC, а серверная – L2TP Network Server или LNS.
ПредупреждениеL2TP абсолютно небезопасен и не должен быть доступен вне соединения IPsec
При использовании iptables, примените следующие правила, чтобы заблокировать все соединения L2TP вне ipsec:
Если брандмауэром является ufw, тогда заставьте его принимать входящие и исходящие соединения, использующие протокол ESP, чтобы разрешить авторизацию IPsec, и заблокируйте все соединения L2TP вне IPsec. Это может быть сделано с помощью следующего файла:
Файл
# Разрешить L2TP только через IPsec -A ufw-before-input -m policy --dir in --pol ipsec -p udp --dport l2tp -j ACCEPT -A ufw-before-input -p udp -m udp --dport l2tp -j REJECT --reject-with icmp-port-unreachable -A ufw-before-output -m policy --dir out --pol ipsec -p udp --sport l2tp -j ACCEPT -A ufw-before-output -p udp -m udp --sport l2tp -j REJECT --reject-with icmp-port-unreachable # Разрешить авторизацию IPsec с использованием протокола ESP -A ufw-before-input -p esp -j ACCEPT -A ufw-before-output -p esp -j ACCEPT
Использование xl2tpd
В отличие от других серверов L2TP, xl2tpd может поддерживать пул IP-адресов без серверов DHCP или RADIUS. Это является нарушением расслоения, но для небольшой установки очень удобно:
Файл
port = 1701 access control = no ip range = 172.21.118.2-172.21.118.254 local ip = 172.21.118.1 require authentication = yes name = LinuxVPN pppoptfile = /etc/ppp/options.xl2tpd
Для использования сервера RADIUS или DHCP, оставьте отключенными опции и . Если соединение нестабильно, попробуйте добавить в раздел . Чтобы не использовать PPP аутентификацию, замените на .
Создайте файл опций:
Файл
noccp auth crtscts mtu 1410 mru 1410 nodefaultroute lock proxyarp silent
Использование rp-l2tp
Настраивать rp-l2tp просто:
Файл
# Глобальный раздел (по умолчанию, мы начнём в глобальном режиме) global # Загрузка модулей load-handler "sync-pppd.so" load-handler "cmd.so" # Адрес привязки listen-port 1701 section peer peer 0.0.0.0 mask 0 lns-handler sync-pppd lns-pppd-opts "noccp auth crtscts mtu 1410 mru 1410 nodefaultroute lock proxyarp silent"
Укажите IP сервера в lns-pppd-opts. Также не забудьте настроить pppd для использования пула IP-адресов или при помощи DHCP, или через RADIUS.
Аутентификация
Взаимодействие двух узлов начинается с установления SA. Точнее с двух ассоциаций — для протокола AH и ESP причем в одну и в другую стороны. SA начинается с аутентификации и затем стороны согласовывают будущие параметры сессии:
- для протокола AH — используемый алгоритм аутентификации, ключи, время жизни ключей и другие параметры,
- для протокола ESP — алгоритмы шифрования и аутентификации, ключи, параметры инициализации, время жизни ключей и другие параметры.
Здесь же стороны договариваются о туннельном или транспортном режиме работы IPsec.
К завершению процесса у вас должны быть установлены несколько SA, но … чуть подробнее как это на самом деле.
Настройка pptp сервера в mikrotik
Настройка pptp сервера не отличается принципиально от l2tp. Логика и последовательность действий та же самая. Сначала создаем pool адресов в IP -> Pool для vpn сети. Я буду использовать тот же пул, что мы создали ранее.
Далее создаем профиль для pptp туннеля в разделе PPP -> Profiles.
В этом профиле указаны дефолтные настройки шифрования, при которых оно отключено. Проверим сначала скорость vpn канала без них. Создаем нового пользователя для удаленного pptp подключения.
Включаем pptp сервер в разделе PPP.
Теперь создадим в Interface List PPTP Server Binding по аналогии с предыдущим разделом.
И в завершение добавляем статический маршрут до удаленной сети через pptp подключение.
Настройка pptp сервера закончена. На фаерволе нужно будет открыть для входящих подключений внешнего интерфейса следующие вещи:
- TCP port 1723
- GRE протокол
Отправляемся настраивать pptp клиент.
pptp клиент
Отправляемся на удаленный роутер и там настраивает подключение через pptp client. Идем, как обычно, в раздел PPP и добавляем PPTP Client. На вкладке General ничего не трогаем, а на Dial Out указываем адрес pptp сервера и имя пользователя для подключения.
Добавляем статический маршрут до удаленного офиса через vpn туннель.
Все готово. Активируем pptp подключение и пробуем пинговать адреса в локальной сети. Убедиться в том, что шифрование отключено можно в статуте pptp соединения на клиенте.
Проверим теперь скорость vpn соединения по pptp.
Те же самые 194 мбит/сек, что на нешифрованном l2tp при 100% загрузке процессора. Вообще, было немного странно увидеть абсолютно такие же цифры. Проводил тесты несколько раз, но везде был стабильно один и тот же результат. Без шифрования нет разницы по скорости между l2tp и pptp соединением.
Теперь включим шифрование в pptp на сервере и посмотрим на скорость. Для этого указываем в pptp профиле явно, чтобы использовалось шифрование. Идем в PPP -> Profiles и редактируем наш профиль.
Убедимся в статусе клиента, что шифрование работает.
Тестирую скорость vpn соединения по pptp с включенным шифрованием.
Получилось в среднем 71 мбит/сек. Неплохой результат в сравнении с шифрованием ipsec в l2tp. Как я и говорил ранее, pptp сервер хорошо подходит там, где шифрование либо совсем не нужно, либо допускается возможность, что зашифрованный трафик будет расшифрован. Но при этом он все равно закрыт шифрованием и каждый проходящий не сможет ничего увидеть. Нужно как минимум снять дампт трафика и каким-то образом подбирать ключ по словарю или перебором. Не знаю точно, как это реализуется на практике. Не изучал вопрос.
Перейдем теперь к openvpn серверу в микротик. Очень любопытно посмотреть на тесты скорости этого типа vpn соединений.
Установите плагин OpenVPN Client, чтобы сгенерировать конфигурацию.
Хотя OpenVPN по умолчанию устанавливается в pfSense, либо в его серверном, либо в клиентском режиме, у нас нет предустановленного пакета, который позволяет нам автоматически генерировать конфигурацию для клиентов. Если мы перейдем в диспетчер пакетов в «Система / Диспетчер пакетов» и перейдем на вкладку «Доступные пакеты», мы сможем установить пакет «OpenVPN-client-export», который позволит нам выполнить именно это действие, что значительно облегчит конфигурация клиентов, импортирующая конфигурацию сервера с соответствующими цифровыми сертификатами.
После установки мы будем готовы перейти к следующему шагу — созданию цифровых сертификатов.
Экспорт файла конфигурации OpenVPN для клиентов
Переходим в раздел «VPN / OpenVPN / Client Export», здесь мы настроим расширение для генерации автоматической конфигурации для клиентов:
- Сервер удаленного доступа: мы выберем тот VPN-сервер, который мы настроили, у нас может быть несколько, поэтому мы выберем тот, который нас интересует.
- Разрешение имени хоста: домен DDNS, который мы настроили в pfSense, или IP-адрес WAN, у нас будет несколько возможностей.
- Проверить CN сервера: автоматически — используйте verify-x509-name
- Блокировать вне DNS: мы включаем эту опцию.
- Использовать случайный локальный порт: мы включаем эту опцию.
После того, как все вышеперечисленное было настроено, мы должны щелкнуть по клиентам для экспорта, наиболее нормальным является выбор «Встроенные конфигурации: большинство клиентов», и он будет экспортировать ЦС, открытый и закрытый ключи сертификата клиента и все в комплектации.
Мы рекомендуем выбрать эту опцию из «Встроенные конфигурации: большинство клиентов», но добавить зашифрованный закрытый ключ клиента, чтобы, если этот файл конфигурации попадет в чужие руки, он не сможет получить доступ к нашему VPN-серверу. Чтобы экспортировать зашифрованный закрытый ключ, мы должны перейти в раздел «System / Cert Manager» и перейти к «Edit» сертификата клиента, ввести кодовую фразу и нажать «Export private Key»:
Теперь с помощью текстового редактора мы открываем этот зашифрованный ключ и только что загруженный файл конфигурации:
- В полном файле конфигурации OpenVPN удаляем все, что находится внутри « »
- Копируем полное содержимое экспортированного приватного ключа внутрь « »И сохраните изменения.
Теперь при использовании закрытого ключа для подключения к серверу нам нужно будет ввести этот пароль, который защищает сертификат. Теперь мы собираемся проверить, работает ли служба, и подключимся к первому клиенту.
Final Word
IPSec should only be used if it has been set up by someone who knows how to do so correctly. It offers reasonably fast speeds and security comparable to OpenVPN, though the protocol is allegedly weakened by the NSA.
OpenVPN is the best all-round VPN, making it an ideal choice for most users. While it often requires a third-party client, many VPN providers build the protocol straight into their apps so that using it is a seamless affair.
Got any questions? Feel free to use the comments section below, and we’ll get back to you as soon as we can!
PureVPN PureVPN is a leading VPN service provider that excels in providing easy solutions for online privacy and security. With 6500+ servers in 141+ countries, It helps consumers and businesses in keeping their online identity secured.
Disadvantages of PPTP Protocol
While using a PTPP VPN has its advantages, it also comes with certain limitations. These include:
Inadequate Security
The PPTP protocol is considered to be the least secure as it only uses 128-bit encryption to protect your data. So, if you’re dealing with sensitive information, you’re better off opting for other VPN protocols that offer a considerable level of security.
Poor Performance on Unstable Networks
PPTP isn’t the most reliable VPN protocol when used on unstable connections – you’ll often face performance issues! While it can be an acceptable means of connecting employees and sharing documents, PPTP will let you down if you have a lot of private information that you need to share.
Протокол туннелирования
Как правило, выбор VPN начинается с выбора протокола туннелирования (далее ПТ). Сегодня на рынке имеется несколько вариантов ПТ для реализации виртуальной частной сети: OpenVPN, PPTP, L2TP/IPsec, IPsec IKEv2 и другие, не получившие широкого распространения. Сразу хотелось бы отметить, что OpenVPN не совсем верно называть протоколом туннелирования, это программное обеспечение для создания виртуальной сети, но пусть будет протокол, дабы избежать путаницы.
Что такое протокол? Представьте себе ситуацию: вы встретились с человеком и хотите с ним пообщаться, но говорите на разных языках. Разумеется, вы не поймете друг друга, и речи о каком-либо полноценном взаимодействии идти не может. Протокол – это и есть язык взаимодействия, в данном случае между компьютером и VPN-сервером.
PPTP
PPTP – первый протокол, поддерживаемый на платформе Windows. Протокол имеет слабое шифрование и может быть взломан как спецслужбами, так и квалифицированными злоумышленниками. Из плюсов стоит отметить отсутствие необходимости устанавливать дополнительное программное обеспечение и скорость работы. PPTP VPN требует минимальных ресурсов и по сравнению с OpenVPN почти не расходует заряд при использовании на мобильных устройствах.
Почему этот протокол до сих пор используется? Главная его проблема – слабая защита передачи ключа, но это не значит, что любой желающий может взломать шифрование. PPTP имеет и свои плюсы: простоту в настройке и использовании, неплохую защиту и смену IP-адреса. PPTP, может, и не самый защищенный протокол, но определенно лучше, чем ничего.
L2TP/IPsec
Что о нем надо знать:
- он медленнее других из-за двойного инкапсулирования (создается IPsec-туннель, а данные ходят через L2TP);
- использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;
- операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;
- при его правильной настройке нет информации о возможности расшифровать данные.
Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем в рамках курса не станем.
IPsec IKEv2
Что такое IKEv2 в этой связке? Это, если говорить очень просто, авторизация через сертификат, и она, к сожалению, поддерживается не всеми устройствами.
Что о нем надо знать:
- работает быстрее, нежели L2TP/IPsec, сопоставим с OpenVPN, медленнее PPTP;
- поддерживается не всеми операционными системами (хотя сам IPsec поддерживается везде);
- при правильной настройке его не могут расшифровать ни спецслужбы, ни злоумышленники (по крайней мере, так считается в среде IT-специалистов).
Стоит отметить поддержку IPsec на всех популярных операционных системах как положительный момент. Но есть по этому поводу и другое мнение: в отличие от встроенных систем шифрования диска, наличие встроенных систем IPsec не вызывало возмущений со стороны спецслужб. Его реализовали даже в Windows, где всегда воздерживались от инструментов защиты данных, недоступных для взлома спецслужбам. Этот факт многим кажется подозрительным.
OpenVPN
OpenVPN – бесплатное решение с открытым исходным кодом, которое, по признанию большинства специалистов, является самым лучшим на сегодняшний день для создания частной виртуальной сети (VPN).
Что надо знать об OpenVPN:
- не входит в состав стандартных дистрибутивов современных операционных систем, потому требует установки дополнительного программного обеспечения;
- при правильной настройке его не смогут расшифровать ни спецслужбы, ни злоумышленники;
- при нестандартных настройках сложно блокируется.
Да, OpenVPN требует установки дополнительного программного обеспечения, но это проверенный временем софт с открытым исходным кодом, установка и настройка которого не создаст проблем даже новичку. OpenVPN работает на всех современных операционных системах: Windows, macOS, Linux, Android, iOS.
Рекомендации и советы
В зависимости от используемого VPN-клиента конфигурация сервера может отличаться. В целях безопасности всегда рекомендуется использовать лучшие криптографические алгоритмы, по этой причине мы рекомендуем изменить параметры безопасности и заставить клиентов всегда выбирать лучшие, однако мы должны посмотреть записи IPsec, чтобы увидеть, какое «предложение» отправлено. разными клиентами при подключении. Некоторые смартфоны используют клиент L2TP / IPsec VPN с поддержкой новейших шифров, однако другие модели этого не делают. Нам нужно будет попытаться выбрать наиболее безопасный в глобальном масштабе, балансируя между безопасностью и удобством использования.
Еще один совет, если вы собираетесь использовать L2TP / IPsec в первый раз, — заранее знать, какие клиенты вы собираетесь подключать, Android, iOS, компьютер с Windows и т. Д., Поскольку конфигурация может отличаться в зависимости от того, как клиент настроен внутри. Вполне возможно, что они не могут жить вместе одновременно, по этой причине вы можете использовать другие VPN, такие как OpenVPN или IPsec xAuth среди других.
С помощью этого же руководства вы сможете настроить L2TP / IPsec RSA, изменив «Mutual PSK» на «Mutual RSA» и настроив соответствующие сертификаты сервера и клиента. Мы скоро покажем вам, как это сделать. Это также создает сложности, потому что, если мы создадим CA с клиентским сертификатом, который использует новейшие алгоритмы, возможно, что он вернет ошибку при подключении, потому что они не распознаются.
PPTP – Outdated and not secure
PPTP stands for Point-to-Point Tunneling Protocol and is one of the oldest VPN protocols still in use today. It runs on TCP port 1723 and was initially developed by Microsoft.
PPTP is now essentially obsolete due to serious security vulnerabilities. We won’t spend too much time discussing PPTP because most people are not even using it anymore.
PPTP is supported natively on all versions of Windows and most operating systems. While it is relatively fast, PPTP is not as reliable and does not recover as quickly from a dropped connections as OpenVPN.
Overall, PPTP should not be used in any situation where security and privacy are important. If you are just using a VPN to unblock content, PPTP may not be a bad choice, but there are more secure options worth considering.
Verdict: Not recommended
Разрыв VPN соединения и смена ключей
Согласованные на двух фазах ключи должны работать оговоренное политикой время. Это означает, что сторонам возможно предстоит пережить процедуру смены ключей (rekeying), а иначе согласованные SA распадутся. Как было сказано выше, у сторон есть ключи в рамках процесса фазы 1 (IKE) и фазы 2 (IPsec). Процедуры их смены различны, как и таймеры, которые за это отвечают. Для того, чтобы не было перерыва связи в процессе смены ключей стороны сначала согласовывают параметры новой SA и лишь после этой успешной процедуры уничтожают старую SA.
В IPsec на каждой из фаз есть несколько способов смены ключей — с аутентификацией или без нее, но мы не будем сильно заострять на этом свое внимание. Просто для этой процедуры слишком существует много нюансов, которые зависят от версий ПО и соотношения таймеров — для IKE и IPsec
PPTP
Intro
A very basic VPN protocol based on PPP. The PPTP specification does not actually describe encryption or authentication features and relies on the PPP protocol being tunneled to implement security functionality.
Encryption
The PPP payload is encrypted using Microsoft’s Point-to-Point Encryption protocol (MPPE). MPPE implements the RSA RC4 encryption algorithm with a maximum of 128 bit session keys.
Security weaknesses
The Microsoft implementation of PPTP has serious security vulnerabilities. MSCHAP-v2 is vulnerable to dictionary attack and the RC4 algorithm is subject to a bit-flipping attack. Microsoft strongly recommends upgrading to IPSec where confidentiality is a concern.
Setup / Configuration
All versions of Windows and most other operating systems (including mobile) have native support for PPTP. PPTP only requires a username, password and server address making it incredibly simple to setup and configure.
Stability / Compatibility
PPTP is not as realiable, nor does it recover as quickly as OpenVPN over unstable network connections. Minor compatibility issues with the GRE protocol and some routers.
Verdict
Due to the major security flaws, there is no good reason to choose PPTP other than device compatibility. If you have a device on which only PPTP is supported then you should consider how to encrypt data at other layers e.g. HTTPS.