Menggunakan defaultAuthenticationType dengan PowerShell Web Access

14

Akses web PowerShell memungkinkan Anda memilih jenis otentikasi. Secara default, ini menggunakan nilai Default, yang akhirnya menjadi Negotiate. Saya telah menyiapkan CredSSP untuk memungkinkan login ke server PSWA sendiri dengan CredSSP, sehingga otentikasi jaringan berfungsi dari dalam sesi (menghindari masalah hop ganda, tanpa mendelegasikan kredensial di seluruh jaringan).

Lagi pula, saya ingin CredSSP menjadi opsi default pada halaman masuk.

Melihat ke opsi konfigurasi untuk aplikasi web PSWA di IIS, ada beberapa nilai yang dapat diatur untuk menimpa default.

Salah satunya disebut defaultAuthenticationTypeyang merupakan stringtetapi diatur ke 0.

Ini sepertinya pengaturan yang tepat, tetapi saya tidak bisa membuatnya bekerja.

Jika saya memeriksa halaman web masuk saya dapat melihat bahwa kotak pilih memiliki nilai-nilai berikut:

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

3 hilang.

JosefZ menemukan bahwa 3ini NegotiateWithImplicitCredentialmenurut halaman ini , tetapi pada Windows PowerShell 5.1.15063.966 bagi saya bahwa nama / nilai yang hilang dari enum.

Jika saya menetapkan defaultAuthenticationTypeke suatu angka, maka halaman web secara default ke opsi baru:

7   Admin Specified

Saya sudah mencoba 3dan 4, tetapi tidak ada yang berhasil. Info masuk terjadi menggunakan Kerberos, dan CredSSP tidak digunakan.

Jika saya memilih CredSSP secara manual itu berfungsi seperti yang diharapkan.

Jika saya mengatur defaultAuthentcationTypeke string seperti CredSSP, tidak ada Admin Specifiedopsi muncul dan itu hanya default untuk Defaultlagi, dan masih menggunakan otentikasi Kerberos.

Adakah yang berhasil mengatur ini? Hasil web sangat kurang.

briantis
sumber
Apakah Anda juga memperbarui halaman logon.aspx untuk memilih opsi CredSSP secara default?
Persistent13
@ Persistent13 no Saya tidak menyentuh halaman itu. Saya kira itu akan berhasil, dan saya mungkin mengambil jalan untuk itu, tapi itu jelas merupakan peretasan. Saya menginginkan sesuatu yang didukung dan dapat diulang. Saya benar-benar menginstal dan mengkonfigurasi ini hampir sepenuhnya melalui DSC, dan saya tidak ingin harus menulis sumber daya skrip janky untuk mengubah nilai itu di logon.aspx. Tapi itu saran yang bagus.
briantis
Untuk DSC saya sarankan menulis sumber Anda sendiri atau menggunakan sumber daya skrip untuk memperbarui logon.aspx menggunakan kombinasi Get-Content, -replace, dan Set-Content karena akan lebih berulang.
Persistent13
@ Persistent13 ya, itu bisa dilakukan. Saya hanya berpikir itu jelas bahwa maksudnya adalah untuk mendukung mengubah nilai ini di konfigurasi, itu hanya tidak berfungsi, dan menulis sumber daya sangat sulit untuk ini; untuk tujuan saya pula.
briantist
1
[System.Management.Automation.Runspaces.AuthenticationMechanism]:: NegotiateWithImplicitCredential -as [int]lihat AuthenticationMechanismenum
JosefZ

Jawaban:

0

coba ikuti panduan ini. Buku ini akan membawa Anda ke tempat yang Anda inginkan. 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.
Joshua Coons
sumber
Hai Joshua, saya menghargai jawaban Anda tetapi sayangnya ini tidak menjawab pertanyaan. Saya sudah menyiapkan CredSSP, masalahnya adalah mengubah opsi autentikasi default di antarmuka web PSWA. Semua yang saya lakukan adalah bekerja secara teknis, itu hanya merepotkan harus memilih CredSSP secara manual pada setiap login ketika tujuannya adalah untuk selalu menggunakan CredSSP. Dan PSWA tampaknya memiliki pengaturan untuk mengendalikan hal ini, namun tidak berhasil.
briantist