Файрволл D-Link DFL-210

Часть 2: IPSec и PPTP VPN-серверы устройства, PPTP-клиент


В первой части обзора мы рассмотрели стандартные настройки устройства и его производительность при работе в режиме NAT-роутера. В этой части будут рассмотрены возможности серверов IPSec и PPTP устройства.

Содержание:

  1. Общие сведения
  2. Вид изнутри
  3. Спецификация
  4. Конфигурация
  5. Тестирование производительности базовых функций
  6. Доступность
  7. Выводы (базовые настройки, производительность)
  8. IPSec VPN-сервер
  9. Тестирование производительности IPSec VPN-сервера
  10. PPTP VPN-сервер
  11. Тестирование производительности PPTP-сервера
  12. Тестирование производительности PPTP-клиента
  13. Выводы (IPSec VPN-сервер, PPTP VPN-сервер, PPTP VPN-клиент)
  14. L2TP VPN-сервер
  15. Тестирование производительности L2TP VPN-сервера
  16. Шейпинг трафика
  17. Тестирование возможностей шейпинга трафика
  18. IDS предотвращение вторжений
  19. Выводы (L2TP VPN-сервер, шейпинг трафика, IDS)

Как обычно обо всем по порядку…

IPSec VPN-сервер

IPSec VPN-сервер устройства позволяет создавать до 100 одновременных VPN-соединений. Для шифрования трафика возможно использование следующих алгоритмов шифрования: DES, 3DES, CAST128, BlowFish, TwoFish, AES (с ключами 128, 192 и 256 бит). Для алгоритмов BlowFish и TwoFish возможна ручная установка длины ключа (главное, чтобы она была кратна 8)

При минимальных настройках для работы VPN-сервера необходимо предварительно создать 3 объекта: предварительный ключ, объект "IKE Algorithms" и объект "IPSec Algorithms".

Задание предварительного ключа возможно в виде фразы или в виде шестнадцатеричного ключа

При создании объектов "IKE Algorithms" и объект "IPSec Algorithms" задаются алгоритмы шифрования и хеширования, которые могут быть использованы при обмене ключами (IKE Algorithms) и самом шифровании трафика (IPSec Algorithms)

Ручное задание ключей (без IKE (Internet Key Exchange)) невозможно.

Далее перейдем к самому созданию туннеля (Пункт Interfaces -> IPsec Tunnels):

При создании туннеля указываются адреса локальной и удаленной сетей, адрес удаленной точки туннеля, а также алгоритмы шифрования обмена ключей и шифрования самого трафика (для этого используются объекты "IKE Algorithms" и "IPSec Algorithms", которые мы создали на предыдущем шаге).

На следующей вкладке задаются параметры аутентификации (в нашем случае аутентификация осуществляется по предварительному ключу, который был создан перед созданием туннеля)

В параметрах роутинга возможно использование возможности создания правила роутинга по факту установки туннеля 

Затем задаются параметры обмена ключами (так называемые группы Diffie-Hellman) и др.

Также существует возможность "поддержания" туннеля в активном состоянии (Keep-alive)

После создания туннеля необходимо создать правила фильтрации, позволяющие пропуск трафика через него в обоих направлениях

Таким образом можно создать до 100 IPSec VPN-туннелей, однако проверить как будут работать одновременно все 100 не представляется возможным. :) поэтому при тестировании использовалось не более трех туннелей.

Тестирование производительности IPSec VPN-сервера

Тестирование производительности проводилось при использовании 3DES, AES128 и AES256 шифрования (это наиболее широко используемые виды шифрования). Алгоритм DES не использовался, так как его криптостойкость на сегодняшний день достаточно низка (ему на смену пришел алгоритм 3DES, который, по сути, представляет собой тот же DES примененный 3 раза подряд). Алгоритм AES не поддерживается ОС Windows XP SP2, поэтому при тестировании использовались компьютеры под управлением Gentoo Linux 2.6.15.

Параметры туннелей при тестировании:

  • алгоритм хеширования: SHA1
  • обмен ключами: IKE (других вариантов устройство не предоставляет)

Трафик гонялся между сегментами LAN-WAN. VPN-туннели устанавливались между интерфейсом WAN устройства и VPN-серверами в WAN-сегменте.

Тестирование VPN, 1 IPSec-туннель

Максимальные скорости: 25,829 Мбит/с при использовании 3DES-шифрования, 21,892 Мбит/с при использовании AES-шифрования с длиной ключа 128 бит, 21,613 Мбит/с при использовании AES-шифрования с длиной ключа 256 бит. При использовании 3DES-шифрования скорости во всех тестах распределяются равномерно. При использовании AES-шифрования, скорость в направлении WAN->LAN значительно ниже скорости LAN->WAN и в большинстве тестов такое распределение сохраняется.

Тестирование VPN, 2 IPSec-туннеля

Максимальные скорости: 24,416 Мбит/с при использовании 3DES-шифрования, 22,181 Мбит/с при использовании AES-шифрования с длиной ключа 128 бит, 22,163 Мбит/с при использовании AES-шифрования с длиной ключа 256 бит. Как и в тестах при использовании 1-го IPSec-туннеля, распределение скоростей при использовании AES-шифрования остается неравномерным, скорости трафика в направлении WAN->LAN почти в 2 раза ниже скоростей в обратном направлении.

Тестирование VPN, 3 IPSec-туннеля

В полудуплексном режиме

В полнодуплексном режиме

Максимальные скорости: 25,071 Мбит/с при использовании 3DES-шифрования, 22,322 Мбит/с при использовании AES-шифрования с длиной ключа 128 бит, 22,318 Мбит/с при использовании AES-шифрования с длиной ключа 256 бит. Распределение скоростей остается таким же, как и в тестах с 1-м и 2-мя туннелями.

PPTP VPN-сервер

Настройка работы устройства в роли PPTP-сервера также оказалась не так проста — это связано с повышением гибкости за счет усложнения настройки (об этой особенности интерфейса настройки говорилось в первой части обзора).

Для начала задаются параметры PPTP-сервера, такие как IP адреса интерфейсов и подсети,

а также параметры шифрования, DNS-сервера и пул IP-адресов, выдаваемых PPTP-клиентам

Пункт "Use User Authentication Rules" указывает использовать специальные правила аутентификации. Его отключение позволяет произвести подключение к PPTP-серверу с любыми логином/паролем, использование шифрования при этом невозможно (да и не нужно). Возможно использование MPPE-шифрования с длиной ключа 40, 56 и 128 бит.

Если пункт "Use User Authentication Rules" включен (именно так скорее всего и будет), то нам потребуется создать специальное правило аутентификации

в котором задаются параметры аутентификации (использовать внешний RADIUS-сервер для аутентификации или же использовать локальную базу данных пользователей, выбирается используемый PPTP сервер (устройство может создавать несколько независимых PPTP-серверов с различными параметрами)). В случае использования RADIUS-сервера для аутентификации, его (RADIUS-сервер) тоже необходимо создать как отдельный объект. Если для аутентификации использовать локальную базу данных пользователей — то задается, какую именно (устройство также может создавать несколько встроенных баз пользователей).

Например, база пользователей "AdminUsers" присутствует в устройстве по умолчанию, в ней содержатся пользователи, имеющие доступ к WEB-интерфейсу настройки устройства. База данных "local" была создана вручную, специально для заведения пользователей, подключающихся к PPTP (или L2TP) VPN-сервру.

При создании пользователя, помимо пароля можно задать IP-адрес, который будет выдаваться при подключении к PPTP (или L2TP) VPN-серверу.

При создании правил аутентификации, также можно выбрать типы аутентификации, которые могут быть использованы для подключения к VPN-серверу

Как видно из скриншота, возможно использование PAP, CHAP, MS-CHAP и MS-CHAPv2 аутентификации.

Также задаются параметры, позволяющие нескольким пользователям одновременно использовать один пользовательский аккаунт.

После этого нужно создать правила файрвола, позволяющие прохождение трафика через туннель

На этом настройка PPTP-сервера закончена.

Тестирование PPTP-сервера

Тестирование проводилось при использовании компьютеров под управлением ОС Windows XP SP2.

Однако при тестировании не обошлось без проблем. При тестировании с использованием одного туннеля и шифрованием MPPE128, все тесты прошли без проблем. При использовании двух и более туннелей, тесты, в которых трафик гоняется в направлении LAN -> WAN, проходили без проблем, а в тестах, где трафик гоняется в направлении WAN -> LAN, клиентский компьютер теряет соединение с сервером. Уменьшение длины ключа шифрования не решает этой проблемы. Данную проблему решает только полное отключение шифрования.  

1 PPTP-туннель, MPPE128 шифрование

Максимальная скорость: 24,446 Мбит/с при движении трафика в направлении LAN -> WAN. Скорость трафика в обратном направлении значительно ниже и составляет 14,571 Мбит/с.

Тестирование при использовании двух и трех туннелей, при использовании шифрования приводило к разрыву связи. Если отключить шифрование, разрывов связи не происходит.

1 PPTP-туннель, шифрование отключено

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

2 PPTP-туннеля, шифрование отключено

Максимальная скорость: 59,411 Мбит/с.

3 PPTP-туннеля, шифрование отключено

В полудуплексном режиме

В полнодуплексном режиме

Максимальная скорость: 58,663 Мбит/с.

При отключении шифрования соединения с сервером не прерываются. Разрыв соединений происходит только при использовании шифрования, причем вне зависимости от длины ключа.

Тестирование PPTP-клиента

Устройство также может выступать в качестве PPTP-клиента, устанавливая связь с другим PPTP-сервером. Как и PPTP-сервер, PPTP-клиент может использовать для аутентификации PAP, CHAP, MS-CHAP и MS-CHAPv2, а для шифрования MPPE40, MPPE56 или MPPE128. При работе в роли PPTP-клиента, разрывов связи, как при работе в качестве PPTP-сервера, не наблюдалось, несмотря на использование шифрования.

В качестве PPTP-сервера использовались компьютеры под управлением Gentoo Linux 2.6.15. Тестирование удалось провести только с использованием двух PPTP-серверов.

PPTP-клиент: 1 PPTP-туннель, MPPE128 шифрование

Максимальная скорость: 19,77 Мбит/с. В полнодуплексном режиме скорости трафика в разных направлениях различаются почти в 3 раза.

PPTP-клиент: 2 PPTP-туннеля, MPPE128 шифрование

Максимальная скорость: 21,574 Мбит/с. Как и в прошлом тесте скорости трафика в различных направлениях в полнодуплексном режиме различаются примерно в 3 раза, причем скорость прямого канала (LAN -> WAN) ниже скорости обратного.

Выводы

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

PPTP VPN-сервер несколько разочаровал — непонятно, почему при использовании MPPE шифрования происходит разрыв связи. Когда устройство работает в качестве PPTP-клиента, проблем не возникает даже с шифрованием. Сначала было предположение, что эта проблема возникает только при включении шифрования, но оказалось, что использование шифрования в режиме клиента не вызывает проблем — это похоже на ошибки в прошивке устройства, которые, будем надеяться, будут исправлены с выпуском новых версий.

Плюсы:

  • Широкие возможности настройки VPN-серверов
  • Широкий набор алгоритмов шифрования
  • Достаточно высокая производительность VPN-серверов
  • Возможность использования как внешнего RADIUS-сервера, так и локальной базы данных пользователей для аутентификации

Минусы:

  • Разрыв связи при использовании шифрования при работе в качестве PPTP-сервера

 

Оборудование предоставлено российским представительством компании D-Link

 




Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.