Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Uso sicuro del Remoting PowerShell tramite Endpoint vincolati

Uso sicuro del Remoting PowerShell tramite Endpoint vincolati

Feb 11, 2015

PowerShell Remoting è abilitato di default in Windows Server 2012 (e versioni successive), e sebbene molte aziende IT lo considerino un potenziale rischio per la sicurezza, PowerShell è in realtà uno dei modi più sicuri per amministrare i server se si seguono le migliori pratiche. In questo articolo, vi mostrerò come configurare Windows Server 2012 R2 per accettare connessioni PowerShell remote da un gruppo specifico di utenti e come limitare i cmdlet che possono essere eseguiti.

Cosa sono gli Endpoint vincolati?

Gli endpoint remoti determinano gli utenti che possono connettersi a un dispositivo con PowerShell Remoting, così come ciò che possono fare una volta autenticati. L'endpoint PowerShell predefinito consente agli utenti che sono membri del gruppo Administrators e Remote Management Users di connettersi da remoto ed espone tutti i cmdlet e le funzioni disponibili sul dispositivo.

La buona notizia è che puoi creare i tuoi endpoint constrained e limitare ciò che gli utenti possono fare, permettendoti di minimizzare i rischi di consentire il PowerShell Remoting per scopi amministrativi.

Crea Endpoint vincolati in Windows Server 2012 R2

Creiamo il nostro endpoint vincolato in Windows Server 2012 R2. Accedi con i privilegi di amministratore locale e fai clic sull'icona blu di PowerShell nella barra delle applicazioni del desktop.

  • Per visualizzare gli endpoint esistenti sul server, digitare Get-PSSessionConfiguration nel prompt di PowerShell e premere INVIO.
  • Nella console PowerShell, dovresti vedere i quattro endpoint predefiniti.

Per limitare i cmdlet e le funzioni che un utente può eseguire quando si connette all'endpoint vincolato, dobbiamo creare un file di configurazione. Nella console di PowerShell, digitare il cmdlet mostrato di seguito e premere INVIO. New-PSSessionConfigurationFile crea un nuovo file di configurazione chiamato PrintAdmin.pssc e imposta restrizioni che includono la limitazione degli utenti remoti alle funzioni che fanno parte del modulo PowerShell PrintManagement.

      New-PSSessionConfigurationFile – Path PrintAdmin.pssc – SessionType RestrictedRemoteServer -LanguageMode NoLanguage – ExecutionPolicy Restricted – ModulesToImport PrintManagement -VisibleFunctions Get-Printer
      

NoLanguage limita gli utenti all'esecuzione di soli cmdlet e funzioni, ovvero non possono essere utilizzati blocchi di script, variabili o operatori. Il valore –SessionType RestrictedRemoteServer limita gli utenti alle seguenti funzioni proxy: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, e Select-Object. Il valore Restricted per il parametro –ExecutionPolicy impedisce anche l'esecuzione di script. Notare che esiste anche un parametro –VisibleCmdlets che può essere utilizzato se i moduli che si desidera importare contengono cmdlet.

Ora che abbiamo un file di configurazione, possiamo registrare un nuovo endpoint chiamato Helpdesk:

      Register-PSSessionConfiguration -Name Helpdesk -Path PrintAdmin.pssc –ShowSecurityDescriptorUI
      
Image

Vi verrà chiesto di confermare che volete configurare il nuovo endpoint, riavviare il servizio WinRM e configurare i permessi di accesso all'endpoint. In questo esempio, sto per dare a un gruppo chiamato Helpdesk il permesso 'Esegui (Invoke)' sul nuovo endpoint. Non dimenticate di dare al gruppo Helpdesk il permesso di gestire le stampanti sul dispositivo remoto, altrimenti get-printer non funzionerà.

Se esegui Get-PSSessionConfiguration di nuovo, potrai vedere il nuovo endpoint nell'elenco.

Connettersi a un Endpoint vincolato

Ora connettiti all'endpoint da una macchina remota. Accedi a Windows 8 con un utente che sia membro del gruppo Helpdesk o del gruppo a cui hai assegnato i permessi sull'endpoint. Apri un prompt di PowerShell ed esegui il comando sottostante, sostituendo contososrv1 con il nome del server remoto:

      Enter-PSSession -ComputerName contososrv1 -ConfigurationName Helpdesk
      
Image

Una volta connessi al server remoto, il prompt cambierà di conseguenza per indicare che si sta lavorando con un dispositivo remoto. Digitare get-command e premere INVIO, e vedrai che l'elenco delle funzioni e cmdlet disponibili è limitato dall'endpoint. In questo esempio, ti restano le 7 funzioni proxy consentite dal tipo di sessione RestrictedRemoteServer e la funzione get-printer specificata nel file di configurazione dell'endpoint.

Condividi su

Scopri di più

Informazioni sull'autore

Asset Not Found

Russell Smith

Consulente IT

Consulente IT e autore specializzato in tecnologie di gestione e sicurezza. Russell ha più di 15 anni di esperienza nel settore IT, ha scritto un libro sulla sicurezza di Windows e ha coautore di un testo per la serie Microsoft’s Official Academic Course (MOAC).