Вопрос или проблема
Я пытаюсь настроить удалённый доступ VPN-сервер с IPSec/IKEv2 для компании средних размеров. Пользователи должны подключаться к этому серверу (межсетевому экрану FortiGate) с использованием родного клиента Windows и аутентифицироваться с помощью сертификатов.
Я мучился несколько дней с OpenSSL, чтобы сгенерировать подходящие сертификаты (сертификаты CA, сервера и пользователя), и в итоге использовал EasyRSA с этим учебником.
Я установил сертификаты на соответствующих конечных устройствах :
- Клиент Windows : сертификаты CA и пользователя (в хранилищах сертификатов как локального пользователя, так и компьютера)
- Сервер FortiGate : сертификаты CA и сервера
Затем я настроил родной клиент VPN Windows, чтобы сопоставить параметры подключения фазы 1 и фазы 2 с помощью этой команды :
Set-VpnConnectionIPsecConfiguration -ConnectionName "TEST" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -PfsGroup ECP384 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP384
К сожалению, при попытке установить соединение оно не удаётся с этой ошибкой :
IKE не удалось найти действительный сертификат машины. Обратитесь к вашему администратору сетевой безопасности, чтобы установить действительный сертификат в соответствующее хранилище сертификатов.
А в Просмотрщике событий отображается следующее :
CoId={FDAC14F2-F462-0004-73CA-ADFD62F4DA01}: Пользователь COMPANY\name набрал соединение с названием TEST, которое завершилось неудачей. Код ошибки, возвращенный при сбое, равен 13806.
Это привело меня к этому блогу, но я не смог решить проблему. Я подозреваю, что что-то не так с сертификатами, потому что при попытке аутентификации с помощью PSK всё работает отлично.
Спасибо за помощь.
ДОПОЛНЕНИЕ
- Сертификат пользователя находится в хранилище Текущий пользователь > Личное > Сертификаты.
- Сертификат CA находится в хранилище Текущий пользователь > Доверенные корневые центры сертификации > Сертификаты.
Я также добавил сертификаты в те же хранилища, но как сертификаты Локального компьютера, а не как сертификаты Текущего пользователя, но это, похоже, не дало никаких результатов.
ДОПОЛНЕНИЕ
Команда certutil store My
возвращает следующее :
================ Сертификат 3 ================
Номер сертификата: 8ed884d983324ca3578e5f7bff425654
Издатель: CN=MyRootCA
Не ранее: 20/08/2024 10:34
Не позже: 23/11/2026 10:34
Субъект: CN=tgerber, S=Ile-de-France, C=FR
Некорневой сертификат
Хэш сертификата (sha1): 1cdb0b49e198202896ecff0ca325687e4d3118ed
Нет информации о поставщике ключей
Не удаётся найти сертификат и закрытый ключ для расшифровки.
Какой сертификат вы используете, ecc или rsa? Если это rsa сертификат машины, вы не можете использовать dhgroup ecc под управлением Windows, измените -DHGroup ECP384 в команде на -DHGroup Group14(https://learn.microsoft.com/en-us/archive/msdn-technet-forums/b1d8b473-b05d-413b-8afe-2eeab00d263a#d57a366f-3403-4b28-9b49-677bc07f6df2)
Ответ или решение
Устранение ошибки "IKE не удалось найти действительный сертификат машины" при установлении VPN-соединения с IKEv2 на Windows 11
Проблема
Вы пытаетесь настроить удалённый доступ по протоколу VPN IKEv2 с использованием FortiGate, но сталкиваетесь с ошибкой при установлении соединения. Сообщение об ошибке "IKE failed to find valid machine certificate" указывает на проблемы с сертификатами, которые необходимы для аутентификации. Это обычно связано с отсутствием или неправильно установленными сертификатами на клиентском ПК с Windows 11.
Причины возникновения проблемы
- Неправильная установка сертификатов: Сертификаты могут быть установлены в неправильные хранилища (Local User вместо Local Computer), в результате чего клиент не может их обнаружить.
- Отсутствие закрытого ключа: Ошибка, полученная при выполнении команды
certutil store My
, указывает на то, что не найден закрытый ключ для вашего пользовательского сертификата. Это происходит, если сертификат был установлен, но закрытый ключ не был импортирован или не был сгенерирован. - Несоответствие криптографических алгоритмов: Если вы используете алгоритмы ECC (эллиптической кривой), но для DH-группы выбрана группа RSA, это может вызвать проблемы при установлении соединения.
Шаги по устранению проблемы
-
Проверка и установка сертификатов:
- Откройте "Управление сертификатами" (certmgr.msc).
- Убедитесь, что CA-сертификат установлен в хранилище Trusted Root Certification Authorities как для Текущего Пользователя, так и для Локального Компьютера.
- Убедитесь, что Сертификат пользователя (который будет использовать пользователь для подключения) установлен в хранилище Personal как для Текущего Пользователя, так и для Локального Компьютера.
- Если вы видите сертификат, но не видите закрытый ключ, то вам нужно заново сгенерировать и установить сертификат, убедившись, что закрытый ключ экспортируется вместе с ним.
-
Проверка настроек шифрования:
- Убедитесь, что параметры, указанные в вашей конфигурации
Set-VpnConnectionIPsecConfiguration
, соответствуют используемым сертификатам. Если вы используете ECC сертификаты, измените DHGroup сECP384
наGroup14
, если вы используете RSA. - Пример с изменением:
Set-VpnConnectionIPsecConfiguration -ConnectionName "TEST" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -PfsGroup ECP384 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup Group14
- Убедитесь, что параметры, указанные в вашей конфигурации
-
Пересоздание сертификатов:
- Если всё вышеперечисленное не помогло, удалите существующие сертификаты и пересоздайте их, внимательно следуя инструкциям и шагам, указанным в EasyRSA или любом другом инструменте для управления сертификатами.
- Проверьте наличие всех необходимых полей (CN, O, и др.) в сертификате.
-
Проверка Event Log:
- Используйте Event Viewer для получения более подробной информации о том, в чём может быть проблема. Особенно обратите внимание на категории, относящиеся к AAD или IPsec.
-
Дополнительные настройки и тестирование:
- Иногда проблема может быть связана с сетевыми настройками Windows или FortiGate. Проверьте, нет ли блокировок на уровне брандмауэра.
- Попробуйте протестировать соединение с другого устройства, чтобы исключить проблемы с клиентским компьютером.
Заключение
Надеемся, что эти рекомендации помогут вам выявить и устранить проблему с установлением VPN-соединения по протоколу IKEv2. Убедитесь, что все сертификаты установлены правильно, и криптографические алгоритмы соответствуют друг другу. Настройка VPN может быть сложной, но внимательное следование инструкциям и последовательная проверка всех компонентов помогут вам достичь успеха.