IPsec (Internet Protocol Security) — набор протоколов для шифрования и аутентификации IP-пакетов на сетевом уровне (L3). Обеспечивает безопасный туннель между двумя точками без изменений на уровне приложений. Основа для VPN-решений корпоративного уровня.
Как работает
IPsec работает в двух режимах:
- Transport mode — шифруется только полезная нагрузка пакета, IP-заголовок остаётся открытым. Для связи двух конкретных хостов.
- Tunnel mode — шифруется весь пакет, добавляется новый IP-заголовок. Для VPN-туннелей между шлюзами.
Два ключевых протокола: AH (Authentication Header) — аутентификация без шифрования. ESP (Encapsulating Security Payload) — шифрование + аутентификация. На практике используется ESP.
Управление ключами через IKE (Internet Key Exchange): IKEv2 — современная версия с быстрым переподключением при смене IP (MOBIKE). Алгоритмы: AES-256, ChaCha20, SHA-256/384.
История
IPsec разработан IETF в 1990-х как часть IPv6 (обязательный компонент) и опциональное расширение для IPv4. RFC 2401 (1998) — первая версия стандарта. Широкое распространение пришло с корпоративными VPN в 2000-х. IKEv2 стандартизирован в 2005 году (RFC 4306), стал предпочтительным протоколом для мобильных устройств. strongSwan и Libreswan — основные open-source реализации.
IPsec vs WireGuard vs OpenVPN
| Протокол | Производительность | Сложность | Применение |
|---|---|---|---|
| IPsec/IKEv2 | Высокая | Высокая | Корпоративные VPN, iOS/Android built-in |
| WireGuard | Очень высокая | Низкая | Современные VPN, VPS под VPN |
| OpenVPN | Средняя | Средняя | Клиентский VPN, обход блокировок |
Настройка на Linux
strongSwan — популярный IPsec-демон для Linux-серверов:
# Установка
apt install strongswan
# Конфигурация /etc/ipsec.conf
conn myvpn
keyexchange=ikev2
left=%any
leftid=@server.example.com
leftsubnet=0.0.0.0/0
right=%any
auto=add
На что обращать внимание
IPsec требует поддержки в брандмауэре: UDP 500 (IKE), UDP 4500 (NAT traversal), ESP протокол (50). На VPS за NAT ESP может не проходить — используйте NAT-T (UDP 4500). Для простых VPN на VPS WireGuard предпочтительнее — проще настройка и выше производительность. IPsec незаменим для interoperability с оборудованием Cisco, Juniper и мобильными клиентами iOS/Android.
IKEv2 + EAP аутентификация
IKEv2 с EAP позволяет аутентифицироваться по логину и паролю — удобно для корпоративных VPN с большим числом сотрудников. strongSwan поддерживает EAP-MSCHAPv2 (совместимость с Windows) и EAP-TLS (сертификаты клиентов). iOS и Android поддерживают IKEv2 нативно — без установки дополнительных приложений.
MOBIKE (Mobility and Multihoming Protocol, RFC 4555) — ключевая функция IKEv2: при смене IP-адреса (переключение Wi-Fi → LTE) туннель автоматически восстанавливается без переподключения. Критично для мобильных пользователей корпоративного VPN.
Site-to-Site IPsec
Соединение двух офисов или ЦОД через IPsec-туннель: пакеты между подсетями 10.0.1.0/24 и 10.0.2.0/24 шифруются прозрачно. Приложения работают как в единой локальной сети. Настройка в strongSwan через leftsubnet и rightsubnet в /etc/ipsec.conf. Nginx на одном ЦОД проксирует запросы к MariaDB на другом — всё через зашифрованный туннель.
Мониторинг IPsec
Статус туннелей: ipsec status (strongSwan) или ipsec statusall. В Grafana можно отобразить количество активных SA (Security Associations) через Prometheus-экспортер strongSwan. Разрыв туннеля при нулевом трафике — настройте dpdaction=restart (Dead Peer Detection) для автопереподключения.