Always on VPN (IKEv2 машинный туннель) типы шифрования

Всем привет,

Я в данный момент разворачиваю Always On VPN в своей среде, используя туннели IKEv2 на устройствах, и Cisco ASA в качестве концентратора.

Мне удалось запустить VPN, но я вижу, что по умолчанию у Windows установлены 3DES, SHA1 и параметры DH 1024 бит. Необходимое шифрование настолько слабое, что его практически нечего использовать.

Я пытаюсь настроить ASA и клиент Windows так, чтобы использовать шифрование AES-GCM, а также параметры ECDH 256-бит и проверку целостности SHA256, но сталкиваюсь с некоторыми проблемами.

Мой конфигурационный файл ASA выглядит так:

Политика IKEv2:

crypto ikev2 policy 60
encryption aes-gcm
integrity null
group 19
prf sha256
lifetime seconds 86400

Предложение IPsec:
crypto ipsec ikev2 ipsec-proposal ipsec-proposal
protocol esp encryption aes-gcm aes-gcm-192 aes-gcm-256
protocol esp integrity sha-256

А конфигурация клиента Windows следующая:

$connection = “[название соединения]”
Set-VpnConnectionIPsecConfiguration -ConnectionName $connection -AuthenticationTransformConstants AESGCM -CipherTransformConstants AES128 -DHGroup ECP256 -EncryptionMethod AES128 -IntegrityCheckMethod SHA256 -PFSgroup PFS2048 -Force

Я сделал захват пакета и вижу совпадающие предложения от ASA и клиента Windows, однако соединение никогда не завершается и, похоже, истекает по тайм-ауту.

Есть ли у кого-то рабочая конфигурация ASA, которую можно было бы поделиться? Мне кажется, я что-то пропустил.

С группой Диффи-Хеллмана нужно как минимум 14, предпочтительно 19 или 20, но, судя по вашей конфигурации, у ASA стоит 19, а у Windows — 14, не так ли?

Определение причин, почему IPsec не удается успешно подключиться, может быть сложной задачей, поскольку протоколы не желают давать обратную связь, которая могла бы помочь в переборе.

Если тут ничего не поможет, попробуйте перенести вопрос в /r/networking.

У меня была похожая проблема, я боюсь сказать, но моё решение — подождать 6 месяцев, всё переехало в Azure и настроил Always On там.

Буду рад, если кто-то более осведомлённый, чем я с устаревшим CCNA, сможет помочь.

Рассматривали ли вы использование AnyConnect с функцией Start Before Login? AnyConnect очень легко настроить.

Я не знаю точно ваш сценарий использования, но подумал, что стоит спросить.

Также у вас есть хотя бы алгоритм хеширования и несовпадение DH, просто при беглом взгляде.

Ой, я исправил этот несоответствие. Теперь у меня ошибка “невозможно подтвердить подпись” — возможно, потребуется провести дополнительную отладку на ASA с моим сетевым специалистом.

Bug Search Tool Надеюсь, это не баг, с которым я столкнулся :frowning:

Если ничего не изменилось, AnyConnect — это кво-проприетарный клиент VPN на базе dTLS, требующий лицензирования для каждого пользователя, тогда как IPsec/IKEv2 на ASA — безлимитный. Думаю, у OP есть правильный подход. Санкционирование Cisco отказа в предоставлении 64-битного клиента IPsec для Windows, чтобы заставить использовать AnyConnect, скорее всего, стало одним из основных причин, почему мы перестали использовать ASA.