Если вам когда-либо приходилось работать удаленно, возможно, вы использовали VPN для безопасного подключения к ресурсам частной сети вашей компании. Некоторые VPN используют протокол IPsec для установления безопасных соединений. Но что такое VPN и IPsec VPN?
В бизнес-контексте VPN устанавливает защищенное соединение с защищенной сетевой средой, которое в противном случае было бы недоступно для внешнего пользователя. Все происходит через общедоступную сеть таким образом, чтобы обеспечить безопасность и конфиденциальность этих подключений.
Представьте, что вы встречаетесь с клиентом в кафе, и вам нужен доступ к конфиденциальным данным, размещенным на частных серверах вашей компании. Использование незащищенных сетей типа Wi-Fi в кофейне может подвергнуть риску вашу компанию.
VPN позволяют пользователям получать доступ к частной сети и удаленно обмениваться конфиденциальными данными без риска нанести ущерб сетевой инфраструктуре и информации.
Вот несколько причин, чтобы использовать VPN:
- обеспечение защищенного соединения;
- обезличивание пользователя во время работы в сети;
- работа с ресурсами, которые заблокированы пользователям определенной страны.
Традиционная сетевая архитектура состоит из некоторой комбинации разрешенных статических IP-адресов, сопоставления подсетей для удаленных пользователей с использованием групповой политики, брандмауэра, управления маршрутами и шлюза в общедоступном интернете.
IPsec — это безопасный сетевой протокол, который использует шифрование пакетов для обеспечения их безопасной передачи между устройствами внутри сети.
Что такое IPsec VPN?
IPsec VPN — это VPN, которая использует IPsec в качестве протокола для установления безопасных соединений между устройствами. Другие протоколы, используемые VPN, включают SSL/TLS и L2TP. Давайте рассмотрим их подробнее:
- TLS, преемник SSL, представляет собой криптографический протокол, обеспечивающий безопасность связи в компьютерной сети. TLS хорошо известен тем, что обеспечивает безопасность HTTPS-соединений.
- IPsec — это безопасный сетевой протокол, используемый в VPN для аутентификации и шифрования пакетов.
- L2TP — это протокол туннелирования, используемый для поддержки VPN. L2TP сам по себе не обеспечивает надежную аутентификацию. IPSec часто используется для защиты пакетов L2TP. Комбинация этих двух протоколов обычно называется L2TP/IPsec.
Набор протоколов IPsec защищает данные, передаваемые через интернет или любую общедоступную сеть, с помощью шифрования между двумя конечными точками. Они часто применяются для установления взаимной аутентификации между компьютерами в начале сеанса и для согласования криптографических ключей.
VPN сервер IPsec обеспечивает несколько уровней безопасности: аутентификацию для защиты любых изменений в пакетах данных и шифрует данные в каждом пакете.
Существует два режима IPsec VPN:
- IPsec Tunnel Mode VPN — в этом режиме шифруется весь исходящий пакет. Обычно это реализуется на защищенном шлюзе с использованием брандмауэра или порта маршрутизатора.
- IPsec Transport Mode VPN — в этом режиме шифруются только полезные данные IP и трейлер ESP, передаваемые между двумя конечными точками. В основном это используется во время сквозной связи и не меняет IP-заголовок исходящего пакета.
Как настроить IPsec VPN-сервер
Настройка IPsec VPN относительно несложная. Рассмотрим, как быстро и автоматически настроить собственный IPsec VPN-сервер в дистрибутивах CentOS/RHEL, Ubuntu и Debian Linux.
Для начала вам понадобится выделенный сервер или виртуальный частный сервер (VPS), на котором установлена одна из следующих ОС:
- Ubuntu 20.04 (Focal) or 18.04 (Bionic);
- Debian 11 (Bullseye), 10 (Buster) or 9 (Stretch);
- CentOS 8 or 7;
- Rocky Linux 8;
- AlmaLinux OS 8;
- Red Hat Enterprise Linux (RHEL) 8 or 7;
- Amazon Linux 2.
Войдите в VPS через SSH, а затем запустите команды для вашего дистрибутива Linux, чтобы настроить VPN-сервер. По умолчанию скрипт сгенерирует для вас случайные учетные данные VPN (предварительный общий ключ, имя пользователя и пароль VPN) и отобразит их в конце установки.
Однако чтобы использовать свои учетные данные, вам сначала необходимо создать надежный пароль и PSK соответственно с помощью следующих команд:
> openssl rand -base64 106xWSdx0q7hrUAQ==> openssl rand -base64 16bcM90acDBKB6qdmsZM63Vg==
Результатом первой команды является пароль, а результатом второй команды — PSK.
Затем установите эти сгенерированные значения, как описано в следующей команде. Все значения должны быть заключены в одинарные кавычки, как показано.
VPN_IPSEC_PSK: 'Your IPsec pre-shared key'VPN_USER: 'Your VPN user name'VPN_PASSWORD: 'Your VPN password'
В CentOS/RHEL или Ubuntu/Debian
wget https://git.io/vpnsetup -O vpnsetup.shVPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='bobalice'
VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh
Вот основные пакеты, которые необходимо установить:
- bind-utils;
- net-tools;
- bison;
- flex;
- gcc;
- libcap-ng-devel;
- libcurl-devel;
- libselinux-devel;
- nspr-devel;
- nss-devel;
- pam-devel xl2tpd;
- iptables-services;
- systemd-devel;
- fipscheck-devel;
- libevent-devel;
- fail2ban.
Загрузите, скомпилируйте и установите Libreswan из исходного кода, затем включите и запустите необходимые службы. После завершения установки вы увидите отображаемые сведения о VPN в следующем формате:
Server IP: xxx.xxx.xxx.xxxIPsec PSK: VPN_IPSEC_PSKUsername : VPN_USERPassword : VPN_PASSWORD
Теперь VPN-сервер IPsec готов к использованию. Далее рассмотрим, как настроить клиент сервер IPsec VPN на компьютерах с Windows, Linux и OS X.
Как настроить VPN-клиент IPsec
Сочетание L2TP с протоколами IPsec позволит создать VPN-клиент с высоким уровнем защиты. L2TP генерирует туннель, поскольку он не поддерживает шифрование. Протокол IPsec обеспечивает шифрование, безопасность канала и целостность данных, гарантируя, что все пакеты безопасны и не скомпрометированы. Стоит рассмотреть, как происходит настройка IPsec туннеля.
Windows 11
Для настройки VPN-клиента IPsec в Windows 11 следуйте инструкции ниже. В Windows 11 IPsec VPN также поддерживается по умолчанию, и дополнительное программное обеспечение для его установки не требуется.
- Нажмите на значок сети в системном трее на панели задач.
- Выберите «Настройки сети и интернета».
- Прокрутите вниз до раздела «Расширенные настройки сети» и выберите «VPN».
- Нажмите «Добавить соединение VPN».
- В разделе «Поставщик VPN» выберите «Windows (встроенный)».
- В поле «Имя соединения» введите название вашего VPN-соединения для удобства идентификации.
- В поле «Имя или адрес сервера» введите IP-адрес вашего VPN-сервера.
- В разделе «Тип VPN» выберите «L2TP/IPsec с предварительным ключом».
- В поле «Предварительный ключ» введите ваш VPN IPsec PSK (предварительный ключ).
- В разделе «Тип входа» выберите предпочитаемый тип учетных данных (обычно это имя пользователя и пароль).
- Введите своё имя пользователя и пароль для VPN (если это требуется).
- Нажмите «Сохранить».
Теперь ваше VPN-соединение должно отображаться в списке VPN. Для подключения:
- Вернитесь в настройки VPN (пункты 1-3 предыдущей инструкции).
- Выберите своё VPN-соединение из списка и нажмите «Подключить».
Если вам необходимо настроить дополнительные параметры безопасности или другие расширенные настройки, выполните следующие шаги:
- В настройках VPN найдите своё соединение и нажмите на него.
- Выберите «Свойства».
- Перейдите на вкладку «Безопасность».
- Выберите необходимые параметры безопасности, включая типы протоколов и методы аутентификации.
- Подтвердите изменения, нажав «ОК».
Убедитесь, что все настройки соответствуют требованиям вашей сети или VPN-сервиса.
MacOS
IPsec VPN поддерживается в OS X по умолчанию. После настройки VPN-сервера выполните следующие действия, чтобы настроить IPsec VPN в OS X.
- Откройте «Системные настройки»: Найдите иконку «Системные настройки» на вашем Dock-панели или используйте Spotlight поиск, набрав «Системные настройки», и откройте его.
- Перейдите к «Сеть»: В Системных настройках пролистайте до раздела «Сеть» и кликните по нему.
- Добавьте новое VPN-соединение: Нажмите на кнопку с символом плюса (+), которая находится в нижней части списка интерфейсов слева, чтобы добавить новое соединение.
- Настройте тип VPN: В появившемся окне выберите «VPN» из выпадающего меню «Интерфейс». Затем, в «Тип VPN», выберите «IKEv2», который является более безопасным и современным вариантом по сравнению с «L2TP через IPSec».
- Конфигурация службы VPN: Введите название вашего VPN-соединения в поле «Имя службы». Это может быть любое название, которое поможет вам идентифицировать соединение.
- Настройки сервера и учетных данных: Введите адрес вашего VPN-сервера в поле «Адрес сервера» и имя учетной записи пользователя в поле «Удаленный ID».
- Аутентификация: Нажмите на «Аутентификация» и введите свой пароль VPN и, если требуется, общий секрет или сертификат для аутентификации.
- Дополнительные настройки: Перейдите в раздел «Дополнительно» и убедитесь, что установлен флажок «Отправлять весь трафик через VPN-соединение». Это обеспечит, что весь ваш интернет-трафик будет проходить через VPN.
- Настройка IPv6: На вкладке «TCP/IP» убедитесь, что в разделе «Настройка IPv6» выбрано «Локальная ссылка», если не хотите использовать IPv6 или ваш VPN не поддерживает его.
- Сохраните и подключитесь: Нажмите «ОК», чтобы закрыть дополнительные настройки, а затем «Применить», чтобы сохранить вашу новую VPN-конфигурацию. Выберите созданное VPN-соединение из списка и нажмите «Подключить», чтобы начать использование VPN.
Ubuntu/Linux
Для Ubuntu и других дистрибутивов Linux на базе Ubuntu версий 18.04 и новее, процесс установки и настройки VPN-клиента IPsec/L2TP остается в основном неизменным и актуален на 2024 год. Однако стоит проверить наличие обновлений для пакетов и убедиться в совместимости с вашей версией системы. Вот обновленная инструкция по настройке:
-
Установка необходимых пакетов:
- Откройте терминал.
-
Установите пакет network-manager-l2tp и network-manager-l2tp-gnome (для графического интерфейса) с помощью команды:
sudo apt-get update && sudo apt-get install network-manager-l2tp network-manager-l2tp-gnome
-
Настройка VPN-соединения:
- Откройте «Настройки» > «Сеть» > «VPN». Нажмите кнопку «+» для добавления нового VPN-соединения.
- В появившемся списке выберите «Layer 2 Tunneling Protocol (L2TP)».
- Введите название вашего VPN-соединения в поле «Имя».
- В поле «Шлюз» введите IP-адрес вашего VPN-сервера.
- Введите имя пользователя в поле «Имя пользователя».
- Щелкните на значок «?» в поле «Пароль» и выберите «Хранить пароль только для этого пользователя», затем введите ваш пароль.
- Оставьте поле «Домен NT» пустым.
-
Нажмите на кнопку «Настройки IPsec…»:
- Установите флажок «Включить IPsec для L2TP хоста».
- Оставьте поле «Идентификатор шлюза» пустым.
- Введите ваш Pre-shared key (PSK) для IPsec в соответствующее поле.
-
В разделе «Дополнительно», укажите алгоритмы шифрования:
-
Для «Фазы 1» используйте:
aes128-sha1-modp2048
. -
Для «Фазы 2» используйте:
aes128-sha1
.
-
Для «Фазы 1» используйте:
- Нажмите «ОК», затем «Добавить» для сохранения настроек VPN-соединения.
- Активируйте VPN-соединение, переключив соответствующий слайдер в положение «Вкл».
После завершения этих шагов, VPN-соединение должно быть настроено и готово к использованию. Обратите внимание, что конкретные алгоритмы шифрования и другие параметры безопасности могут отличаться в зависимости от требований вашей VPN-сети, поэтому рекомендуется консультироваться с вашим администратором сети или документацией VPN-сервиса.
Заключение
Благодаря IPsec VPN IP-пакеты защищены при прохождении к шлюзу IPsec и от него. Протоколы IPsec реализуют безопасную сеть, которая защищает данные VPN от внешних злоумышленников.
Хотите узнавать больше о технологиях и наших облачных продуктах? Подписывайтесь на нашу рассылку и следите за новостями: Телеграм и Вконтакте.