Использование defaultAuthenticationType с PowerShell Web Access

14

Веб-доступ PowerShell позволяет вам выбрать тип аутентификации. По умолчанию он использует значение Default, которое в итоге становится Negotiate. Я настроил CredSSP, чтобы разрешить вход на сам сервер PSWA с помощью CredSSP, чтобы сетевая аутентификация работала в течение сеанса (избегая проблемы двойного прыжка, без делегирования учетных данных по всей сети).

В любом случае, я хочу, чтобы CredSSP был опцией по умолчанию на странице входа.

Рассматривая параметры конфигурации для веб-приложения PSWA в IIS, можно установить несколько значений, чтобы переопределить значения по умолчанию.

Один из них называется defaultAuthenticationType, stringно установлен в 0.

Это похоже на правильную настройку, но я не могу заставить ее работать.

Если я проверяю знак на веб-странице, я вижу, что поле выбора имеет следующие значения:

0   Default
1   Basic
2   Negotiate
4   CredSSP
5   Digest
6   Kerberos

3 пропал, отсутствует.

JosefZ обнаружил, что 3это NegotiateWithImplicitCredentialсоответствует этой странице , но для меня в Windows PowerShell 5.1.15063.966 это имя / значение отсутствует в перечислении.

Если я установлю defaultAuthenticationTypeномер, то на веб-странице по умолчанию появится новая опция:

7   Admin Specified

Я пробовал 3и 4, но ни один не работает. Вход в систему происходит с использованием Kerberos, а CredSSP не используется.

Если я выбираю CredSSP вручную, он работает как положено.

Если я установлю defaultAuthentcationTypeстроку как CredSSP, никакой Admin Specifiedопции не появится, и она просто по умолчанию Defaultснова, и все еще используется аутентификация Kerberos.

Кто-нибудь смог успешно установить это? Веб-результатов очень не хватает.

briantist
источник
Вы также обновили страницу logon.aspx, чтобы выбрать опцию CredSSP по умолчанию?
Persistent13
@ Persistent13 нет, я не трогал эту страницу. Я полагаю, что это сработает, и я мог бы прибегнуть к этому, но это явно хак. Я хотел что-то поддержать и повторить. Я фактически устанавливаю и настраиваю это почти полностью через DSC, и я не хочу писать ненужные ресурсы скрипта, чтобы изменить это значение logon.aspx. Это хорошее предложение наверняка.
Бриантист
Для DSC я бы порекомендовал написать свой собственный ресурс или использовать ресурс сценария для обновления logon.aspx, используя комбинацию Get-Content, -replace и Set-Content, поскольку это было бы более повторяемым.
Persistent13
@ Persistent13 да, это выполнимо. Я просто думаю, что ясно, что цель состояла в том, чтобы поддержать изменение этого значения в конфиге, оно просто не работает, и написание ресурса для этого является сложным; в любом случае для моих целей.
Бриантист
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]смотрите AuthenticationMechanismenum
JosefZ

Ответы:

0

попробуйте следовать этому руководству, оно должно привести вас туда, куда вы хотите. https://www.petri.com/powershell-web-access-configuration

here is the section you want. 
PowerShell
1
Add-PswaAuthorizationRule : This command must be run by a user account with permissions to perform Active Directory queries.
If you run the command in an interactive (i.e. not via remoting) session on the server it should work just fine. The problem here is the second hop. The Add-PSwaAuthorizationRule cmdlet needs to make a connection to a domain controller, which by security design is not allowed in PowerShell Remoting. This second-hop limitation can be overcome by enabling CredSSP authentication. Note: This is not be done lightly as there are security ramifications, so research this fully before employing.

But in my situation, since I want to use remoting, Ill exit out of the remote session and enable CredSSP on my desktop for CHI-WEB01.

PowerShell
1
PS C:\> Enable-WSManCredSSP -DelegateComputer chi-web01 -Role Client
Next, I need to enable the server side.

PowerShell
1
PS C:\> invoke-command {enable-wsmancredssp -Role Server -Force} -ComputerName chi-web01
With this in place, I can now re-establish my remote session specifying CredSSP and my credentials.

PowerShell
1
PS C:\> enter-pssession chi-web01 -Authentication Credssp -Credential globomantics\jeff
Now when I run the authorization command, it works as you can see below in Figure 3.
Джошуа Кунс
источник
Привет Джошуа, я ценю твой ответ, но, к сожалению, это не отвечает на вопрос. Я уже настроил CredSSP, проблема заключается в изменении параметра аутентификации по умолчанию в веб-интерфейсе PSWA. Все, что я делал, работало технически, было просто больно выбирать CredSSP вручную при каждом входе в систему, когда целью было всегда использовать CredSSP. И PSWA, кажется, имеет настройку для управления этой самой вещью, но она не работает.
Бриантист