Что такое общий ключ IPsec и зачем он нужен
Общий ключ IPsec (Pre-Shared Key, PSK) — это секретная последовательность символов, используемая для аутентификации сторон и шифрования данных при установке защищённого VPN-соединения. Он относится к симметричным ключам: один и тот же ключ применяется для шифрования и расшифрования трафика.
Основное назначение общего ключа — обеспечить конфиденциальность, целостность и аутентификацию передаваемых данных. При использовании IPsec PSK позволяет двум узлам (серверу и клиенту) подтвердить свою подлинность без сложной инфраструктуры сертификатов. Ключ должен быть известен только доверенным участникам соединения.
В отличие от сертификатов PKI, общий ключ проще в настройке, но требует ручного распространения и смены при компрометации. Он часто применяется в сценариях L2TP/IPsec (IKEv1) и site-to-site VPN.
Как работает общий ключ в протоколе IPsec
Процесс установки VPN-соединения с общим ключом IPsec включает несколько этапов:
- Инициализация соединения — через протокол IKE (Internet Key Exchange) создаётся защищённый канал. В IKEv1 используется либо основной режим (Main Mode), либо агрессивный режим (Aggressive Mode).
- Аутентификация сторон — сервер и клиент обмениваются идентификаторами и доказывают знание общего ключа. Если ключи совпадают, соединение считается доверенным.
- Согласование параметров шифрования — выбираются алгоритмы (например, AES-256), хэширования и методы обмена ключами (Diffie-Hellman).
- Создание SA (Security Association) — для каждой фазы IKE формируются наборы параметров безопасности.
- Шифрование и передача данных — весь трафик внутри туннеля шифруется с использованием ESP (Encapsulating Security Payload).
- Закрытие соединения — SA завершаются по истечении времени жизни или после передачи определённого объёма данных.
Общий ключ используется только на этапе аутентификации; сами сессионные ключи генерируются динамически через Diffie-Hellman, что обеспечивает Perfect Forward Secrecy (PFS).
Где взять общий ключ IPsec: основные способы
Существует несколько способов получения общего ключа IPsec:
- Самостоятельная генерация — можно создать случайную строку с помощью утилит (например,
openssl rand -hex 32в Linux) или встроенных генераторов паролей. Длина ключа должна быть не менее 20–30 символов для обеспечения стойкости. - Получение от провайдера VPN — многие коммерческие VPN-сервисы предоставляют готовый PSK вместе с данными для настройки. Обычно он передаётся в личном кабинете или в документации.
- Использование протокола IKE — при автоматической настройке IKE может сгенерировать ключ динамически, но для начальной аутентификации всё равно требуется предварительно согласованный PSK или сертификат.
- Ручное согласование между администраторами — в корпоративных сценариях ключ может быть передан по защищённому каналу (например, по телефону или через шифрованное сообщение).
Важно: никогда не передавайте общий ключ по незащищённым каналам (обычная электронная почта, мессенджеры без шифрования).
Настройка общего ключа IPsec на VPN-сервере (UserGate NGFW)
Рассмотрим пример настройки сервера на базе UserGate NGFW для удалённого доступа с L2TP/IPsec (IKEv1):
- Разрешите сервисы VPN в зоне Untrusted (Сеть → Зоны).
- Создайте зону для VPN-подключений (например, VPN for remote access).
- Настройте профиль аутентификации — можно использовать LDAP/AD или локальных пользователей.
- Создайте профиль безопасности VPN — укажите версию IKE (IKEv1), режим (Main Mode) и общий ключ (Pre-shared key). Этот ключ должен совпадать на сервере и клиенте.
- Настройте VPN-интерфейс — задайте статический IP (например, 172.30.250.1/24).
- Создайте сеть VPN — укажите диапазон IP для клиентов (исключите адрес интерфейса), маску, DNS и маршруты (например, локальная сеть офиса 192.168.1.0/24).
- Создайте серверное правило VPN — привяжите профиль безопасности, сеть VPN, профиль аутентификации, интерфейс, источник (зона Untrusted) и назначение (внешний IP сервера).
- Настройте NAT и межсетевой экран — разрешите трафик из зоны VPN в нужные сегменты.
После этого сервер готов принимать подключения с общим ключом.
Настройка общего ключа IPsec на клиенте Windows (L2TP/IPsec)
Для подключения к VPN-серверу с L2TP/IPsec на Windows выполните следующие шаги:
- Откройте Параметры → Сеть и Интернет → VPN и нажмите Добавить VPN-подключение.
- Заполните поля:
- Поставщик услуг VPN: Windows (встроенные)
- Имя подключения: любое
- Имя или адрес сервера: внешний IP сервера (например, 203.0.113.1)
- Тип VPN: L2TP/IPsec с общим ключом
- Общий ключ: тот же, что указан на сервере
- Тип данных для входа: Имя пользователя и пароль
- Имя пользователя и пароль: учётные данные (например, user2@testd.local)
- Сохраните подключение.
- Перейдите в Панель управления → Сеть и Интернет → Центр управления сетями и общим доступом → Изменение параметров адаптера. Найдите созданное подключение, откройте его свойства, перейдите на вкладку Безопасность и выберите Разрешить следующие протоколы → PAP.
- Нажмите ОК и подключитесь.
После успешного соединения клиент получит IP из диапазона VPN-сети и маршруты к корпоративным ресурсам.
Настройка общего ключа IPsec на клиенте Linux (Ubuntu)
Для подключения к L2TP/IPsec VPN на Ubuntu используйте Network Manager:
- Установите плагин L2TP:
sudo apt update
sudo apt install -y network-manager-l2tp network-manager-l2tp-gnome- Откройте Настройки → Сеть и нажмите + в разделе VPN.
- Выберите Туннельный протокол второго уровня (L2TP).
- На вкладке Идентификация укажите:
- Имя соединения
- Адрес VPN-сервера
- Имя пользователя и пароль
- Нажмите Параметры IPsec, включите IPsec и введите общий ключ (Pre-shared key). Убедитесь, что версия IKE и режим соответствуют серверу (например, IKEv1, Main Mode).
- На вкладке Параметры PPP разрешите только PAP.
- Сохраните настройки и включите соединение.
После подключения появится ppp-адаптер, и станут доступны маршруты к удалённой сети.
Преимущества и ограничения использования общего ключа IPsec
Преимущества:
- Простота настройки — не требуется инфраструктура сертификатов (PKI).
- Низкие требования к ресурсам — подходит для встраиваемых устройств и старых маршрутизаторов.
- Совместимость — поддерживается большинством ОС и VPN-клиентов.
- Быстрое развёртывание — достаточно согласовать один ключ.
Ограничения:
- Меньшая безопасность по сравнению с сертификатами — при компрометации ключа все соединения становятся уязвимы.
- Сложность масштабирования — для каждого нового клиента нужно распространять ключ вручную.
- Отсутствие неотказуемости (non-repudiation) — невозможно доказать, кто именно использовал ключ.
- Риск перехвата при передаче — ключ должен передаваться по защищённому каналу.
Для повышения безопасности рекомендуется использовать длинные случайные ключи (не менее 32 символов), регулярно их менять и комбинировать с другими методами аутентификации (например, двухфакторной).
Как общий ключ IPsec влияет на производительность и MTU
Использование IPsec увеличивает размер пакетов за счёт заголовков ESP (обычно 50–70 байт). Это может привести к превышению MTU (Maximum Transmission Unit) и фрагментации, что снижает производительность.
Рекомендации:
- Уменьшите MSS (Maximum Segment Size) на уровне TCP, чтобы компенсировать накладные расходы IPsec. Например, при MTU 1500 можно установить MSS 1400.
- Настройте MTU туннельного интерфейса (например, 1400) на сервере и клиенте.
- Включите механизм Path MTU Discovery (PMTUD) для автоматического определения оптимального размера.
Правильная настройка MTU и MSS помогает избежать фрагментации, снижает задержки и повышает стабильность соединения.
Безопасность общего ключа: лучшие практики
Для обеспечения максимальной защиты при использовании общего ключа IPsec следуйте этим рекомендациям:
- Генерируйте ключи с помощью криптостойких генераторов — используйте
openssl randили аппаратные ГСЧ. - Используйте ключи длиной не менее 32 символов (256 бит) — чем длиннее, тем сложнее подобрать.
- Храните ключи в защищённом хранилище — менеджеры паролей, HSM или зашифрованные файлы.
- Передавайте ключи только по защищённым каналам — шифрованная почта, личный кабинет, защищённый мессенджер.
- Регулярно меняйте ключи — например, раз в квартал или после увольнения сотрудника.
- Не используйте один ключ для всех клиентов — лучше создать отдельный PSK для каждого пользователя или группы.
- Комбинируйте с другими методами аутентификации — например, с сертификатами или двухфакторной аутентификацией.
Соблюдение этих правил существенно снижает риски компрометации VPN-соединения.
Вопросы и ответы
Можно ли использовать один и тот же общий ключ для всех клиентов?
Технически да, но это не рекомендуется. Если ключ будет скомпрометирован, злоумышленник получит доступ ко всем соединениям. Лучше создавать уникальные PSK для каждого клиента или хотя бы для каждой группы пользователей.
Какой длины должен быть общий ключ IPsec?
Минимальная рекомендуемая длина — 20–30 символов (160–240 бит). Для высокого уровня безопасности используйте ключи длиной 32 символа (256 бит) и более. Чем длиннее ключ, тем сложнее его подобрать методом перебора.
Что делать, если общий ключ был скомпрометирован?
Немедленно смените ключ на всех устройствах (сервер и все клиенты). Также рекомендуется перевыпустить сессионные ключи (переустановить соединение) и проверить журналы на предмет несанкционированного доступа.
В чём разница между общим ключом и сертификатами PKI?
Общий ключ (PSK) — это симметричный секрет, который нужно вручную распространять. Сертификаты PKI используют асимметричную криптографию, обеспечивают неотказуемость и упрощают масштабирование, но требуют инфраструктуры (CA). PSK проще в настройке, но менее безопасен при большом количестве клиентов.
Поддерживает ли Windows встроенный клиент L2TP/IPsec с общим ключом?
Да, начиная с Windows 7 и выше. В настройках VPN нужно выбрать тип L2TP/IPsec с общим ключом и ввести ключ. Однако для совместимости с некоторыми серверами может потребоваться дополнительно разрешить протокол PAP в свойствах подключения.
Как проверить, что общий ключ совпадает на сервере и клиенте?
Если соединение не устанавливается, проверьте журналы на сервере (обычно сообщения об ошибке аутентификации IKE). На клиенте можно использовать команду ping до IP-адреса туннельного интерфейса сервера. Также полезно временно включить подробное логирование IKE для диагностики.
Можно ли использовать общий ключ IPsec для site-to-site VPN?
Да, это распространённый сценарий. В site-to-site VPN общий ключ настраивается на обоих шлюзах (маршрутизаторах или межсетевых экранах). Ключ должен быть одинаковым на обеих сторонах. Для повышения безопасности рекомендуется комбинировать PSK с сертификатами.