2012-08-24 11 views
5

Próbuję skonfigurować zdalne zarządzanie na kilku komputerach. Mogę z powodzeniem wykonywać polecenia na zdalnej maszynie z mojego komputera, ale nie chcę, aby ktokolwiek mógł to zrobić.Zaufane hosty zaufanych hostów nie działa

Próbowałem ustawić zaufane hosty na zdalnym komputerze i zrestartowałem usługę, ale wydaje się, że nic nie robi.

Na przykład, na zdalnym komputerze:

winrm set winrm/config/client '@{TrustedHosts="someIncorrectName"}' 

I wtedy ponownie uruchomić usługę WinRM.

Dlaczego mogę nadal uruchamiać zdalne polecenia z mojego laptopa? Czy nie powinno to uniemożliwić wykonania polecenia?

biegnę komendę w następujący sposób:

Invoke-Command -cn remoteMachine -Credential $cred -scriptblock {get-process} 

Gdzie $ cred został wygenerowany przy użyciu poświadczeń domeny dostać-/ login.

Przeczytałem kilka rzeczy o TrustedHosts i wydaje się, że przekazują sprzeczne raporty co do tego, co robi. Niektórzy ludzie twierdzą, że uniemożliwia wykonywanie poleceń na komputerach niewymienionych na liście zaufanych hostów. Inni mówią, że jest to lista komputerów, które mogą uruchamiać polecenia na tym komputerze.

MSDN mówi: "Określa listę komputerów zdalnych, które są zaufane." Wydaje się to sugerować, że jest to druga opcja (lista komputerów, które mogą wykonywać polecenia na komputerze).

Co robię źle?

Dzięki

Odpowiedz

6

TrustedHosts nie robi tego, co myślisz. W przeciwieństwie do uniksowych .rhosts, to ustawienie jest dla klienta PowerShell , a nie punktu końcowego serwera zdalnego. To dlaczego to znaleźć na stronie:

WSMan:\localhost\Client 

Gdyby to było istotne dla słuchacza, to byłoby w węźle Service.

Tak jak inne odpowiedzi dotyczą, jest to zwykle używane w środowiskach innych niż domeny lub mieszane, aby uniemożliwić klientowi wysłanie odpowiedzi typu challenge-response lub podstawowej autoryzacji NTLM na niezaufaną maszynę zdalną. Czemu? Ponieważ zdalny serwer typu "rogue" może przechwytywać te informacje i wykorzystywać je w celu złamania zabezpieczeń sieci. W środowisku mieszanym jedyną dostępną ochroną jest protokół SSL, a wiele osób może wyłączyć tę funkcję poprzez AllowUnencrypted = $false, ponownie w węźle Client dysku WSMAN.

Jak ograniczyć połączenia przychodzące? Powinieneś już nawiązać połączenie i zacząć przeglądać pod węzłem WSMAN:\localhost\Service na serwerze zdalnym. Jeśli to zrobisz, zobaczysz:

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service 

Type   Name       SourceOfValue Value                  
----   ----       ------------- -----                  
System.String RootSDDL          ...  
System.String MaxConcurrentOperations      4294967295                 
System.String MaxConcurrentOperationsPerUser     1500                   
System.String EnumerationTimeoutms       240000                  
System.String MaxConnections         300                   
System.String MaxPacketRetrievalTimeSeconds     120                   
System.String AllowUnencrypted        false                  
Container  Auth                              
Container  DefaultPorts                            
System.String IPv4Filter          *                   
System.String IPv6Filter          *                   
System.String EnableCompatibilityHttpList...     false                  
System.String EnableCompatibilityHttpsLis...     false                  
System.String CertificateThumbprint                          
System.String AllowRemoteAccess        true                   

Teraz, patrząc w dół tej listy, zobaczysz kilka trafnie nazwanych właściwości jak IPv4Filter i IPv6Filter. Zgadnij, co one robią ;-)

Powiązane problemy