Техническое задание: Настройка VPN-сервера StrongSwan
Цель проекта
Развернуть защищенный VPN-сервер на виртуальном сервере с Ubuntu 24.04 для обеспечения удаленного доступа к ресурсам локальной сети через интернет. Решение должно быть универсальным и работать с различными клиентами.
Основные требования
1. Серверная часть
- Операционная система: Ubuntu Server 24.04
- Используемое ПО: StrongSwan с новым интерфейсом VICI
- Автозапуск: Сервер должен автоматически запускаться после перезагрузки системы
2. Безопасность и аутентификация
- Аутентификация пользователей: метод EAP (логин/пароль)
- Сертификат: использование сертификата Let's Encrypt
- Защита сервера: настройка nftables со следующими правилами:
- Базовая политика DROP для входящих соединений
- Использование conntrack для отслеживания соединений
- Ограничение количества новых подключений
- Стандартные меры защиты сетевого сервиса
3. Клиентская совместимость
- Обязательная поддержка: клиент StrongSwan для Android
- Дополнительная поддержка: Windows 10, маршрутизаторы ddWrt
- Упрощенное подключение: у клиентов не должны требоваться дополнительные сертификаты, только хост, логин и пароль
- Конфигурация IPsec: должна использовать стандартные алгоритмы шифрования для совместимости с разными реализациями
4. Дополнительные возможности (бонусные требования)
- Назначение статического IP-адреса клиенту на основе логина пользователя
- Предоставление решения в виде конфигурации Ansible для автоматизации развертывания
5. Сетевая архитектура
- Сервер размещается на VPS с публичным IP-адресом
- Локальная сеть находится за NAT с динамическим серым IP-адресом
- VPN должен обеспечивать доступ к ресурсам локальной сети из интернета
Ожидаемый результат
Полностью функционирующий VPN-сервер, протестированный с мобильным клиентом, с документацией по настройке и эксплуатации. Приветствуются уточнения и предложения по улучшению конфигурации в рамках технического задания.