Подробный гайд: Ошибка AgentManagerService: неверный алгоритм на сервере NDecRDS01
Эта ошибка характерна для агентов удалённого доступа/брокеров соединений (часто встречается в Parallels RAS, 2X ApplicationServer, N-able, ManageEngine и аналогичных системах). Сообщение Указан неправильный алгоритм является прямой локализацией системной ошибки Windows CryptoAPI (NTE_BAD_ALGID / ERROR_INVALID_ALGORITHM). Она возникает, когда агент пытается установить защищённое соединение или проверить подпись, используя криптографический алгоритм, заблокированный политиками безопасности ОС.
Ниже приведён подробный гайд по диагностике и устранению.
1. Основные причины
| Причина | Почему возникает |
|---|---|
| Включён режим FIPS | Windows блокирует все алгоритмы, не сертифицированные FIPS 140-2/3. Многие старые агенты используют SHA1, MD5 или не-FIPS шифры. |
| Отключены устаревшие TLS/шифры | Групповые политики или базовые линии безопасности (CIS, STIG) отключают TLS 1.0/1.1, RC4, 3DES, SHA1. Агент ещё не обновлён под TLS 1.2+. |
| Некорректный сертификат | Сертификат, используемый агентом или сервером, подписан через SHA1, имеет RSA < 2048 бит или просрочен. |
| Несовместимость версий | Агент устарел и не поддерживает современные крипто-стандарты Windows 10/11 или Server 2019+. |
| Сломанный кэш CryptoAPI/WinHTTP | Редко, но повреждение системных крипто-настроек вызывает ошибки инициализации. |
2. Пошаговое решение
Шаг 1: Проверка и отключение режима FIPS (если допустимо политикой)
- Откройте
gpedit.msc(илиrsop.mscдля проверки применённых политик).
2. Перейдите:
Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности
3. Найдите политику:
Системная криптография: использовать FIPS-совместимые алгоритмы шифрования, хеширования и подписи
4. Если статус Включена -> измените на Отключена -> gpupdate /force -> перезагрузите сервер.
5. Альтернатива через реестр (требует прав администратора):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
"Enabled"=dword:00000000
Отключение FIPS снижает уровень соответствия стандартам. Применяйте только после согласования с отделом информационной безопасности.
Шаг 2: Проверка настроек TLS и наборов шифров
Агент может пытаться использовать TLS 1.0/1.1 или отключённые шифры.
1. Откройте regedit и проверьте ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\
2. Убедитесь, что для TLS 1.2 (под Client и Server) стоят значения:
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000
3. Для .NET-агентов включите Strong Crypto:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
- Перезапустите службу агента:
net stop AgentManagerService && net start AgentManagerService
Шаг 3: Проверка сертификатов
- Откройте
certlm.msc->Личные->Сертификаты. - Найдите сертификат, привязанный к агенту (обычно по имени хоста
NDecRDS01или issuer).
3. Откройте свойства -> вкладка Подробности:
- Алгоритм подписи: должен быть
sha256RSA(илиsha384RSA,ecdsa-sha256). - Открытый ключ: RSA >= 2048 бит или ECDSA >= 256.
- Если используется
sha1RSAили ключ < 2048 -> запросите/выпустите новый сертификат и замените его. - Перезапустите агент.
- Если используется
Шаг 4: Обновление агента
Старые версии агентов часто не поддерживают современные крипто-политики Windows.
1. Удалите текущую версию агента через appwiz.cpl или скрипт вендора.
2. Очистите остаточные файлы (обычно в C:\Program Files\<Vendor>\Agent\ и C:\ProgramData\<Vendor>\).
3. Скачайте последнюю стабильную версию с официального сайта вендора.
4. Установите от имени администратора, убедитесь, что установлены все зависимости (.NET 4.8+, VC++ Redist).
5. Перезагрузите сервер и проверьте статус службы.
3. Диагностика и анализ логов
Если ошибка сохраняется, соберите детальную информацию:
| Источник | Как проверить |
|----------|---------------|
| Журналы Windows | eventvwr.msc -> Журналы Windows -> Приложение и Система. Ищите события с источником AgentManagerService, Schannel, CryptNet, WinHTTP. |
| Логи агента | Обычно: C:\ProgramData\<Vendor>\Agent\Logs\ или C:\Program Files\<Vendor>\Agent\logs\. Ищите строки algorithm, crypto, TLS, handshake failed. |
| Проверка Schannel | Включите расширенное логирование TLS:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\EventLogging -> 7 (все события) -> перезапуск -> проверка eventvwr -> Приложения и службы журналы -> Microsoft -> Windows -> Schannel |
| Тест соединения | Test-NetConnection NDecRDS01 -Port <порт_агента> + curl -v https://NDecRDS01:<порт> для проверки рукопожатия TLS. |
4. Меры предосторожности
- Не отключайте FIPS или устаревшие шифры в production без согласования с ИБ.
- Временное ослабление политик допускается только на staging-сервере или в окне обслуживания.
- Всегда используйте сертификаты
SHA-256+RSA 2048/4096илиECDSA. - Регулярно обновляйте агенты и базовые образы ОС.
5. Если ошибка не уходит
- Уточните название продукта/вендора агента (Parallels RAS, ThinManager, N-able, кастомное решение и т.д.).
- Укажите версию ОС (
winver/systeminfo). - Приложите выдержку из лога агента (3–5 строк до/после ошибки).
- Проверьте, не применяются ли к серверу базовые линии CIS/STIG через GPO или SCCM/Intune. Они часто принудительно отключают legacy crypto.