Рейтинг:0

Серверы Linux перестали использовать удаленное взаимодействие PowerShell через WinRM с использованием NTLM на удаленных серверах Windows.

флаг sm

Итак, в основном у нас есть команда с серверами Linux, работающими с PowerShell Core (смесь 6 и 7), которые должны выполнять удаленные команды Windows PowerShell на серверах Windows. Проблема в том, что команда никогда не заставляла Kerberos работать для аутентификации и полагается на gssapi для работы аутентификации NTLM, которая, насколько я знаю, фактически не поддерживается MS для этого сценария.

Сейчас происходит то, что эти Linux-серверы через некоторое время получают ошибки MI_RESULT_FAILED (это началось только на прошлой неделе, до этого все работало нормально) и требуют перезапуска службы WinRM на удаленном узле для работы удаленного взаимодействия. Это работает примерно сутки, прежде чем WinRM нужно будет снова вернуть.

Теперь, поскольку NTLM не является механизмом аутентификации, поддерживаемым PowerShell Core в Linux (работает только из-за gssntlmssp, который поддерживается RedHat, а не Microsoft), четкий путь вперед здесь будет заключаться в том, чтобы вместо этого использовать OpenSSH для PS Remoting из Linux, или переключиться на использование проверки подлинности Kerberos вместо NTLM. Однако, поскольку до прошлой недели все работало, руководство не хочет проводить аутентификацию или изменение протокола для решения этой проблемы, они хотят, чтобы то, что работало, было исправлено. На данный момент я крутил колеса, пытаясь понять, почему сломалась аутентификация NTLM, и мои рекомендуемые исправления пока не обсуждаются.

На исходных узлах работает RHEL8 или AL2, на удаленных узлах — Windows 2016–2019, а также несколько устаревших версий 2012. Удаленное взаимодействие между Windows и Windows PS нет ломать здесь, только линукс для винды.

Кто-нибудь попадал в эту ситуацию раньше или что-то подобное? Любые идеи о том, что мы могли бы попытаться решить эту проблему?

РЕДАКТИРОВАТЬ: я исправил ошибку выше, чтобы MI_RESULT_FAILED. ДОСТУП ЗАКРЫТ это то, что сказала команда, сообщившая о проблеме, но в нашем воспроизведении проблемы мы видим MI_RESULT_FAILED. Трассировка WinRM показывает, что аутентификация NTLM прошла успешно, но по-прежнему не удается, даже когда просто отображается «Hello World» через Invoke-Command.

флаг cn
Что находится в журнале удаленного управления/операционных событий Windows? Обычно там есть детали провала.
Bender the Greatest avatar
флаг sm
Я исправил указанную выше ошибку, но когда возникает проблема, единственная запись в журнале, которую я получаю в разделе «Удаленное управление/операция Windows», — это «Создание оболочки WSMan на сервере с ResourceUri: %1».
duct_tape_coder avatar
флаг cn
Просто чтобы проверить, вы действительно имеете в виду NTLM или NTLMv2? Обычно NTLMv1 отключен по соображениям безопасности.
Bender the Greatest avatar
флаг sm
Извините, они используют NTLMv2. У нас отключен NTLMv1
Monticola Explorator avatar
флаг sa
Где вы можете понять это? Я столкнулся с той же проблемой и [временно исправил ее, установив для WinRM CbtHardeningLevel значение None на сервере] (https://github.com/jborean93/omi/issues/29)
Bender the Greatest avatar
флаг sm
Неа. Волшебным образом начал работать сам по себе. С тех пор мы начали развертывание SSH в Windows, поскольку это было предложение MS и избавило нас от неподдерживаемой установки.

Ответить или комментировать

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