Windows juhend: Kuidas seadistada domeenis Windows Powershell Remoting grupipoliitikaga

From EIK wiki

Mis on Windows Powershell?

Windows Powershell on tegevuste põhine käsurida ja automatiseerimise keel, mis on mõeldud spetsiaalselt IT süsteemide administreerimiseks. Windows Powershell on .NET raamistikule ehitatud lahendus aitamaks IT professionaalidel ja kõrgtaseme kasutajatel kontrollida ja automatiseerida Windowsi operatsioonisüsteeme ja rakendusi mis jooksevad Windowsi keskkonnas.[1]


Mis on Windows Remote Management?

Windows Remote Management (edaspidi WinRM) on Simple Object Access Protocl–i (SOAP) põhine versioon WS-Management protokollist. Tulemüüri sõbralik protokoll mis võimaldab erinevate ettevõtete riistvara ja operatsioonisüsteemide koos talitlemist. WS-Management protokolli spetsifikatsioon pakub ühist lahendust ligipääsuks ja haldusinfo vahetamiseks üle terve IT taristu.[2]

Eeldused

Windows Powershell 2.0 ja WinRM 2.0 olemasolu nii haldust teostavate kui ka hallatavate masinate operatsioonisüsteemides. Powershell 2.0 ja WinRM 2.0 ilmusid esmakordselt Windows 7 ja Windows Server 2008 operatsioonisüsteemidel. Windows XP, Vista ja Server 2003 ning Server 2008 jaoks on vajalik paigaldada Windows Remote Management lisapakett mille saab alla laadida aadressilt[3]: http://support.microsoft.com/kb/968929

Kuidas seadistada Windows Powershell Remoting

Allolevas juhendis on grupipoliitika rakendamiseks kasutatud Windows Server 2008 R2 Standard versiooni ja klientideks on 2 Windows 7 Pro arvutit. Lahendust saab seadistada ka Windows Server 2003 all kuid sellisel juhul on vajalik paigaldada lisapakett aadressilt: http://support.microsoft.com/kb/936059

Grupipoliitika kirjete loomine ja seadistamine Group Policy Management funktsiooniga

1. Avage domeeni lisatud Windows 7 või Server 2008 arvutist Group Policy Management. Avanenud rakenduses looge uus grupipoliitika objekt, avage see, käivitatakse Group Policy Management Editor ja seal navigeerige Computer Configuration->Policies->Administrative templates->Windows Components. Seadistatavate komponentide nimekirja alumises otsas on näha kolm meid huvitavat objekti: Windows Powershell, Windows Remote Management ja Windows Remote Shell[4]

2.Laiendage Windows Remote Management objekt ja valige selle alt "WinRM Service". Winrm gpo.jpg

3. Powershell Remotingu lubamiseks on WinRM Service alt vaja konfigureerida ainult "Allow automatic configuration of listeners" Winrm gpo panel.jpg
Rakendame selle poliisi ja vajadusel konfigureerime kuulatavad IPv4 ja IPv6 aadressid. Käesolevas näites on valikuks " * ", mille puhul kuulatakse sõnumeid kõikidel aadressidel.

4. Windowsi klient operatsioonisüsteemide puhul pole WinRM teenus automaatselt käivitatud.
Teenuse seadistamiseks navigeerime Computer Configuration->Policies>Windows Settings>Security Settings>System Services>Windows Remote Management. Teeme topeltklõpsu Windows Remote Management ja seadistame teenuse käivitamise tüübiks "Automatic":
Winrm startmode.png

5. Kuigi teenus on seadistatud on vaja see ka tulemüüris lubada. Selleks tuleb luua uus sisse tuleva liikluse reegel kohas: Computer Configuration->Policies->Windows Settings->Windows Firewall with Advanced Security->Windows Firewall with Advanced Security->Inbound Rules.
Fw loc.png

Uue reegli puhul valida tüübiks Predefined(Ette määratud) ja "Windows Remote Management".
Fw rule.png
WinRM2.0 välja tulekuga muutus teenuse vaikimsi http pordi number 80 pealt 5985 peale. Seetõttu kui keskkonnas eksisteerib ka masinaid millel on WinRM versioon 1.1 on vajalik samas reeglis sisse lülitada ka ühilduvusrežiim(Compatibility mode)
Fw rule 1.png
Viimases aknas valida tegevus mis juhtub parameetritele vastava ühenduse loomisel. Tehes valiku "Allow the connection if it is secure" saab "Customize" nupule vajutades määrata ka täpsemaid piiranguid. Nagu näiteks lubada ainult teatud IP aadressid või kasutajad.
Fw rule 2.png

Sellega on grupipoliitika seadistatud. Veel on vajalik siduda grupipoliitika objekt mingi arvutite grupiga. Selleks lohistada Group Policy Management all loodud objekt välja valitud arvutite grupi kausta.

Klient masinate kontroll

Grupipoliitika jõustub kliendimasinatel pärast grupipoliitika uuendamist.
Kontrolli mõttes võib selle grupipoliitika alla käivatel aruvitel Powershelli või käsurea aknas käivitada käsuga "gpupdate /force" grupipoliitika kohese uuendamise. Pärast uuendamise lõppu võib teisest arvutist üritada ühendumist käsuga "Enter-PSSession -ComputerName arvutinimi "

Lisainfo täpsemaks seadistamiseks

Ühendused üle HTTPS protokolli

Vaikeseades käib WinRM ühendus üle HTTP protokolli. Kõrgema turvalisuse saavutamiseks on võimalik konfigureerida ka HTTPS protokolli kasutamine. HTTPS protokolli seadistamiseks peab aga olema kas sertifitseerimisasutuse käest soetatud sertifikaat mis peab olema kõikide hallatavate arvutite Trusted Root Certificates kaustas või domeenikontrolleri olemasolu korral on võimalik seadistada sertifikaadi teenus mis võimaldab isetehtud sertifikaatide paigaldamist ja kasutamist domeenis.[5] Rohkem infot siin(inglise keeles):http://technet.microsoft.com/en-us/library/cc772393(v=ws.10).aspx

CredSSP

CredSSP võimaldab eirata NTLM-i 1 hüppe piirangut saates mandaadi hallatavasse arvutisse. See tehnoloogia lubab interaktiivse haldussessiooni ajal kolmandasse seadmesse autentimist. Näitena võib tuua võrguketta külge ühendamise interaktiivse haldussessiooni ajal. [6]

Skriptide käivitamine kaugarvutis

Selleks, et üle WinRM käivitada Powershell skripte peab kaugarvutis olema lubatud skriptide käivitamine.
Selle teostamiseks on kaks moodust:
1. Kaugarvuti kohalikus Powershelli sessioonis administraatori õigustes käsuga "Set-ExecutionPolicy" koos sobiva parameetriga.
2. Grupipoliitikaga skriptide lubamine. Selleks tuleb eelpool mainitud Group Policy Editoris navigeerida kohta Computer Configuration->Policies- >Administrative templates->Windows Components ehk samasse kohta kust sai administreerida WinRM sätteid. Sealt üles otsida objekt "Windows Powershell". Selle objekti all on ainukeseks sätteks "Turn on Script Execution"(Luba skriptide käivitamine).
Ps script gp.png
Skriptide käivituspoliitikal on 3 võimalikku sätet:
1. Allow only signed scripts - Lubatud on ainult usaldusväärse sertifikaadi väljastaja (domeeni kontrolleri sertifikaadi teenus või sertifitseerimisasutus) poolt allkirjastatud skriptid. Siia alla kuuluvad ka kohalikus masinas valmistatud skriptid. Võimaluse korral rakendada see säte.
2.Allow local scripts and remote signed scripts - Kõik internetist alla laetud skriptid peavad olema usaldusväärse sertifikaadiga allkirjastatud. Siia alla ei kuulu sisevõrgust (näteks võrgukettalt) käivitatavad skriptid. Parim valik juhul kui puudub võimalus kasutada usaldusväärset sertifikaati.
3. Allow all scripts - Lubatud on kõikide skriptide ja konfiguratsiooni failide käivitamine. Juhul kui üritatakse käivitada internetist alla laetud ja allkirjastamata skripti, küsitakse kasutaja käest luba selle käivitamiseks.

Kokkuvõtteks

Windows Powershell on muutunud asendamatuks tööriistaks süsteemi administraatori tööriistakastis. Windows Powershell Remoting on muutnud selle veel 10 korda kasulikumaks.

Mugavat kaughaldamist!

Kasutatud kirjandus

  • Inglise keelne juhend Powershell Remotingu seadmistamiseks - [7]
  • Windows Powershell Remoting - [8]
  • Powershell Remotingu seadistamine vanemate operatsiooni süsteemide korral - [9]
  • Windows Remote Managementi installeerimine ja konfigureerimine - [10]
  • Windows Powershelli kirjeldus - [11]
  • Windows Remote Managementi kirjeldus - [12]
  • CredSSP ülevaade - [13]
  • Active Directory sertifikaadi teenuse samm sammult juhend - [14]
  • CredSSP protokolli spetsifikatsioon - [15]


Autor: Andres Elliku A21