Офіційний порт для Android популярного VPN-рішення strongSwan.
# ОСОБЛИВОСТІ ТА ОБМЕЖЕННЯ #
* Використовує API VpnService, доступний для Android 4+. Пристрої деяких виробників, здається, не підтримують це - клієнт strongSwan VPN не працюватиме на цих пристроях!
* Використовує протокол обміну ключами IKEv2 (IKEv1 *не* підтримується)
* Використовує IPsec для передачі даних (L2TP *не* підтримується)
* Повна підтримка зміненого підключення та мобільності через MOBIKE (або повторну автентифікацію)
* Підтримує автентифікацію EAP за іменем користувача/паролем (а саме EAP-MSCHAPv2, EAP-MD5 та EAP-GTC), а також автентифікацію за допомогою закритого ключа/сертифіката RSA/ECDSA для автентифікації користувачів, також підтримується EAP-TLS із сертифікатами клієнта
* Комбінована автентифікація RSA/ECDSA та EAP підтримується за допомогою двох раундів автентифікації, як визначено в RFC 4739
* Сертифікати сервера VPN перевіряються на відповідність сертифікатам ЦС, попередньо встановленим або встановленим користувачем у системі. Сертифікати ЦС або сервера, які використовуються для автентифікації сервера, також можна імпортувати безпосередньо в програму.
* Фрагментація IKEv2 підтримується, якщо сервер VPN підтримує її (strongSwan підтримує це з 5.2.1)
* Спліт-тунелювання дозволяє надсилати лише певний трафік через VPN та/або виключати з нього певний трафік
* VPN для кожної програми дозволяє обмежити VPN-з’єднання певними програмами або заборонити їх використовувати
* Реалізація IPsec наразі підтримує алгоритми AES-CBC, AES-GCM, ChaCha20/Poly1305 і SHA1/SHA2
* Паролі наразі зберігаються як відкритий текст у базі даних (лише якщо зберігаються разом із профілем)
* Профілі VPN можна імпортувати з файлів
* Підтримує керовані конфігурації за допомогою корпоративного керування мобільністю (EMM)
Подробиці та журнал змін можна знайти в наших документах: https://docs.strongswan.org/docs/latest/os/androidVpnClient.html
# ДОЗВОЛИ #
* READ_EXTERNAL_STORAGE: дозволяє імпортувати профілі VPN і сертифікати ЦС із зовнішньої пам’яті в деяких версіях Android
* QUERY_ALL_PACKAGES: необхідний на Android 11+ для вибору додатків для екс-/включення в профілі VPN і додаткового варіанту використання EAP-TNC
# ПРИКЛАД КОНФІГУРАЦІЇ СЕРВЕРА #
Приклади конфігурацій сервера можна знайти в наших документах: https://docs.strongswan.org/docs/latest/os/androidVpnClient.html#_server_configuration
Зверніть увагу, що ім’я хоста (або IP-адреса), налаштоване за допомогою профілю VPN у додатку, *має* міститися в сертифікаті сервера як розширення subjectAltName.
# ВІДГУК #
Публікуйте звіти про помилки та запити щодо функцій через GitHub: https://github.com/strongswan/strongswan/issues/new/choose
Якщо ви це зробите, додайте інформацію про свій пристрій (виробник, модель, версія ОС тощо).
Файл журналу, створений службою обміну ключами, можна надіслати безпосередньо з програми.