Dela via


Auktoriseringsregler och säkerhetsfunktioner i Windows PowerShell Web Access

Uppdaterad: 24 juni 2013

Gäller för: Windows Server 2012 R2, Windows Server 2012

Windows PowerShell Web Access i Windows Server 2012 R2 och Windows Server 2012 har en restriktiv säkerhetsmodell. Användarna måste uttryckligen beviljas åtkomst innan de kan logga in på Windows PowerShell Web Access-gatewayen och använda den webbaserade Windows PowerShell-konsolen.

Konfigurera auktoriseringsregler och platssäkerhet

När Windows PowerShell Web Access har installerats och gatewayen har konfigurerats kan användarna öppna inloggningssidan i en webbläsare, men de kan inte logga in förrän Windows PowerShell Web Access-administratören uttryckligen ger användarna åtkomst. Åtkomstkontrollen "Windows PowerShell Web Access" hanteras med hjälp av den uppsättning Windows PowerShell cmdletar som beskrivs i följande tabell. Det finns inget jämförbart grafiskt användargränssnitt för att lägga till eller hantera auktoriseringsregler. Se Windows PowerShell Web Access-cmdletar.

Administratörer kan definiera {0-n} autentiseringsregler för Windows PowerShell Web Access. Standardsäkerheten är restriktiv snarare än tillåtande. nollautentiseringsregler innebär att inga användare har åtkomst till någonting.

Add-PswaAuthorizationRule och Test-PswaAuthorizationRule i Windows Server 2012 R2 innehåller en parameter för autentiseringsuppgifter som gör att du kan lägga till och testa Windows PowerShell auktoriseringsregler för webbåtkomst från en fjärrdator eller inifrån en aktiv Windows PowerShell Web Access-session. Precis som med andra Windows PowerShell-cmdletar som har en autentiseringsparameter kan du ange ett PSCredential-objekt som värdet för parametern. Om du vill skapa ett PSCredential-objekt som innehåller autentiseringsuppgifter som du vill skicka till en fjärrdator kör du cmdleten Get-Credential .

Windows PowerShell autentiseringsregler för webbåtkomst är tillåtna regler. Varje regel är en definition av en tillåten anslutning mellan användare, måldatorer och särskilda Windows PowerShell sessionskonfigurationer (kallas även slutpunkter eller runspaces) på angivna måldatorer. En förklaring av körningsutrymmen finnsi Börja använda PowerShell-runspaces

Viktigt

En användare behöver bara en regel för att vara sann för att få åtkomst. Om en användare får åtkomst till en dator med antingen fullständig språkåtkomst eller endast åtkomst till Windows PowerShell cmdletar för fjärrhantering, från den webbaserade konsolen, kan användaren logga in (eller hoppa) till andra datorer som är anslutna till den första måldatorn. Det säkraste sättet att konfigurera Windows PowerShell Web Access är att endast tillåta användare åtkomst till begränsade sessionskonfigurationer som gör att de kan utföra specifika uppgifter som de normalt behöver utföra via fjärranslutning.

De cmdletar som refereras i Windows PowerShell Web Access-cmdletar gör det möjligt att skapa en uppsättning åtkomstregler som används för att auktorisera en användare på Windows PowerShell Web Access-gatewayen. Reglerna skiljer sig från åtkomstkontrollistor (ACL: er) på måldatorn och ger ett extra säkerhetslager för webbåtkomst. Mer information om säkerhet beskrivs i följande avsnitt.

Om användarna inte kan skicka något av de föregående säkerhetsskikten får de ett allmänt meddelande om nekad åtkomst i webbläsarfönstren. Även om säkerhetsinformation loggas på gateway-servern visas inte slutanvändarna information om hur många säkerhetslager de har skickat, eller på vilket lager inloggnings- eller autentiseringsfelet inträffade.

Mer information om hur du konfigurerar auktoriseringsregler finns i Konfigurera auktoriseringsregler i det här avsnittet.

Säkerhet

Säkerhetsmodellen Windows PowerShell Web Access har fyra lager mellan en slutanvändare av den webbaserade konsolen och en måldator. Windows PowerShell Web Access-administratörer kan lägga till säkerhetslager via ytterligare konfiguration i IIS-hanterarens konsol. Mer information om hur du skyddar webbplatser i IIS-hanterarens konsol finns i Konfigurera webbserversäkerhet (IIS7)..

Mer information om metodtips för IIS och förhindra överbelastningsattacker finns i Metodtips för att förhindra DoS-/Denial of Service-attacker. En administratör kan också köpa och installera ytterligare programvara för detaljhandelsautentisering.

I följande tabell beskrivs de fyra säkerhetsskikten mellan slutanvändare och måldatorer.

Nivå Skikt
1 Säkerhetsfunktioner för iis-webbserver
2 windows powershell web access forms-based gateway authentication
3 windows powershell-regler för webbåtkomstauktorisering
4 målregler för autentisering och auktorisering

Detaljerad information om varje lager finns under följande rubriker:

Säkerhetsfunktioner för IIS-webbserver

Windows PowerShell Web Access-användare måste alltid ange ett användarnamn och lösenord för att autentisera sina konton på gatewayen. Men Windows PowerShell Web Access-administratörer kan också aktivera eller inaktivera valfri klientcertifikatautentisering, se Installera och använda Windows PowerShell-webbåtkomst för att aktivera ett testcertifikat och senare hur du konfigurerar ett äkta certifikat).

Den valfria funktionen för klientcertifikat kräver att slutanvändarna har ett giltigt klientcertifikat, utöver sina användarnamn och lösenord, och är en del av konfigurationen av webbservern (IIS). När klientcertifikatlagret är aktiverat uppmanar inloggningssidan Windows PowerShell Web Access användarna att ange giltiga certifikat innan deras inloggningsuppgifter utvärderas. Autentisering med klientcertifikat söker automatiskt efter klientcertifikatet. Om ett giltigt certifikat inte hittas informerar Windows PowerShell Web Access användarna så att de kan tillhandahålla certifikatet. Om ett giltigt klientcertifikat hittas öppnar Windows PowerShell Web Access inloggningssidan där användarna kan ange sina användarnamn och lösenord.

Det här är ett exempel på ytterligare säkerhetsinställningar som erbjuds av IIS-webbservern. Mer information om andra IIS-säkerhetsfunktioner finns i Konfigurera webbserversäkerhet (IIS 7)..

Windows PowerShell formulärbaserad gatewayautentisering för Web Access

Inloggningssidan för Windows PowerShell Web Access kräver en uppsättning autentiseringsuppgifter (användarnamn och lösenord) och ger användarna möjlighet att ange olika autentiseringsuppgifter för måldatorn. Om användaren inte anger alternativa autentiseringsuppgifter används även det primära användarnamnet och lösenordet som används för att ansluta till gatewayen för att ansluta till måldatorn.

De nödvändiga autentiseringsuppgifterna autentiseras på Windows PowerShell Web Access-gatewayen. Dessa autentiseringsuppgifter måste vara giltiga användarkonton på antingen den lokala Windows PowerShell Web Access-gatewayservern eller i Active Directory.

Windows PowerShell auktoriseringsregler för webbåtkomst

När en användare har autentiserats på gatewayen kontrollerar Windows PowerShell Web Access auktoriseringsregler för att kontrollera om användaren har åtkomst till den begärda måldatorn. Efter en lyckad auktorisering skickas användarens autentiseringsuppgifter till måldatorn.

Dessa regler utvärderas först när en användare har autentiserats av gatewayen och innan en användare kan autentiseras på en måldator.

Målregler för autentisering och auktorisering

Det sista säkerhetsskiktet för Windows PowerShell Web Access är måldatorns egen säkerhetskonfiguration. Användarna måste ha rätt åtkomstbehörigheter konfigurerade på måldatorn, och även i auktoriseringsreglerna för Windows PowerShell webbåtkomst, för att kunna köra en Windows PowerShell webbaserad konsol som påverkar en måldator via Windows PowerShell Web Access.

Det här lagret erbjuder samma säkerhetsmekanismer som utvärderar anslutningsförsök om användare försöker skapa en fjärransluten Windows PowerShell session till en måldator inifrån Windows PowerShell genom att köra cmdletarna Enter-PSSession eller New-PSSession.

Som standard använder Windows PowerShell Web Access det primära användarnamnet och lösenordet för autentisering på både gatewayen och måldatorn. Den webbaserade inloggningssidan i ett avsnitt med titeln Valfria anslutningsinställningar ger användarna möjlighet att ange olika autentiseringsuppgifter för måldatorn om de behövs. Om användaren inte anger alternativa autentiseringsuppgifter används även det primära användarnamnet och lösenordet som används för att ansluta till gatewayen för att ansluta till måldatorn.

Auktoriseringsregler kan användas för att ge användare åtkomst till en viss sessionskonfiguration. Du kan skapa begränsade runspaces eller sessionskonfigurationer för Windows PowerShell Web Access och tillåta att specifika användare endast ansluter till specifika sessionskonfigurationer när de loggar in på Windows PowerShell Web Access. Du kan använda åtkomstkontrollistor (ACL: er) för att avgöra vilka användare som har åtkomst till specifika slutpunkter och ytterligare begränsa åtkomsten till slutpunkten för en specifik uppsättning användare med hjälp av auktoriseringsregler som beskrivs i det här avsnittet. Mer information om begränsade runspaces finns i Skapa ett begränsat körningsutrymme.

Konfigurera auktoriseringsregler

Administratörer vill förmodligen ha samma auktoriseringsregel för Windows PowerShell Web Access-användare som redan har definierats i sin miljö för Windows PowerShell fjärrhantering. Den första proceduren i det här avsnittet beskriver hur du lägger till en regel för säker auktorisering som ger åtkomst till en användare, loggar in för att hantera en dator och inom en enda sessionskonfiguration. Den andra proceduren beskriver hur du tar bort en auktoriseringsregel som inte längre behövs.

Om du planerar att använda anpassade sessionskonfigurationer för att tillåta att specifika användare endast arbetar i begränsade runspaces i Windows PowerShell Web Access, skapar du dina anpassade sessionskonfigurationer innan du lägger till auktoriseringsregler som refererar till dem. Du kan inte använda Windows PowerShell Web Access-cmdletar för att skapa anpassade sessionskonfigurationer. Mer information om hur du skapar anpassade sessionskonfigurationer finns i about_Session_Configuration_Files.

Windows PowerShell Web Access-cmdletar stöder ett jokertecken, en asterisk ( * ). Jokertecken i strängar stöds inte. använd en enda asterisk per egenskap (användare, datorer eller sessionskonfigurationer).

Anteckning

Fler sätt att använda auktoriseringsregler för att bevilja åtkomst till användare och skydda Windows PowerShell Web Access-miljön finns i andra exempel på auktoriseringsregler i det här avsnittet.

Lägga till en begränsande auktoriseringsregel

  1. Gör något av följande för att öppna en Windows PowerShell-session med utökade användarrättigheter.

    • På Windows-skrivbordet högerklickar du på Windows PowerShell i aktivitetsfältet och klickar sedan på Kör som administratör.

    • Högerklicka på Windows PowerShellStartskärmen i Windows och klicka sedan på Kör som administratör.

  2. Valfritt steg För att begränsa användaråtkomst med hjälp av sessionskonfigurationer:

    Kontrollera att de sessionskonfigurationer som du vill använda redan finns i dina regler .

    Om de inte har skapats än använder du anvisningarna för att skapa sessionskonfigurationer i about_Session_Configuration_Files.

  3. Den här auktoriseringsregeln ger en specifik användare åtkomst till en dator i nätverket som de vanligtvis har åtkomst till, med åtkomst till en specifik sessionskonfiguration som är begränsad till användarens typiska skript- och cmdlet-behov. Skriv följande kommando och tryck sedan på Retur.

    Add-PswaAuthorizationRule -UserName <domain\user | computer\user> `
       -ComputerName <computer_name> -ConfigurationName <session_configuration_name>
    
    • I följande exempel beviljas en användare med namnet JSmith i Contoso-domänen åtkomst för att hantera datorn Contoso_214 och använda en sessionskonfiguration med namnet NewAdminsOnly.
    Add-PswaAuthorizationRule -UserName 'Contoso\JSmith' `
       -ComputerName Contoso_214 -ConfigurationName NewAdminsOnly
    
  4. Kontrollera att regeln har skapats genom att antingen köra cmdleten Get-PswaAuthorizationRule eller Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName** <computer_name>. Till exempel Test-PswaAuthorizationRule -UserName Contoso\\JSmith -ComputerName Contoso_214.

Ta bort en auktoriseringsregel

  1. Om en Windows PowerShell session inte redan är öppen, se steg 1 i för att lägga till en restriktiv auktoriseringsregel i det här avsnittet.

  2. Skriv följande och tryck sedan på Retur, där regel-ID representerar det unika ID-numret för den regel som du vill ta bort.

    Remove-PswaAuthorizationRule -ID <rule ID>
    

    Om du inte känner till ID-numret, men känner till det egna namnet på regeln som du vill ta bort, kan du hämta namnet på regeln och skicka den till cmdleten Remove-PswaAuthorizationRule för att ta bort regeln, som du ser i följande exempel:

    Get-PswaAuthorizationRule `
       -RuleName <rule-name> | Remove-PswaAuthorizationRule
    

Anteckning

Du uppmanas inte att bekräfta om du vill ta bort den angivna auktoriseringsregeln. regeln tas bort när du trycker på Retur. Se till att du vill ta bort auktoriseringsregeln innan du kör cmdleten Remove-PswaAuthorizationRule .

Andra exempel på auktoriseringsregelscenario

Varje Windows PowerShell session använder en sessionskonfiguration. Om en inte har angetts för en session använder Windows PowerShell standardkonfigurationen för den inbyggda Windows PowerShell-sessionen, som kallas Microsoft.PowerShell. Standardkonfigurationen för sessioner innehåller alla cmdletar som är tillgängliga på en dator. Administratörer kan begränsa åtkomsten till alla datorer genom att definiera en sessionskonfiguration med ett begränsat runspace (ett begränsat antal cmdletar och uppgifter som slutanvändarna kan utföra). En användare som beviljas åtkomst till en dator med antingen fullständig språkåtkomst eller endast Windows PowerShell cmdletar för fjärrhantering kan ansluta till andra datorer som är anslutna till den första datorn. Genom att definiera ett begränsat körningsutrymme kan du förhindra användare från att komma åt andra datorer från deras tillåtna Windows PowerShell-körningsutrymme och förbättra säkerheten i din Windows PowerShell Web Access-miljö. Sessionskonfigurationen kan distribueras (med hjälp av grupprincip) till alla datorer som administratörer vill göra tillgängliga via Windows PowerShell Web Access. För ytterligare information om sessionskonfigurationer, se about_Session_Configurations. Följande är några exempel på det här scenariot.

  • En administratör skapar en slutpunkt med namnet PswaEndpoint med ett begränsat runspace. Sedan skapar administratören en regel, *,*,PswaEndpoint, och distribuerar slutpunkten till andra datorer. Regeln tillåter alla användare att komma åt alla datorer med slutpunkten PswaEndpoint. Om detta är den enda auktoriseringsregeln som definierats i regeluppsättningen skulle datorer utan den slutpunkten inte vara tillgängliga.

  • Administratören skapade en slutpunkt med ett begränsat runspace med namnet PswaEndpoint och vill begränsa åtkomsten till specifika användare. Administratören skapar en grupp användare med namnet Level1Support och definierar följande regel: Level1Support,*,PswaEndpoint. Regeln ger alla användare i gruppen Level1Support åtkomst till alla datorer med PswaEndpoint-konfigurationen . På samma sätt kan åtkomst begränsas till en specifik uppsättning datorer.

  • Vissa administratörer ger vissa användare mer åtkomst än andra. En administratör skapar till exempel två användargrupper, Administratörer och BasicSupport. Administratören skapar också en slutpunkt med ett begränsat runspace med namnet PswaEndpoint och definierar följande två regler: Admins,*,* och BasicSupport,*,PswaEndpoint. Den första regeln ger alla användare i Admin grupp åtkomst till alla datorer, och den andra regeln ger alla användare i gruppen BasicSupport endast åtkomst till de datorerna med PswaEndpoint.

  • En administratör har konfigurerat en privat testmiljö och vill ge alla behöriga nätverksanvändare åtkomst till alla datorer i nätverket som de normalt har åtkomst till, med åtkomst till alla sessionskonfigurationer som de vanligtvis har åtkomst till. Eftersom det här är en privat testmiljö skapar administratören en auktoriseringsregel som inte är säker. – Administratören kör cmdleten Add-PswaAuthorizationRule * * *, som använder jokertecknet * för att representera alla användare, alla datorer och alla konfigurationer. – Den här regeln motsvarar följande: Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName *.

    Anteckning

    Den här regeln rekommenderas inte i en säker miljö och kringgår det säkerhetslager för auktoriseringsregler som tillhandahålls av Windows PowerShell Web Access.

  • En administratör måste tillåta användare att ansluta till måldatorer i en miljö som innehåller både arbetsgrupper och domäner, där arbetsgruppsdatorer ibland används för att ansluta till måldatorer i domäner, och datorer i domäner ibland används för att ansluta till måldatorer i arbetsgrupper. Administratören har en gateway-server, PswaServer, i en arbetsgrupp; och måldatorn srv1.contoso.com finns i en domän. Användaren Chris är en auktoriserad lokal användare på både arbetsgruppsgatewayservern och måldatorn. Hans användarnamn på arbetsgruppsservern är chrisLocal; och hans användarnamn på måldatorn är contoso\chris. Administratören lägger till följande regel för att auktorisera åtkomst till srv1.contoso.com för Chris.

Add-PswaAuthorizationRule -userName PswaServer\chrisLocal `
   -computerName srv1.contoso.com -configurationName Microsoft.PowerShell

Föregående regelexempel autentiserar Chris på gatewayservern och auktoriserar sedan hans åtkomst till srv1. På inloggningssidan måste Chris ange en andra uppsättning autentiseringsuppgifter i området Valfria anslutningsinställningar (contoso\chris). Gateway-servern använder den ytterligare uppsättningen autentiseringsuppgifter för att autentisera honom på måldatorn , srv1.contoso.com.

I föregående scenario upprättar Windows PowerShell Web Access en lyckad anslutning till måldatorn först när följande har lyckats och tillåts av minst en auktoriseringsregel.

  1. Autentisering på arbetsgruppsgatewayservern genom att lägga till ett användarnamn i formatet server_name\user_name till auktoriseringsregeln

  2. Autentisering på måldatorn med hjälp av alternativa autentiseringsuppgifter som anges på inloggningssidan i området Valfria anslutningsinställningar

    Anteckning

    Om gateway- och måldatorer finns i olika arbetsgrupper eller domäner måste en förtroenderelation upprättas mellan de två arbetsgruppsdatorerna, de två domänerna eller mellan arbetsgruppen och domänen. Det går inte att konfigurera den här relationen med hjälp av cmdletar för Windows PowerShell Web Access-auktoriseringsregel. Auktoriseringsregler definierar inte en förtroenderelation mellan datorer. De kan bara ge användare behörighet att ansluta till specifika måldatorer och sessionskonfigurationer. Mer information om hur du konfigurerar en förtroenderelation mellan olika domäner finns i Skapa domän- och skogsförtroenden. Mer information om hur du lägger till arbetsgruppsdatorer i en lista över betrodda värdar finns i Fjärrhantering med Serverhanteraren.

Använda en enda uppsättning auktoriseringsregler för flera platser

Auktoriseringsregler lagras i en XML-fil. Som standard är $env:windir\Web\PowershellWebAccess\data\AuthorizationRules.xmlsökvägen till XML-filen .

Sökvägen till XML-filen för auktoriseringsregler lagras i denpowwa.config filen som finns i $env:windir\Web\PowershellWebAccess\data. Administratören har flexibiliteten att ändra referensen till standardsökvägen i powwa.config så att den passar inställningar eller krav. Om administratören kan ändra platsen för filen kan flera Windows PowerShell Web Access-gatewayer använda samma auktoriseringsregler, om en sådan konfiguration önskas.

Sessionshantering

Som standard begränsar Windows PowerShell Web Access en användare till tre sessioner samtidigt. Du kan redigera webbprogrammets web.config-fil i IIS-hanteraren för att stödja ett annat antal sessioner per användare. Sökvägen till filenweb.config är $env:windir\Web\PowerShellWebAccess\wwwroot\Web.config.

Som standard konfigureras IIS-webbservern för att starta om programpoolen om några inställningar redigeras. Programpoolen startas till exempel om om ändringar görs i web.config filen. >Eftersom Windows PowerShell Web Access använder minnesinternt sessionstillstånd förlorar >användare som är inloggade på Windows PowerShell webbåtkomstsessioner sina sessioner när programpoolen startas om.

Ange standardparametrar på inloggningssidan

Om din Windows PowerShell Web Access-gateway körs på Windows Server 2012 R2 kan du konfigurera standardvärden för de inställningar som visas på inloggningssidan för Windows PowerShell Web Access. Du kan konfigurera värden i filenweb.config som beskrivs i föregående stycke. Standardvärden för inloggningssidans inställningar finns i avsnittet appSettings i web.config-filen. följande är ett exempel på avsnittet appSettings . Giltiga värden för många av de här inställningarna är samma som för motsvarande parametrar i cmdleten New-PSSession i Windows PowerShell.

Nyckeln, som du ser i följande kodblock, är till exempel defaultApplicationName värdet för $PSSessionApplicationName-inställningsvariabeln på måldatorn.

  <appSettings>
      <add key="maxSessionsAllowedPerUser" value="3"/>
      <add key="defaultPortNumber" value="5985"/>
      <add key="defaultSSLPortNumber" value="5986"/>
      <add key="defaultApplicationName" value="WSMAN"/>
      <add key="defaultUseSslSelection" value="0"/>
      <add key="defaultAuthenticationType" value="0"/>
      <add key="defaultAllowRedirection" value="0"/>
      <add key="defaultConfigurationName" value="Microsoft.PowerShell"/>
  </appSettings>

Tidsgränser och oplanerade frånkopplingar

Windows PowerShell tidsgränsen för webbåtkomstsessioner. I Windows PowerShell Web Access som körs på Windows Server 2012 visas ett timeout-meddelande för inloggade användare efter 15 minuters sessionsaktivitet. Om användaren inte svarar inom fem minuter efter att tidsgränsmeddelandet har visats avslutas sessionen och användaren loggas ut. Du kan ändra tidsgränsperioder för sessioner i webbplatsinställningarna i IIS-hanteraren.

I Windows PowerShell Web Access som körs på Windows Server 2012 R2 överskrider sessionerna som standard tidsgränsen efter 20 minuters inaktivitet. Om användarna är frånkopplade från sessioner i den webbaserade konsolen på grund av nätverksfel eller andra oplanerade avstängningar eller fel, och inte på grund av att de själva har stängt sessionerna, fortsätter Windows PowerShell Web Access-sessioner att köras, anslutna till måldatorer, tills tidsgränsen på klientsidan går ut. Sessionen kopplas från efter standardvärdet 20 minuter eller efter den tidsgräns som anges av gatewayadministratören, beroende på vilket som är kortare.

Om gateway-servern körs Windows Server 2012 R2 kan användarna Windows PowerShell Web Access återansluta till sparade sessioner vid ett senare tillfälle, men när nätverksfel, oplanerade avstängningar eller andra fel kopplar från sessioner kan användarna inte se eller återansluta till sparade sessioner förrän efter den tidsgräns som anges av gatewayadministratören har förfaller.

Se även

Installera och använda Windows PowerShell Web Access

about_Session_Configurations

Windows PowerShell Web Access-cmdletar