Configurazione di PowerShell JEA per consentire l’avvio, lo spegnimento e l’accesso in console di una VM su Microsoft Hyper-V

by | Nov 14, 2024

PowerShell JEA (Just Enough Administration) è una funzionalità di sicurezza integrata in WinRM che permette di delegare l’utilizzo di comandi amministativi ad utenti senza privilegi elevati.

In questo articolo JEA verrà utilizzato per consentire agli utenti non amministatori di poter avviare, spegnere ed accedere alla console di una macchina virtuale su Hyper-V senza il bisogno di inserire gli utenti nel gruppo Hyper-V Administrators.

PREREQUISTI

Per il funzionamento di JEA è richiesto che WinRM (PowerShell Remote) sia abilitato.

Per abilitare WinRM è possibile eseguire il seguente comando in una PS amministrativa:

In seguito è necessario creare la directory in cui verranno salvati i profili JEA:

È consigliabile inserire tutti gli script e gli eseguibili nella stessa directory, per crearla eseguire:

Per vietare agli utenti non amministratori di modificare la directory è necessario modificare le ACL, per farlo è possibile eseguire i seguenti comandi:

DOWNLOAD PSEXEC

Poiché JEA non prevede l’avvio di software con interfaccia grafica, per eseguire la console della VM nella sessione grafica dell’utente è necessario avvalersi di PsExec64.
PsExec64 è un eseguibile appartenente alla suite Sysinternals di cui è possibile effettuare il download dal seguente URL Downlaod PsExec64
Dopo aver decompresso il file ZIP, è necessario localizzare il file PsExec64.exe e copiarlo nella directory C:\HyperVHardening\.
Se tutti gli step sono stati eseguiti correttamente, quando si copia il file nella directory compare la UAC in cui bisogna inserire delle credenziali amministative.
Se non venisse mostrata la UAC è necessario verificare le ACL della directory e dei files.

CONFIGURAZIONE DEL PROFILO JEA

La configurazione del profilo JEA è salvata su due files ed in caso di modifiche è sufficiente effettuare nuovamente la registrazione per applicarle.

Il primo file ha estensione .psrc e viene utilizzatio per configurare quali comandi sono accessibili nella sessione JEA.
Per crearlo è necessario eseguire il seguente comando

NOTA BENE: sostituire VMControl con il nome del profilo desiderato

In seguito, aprire il file con notepad:

Incollare il seguente contenuto (sostituire VM_NAME con il nome della VM):

Il secondo file ha estensione .pssc e viene utilizzato per configurare i privilegi con cui eseguire la sessione e chi può accedervi.

Per crearlo è necessario eseguire il seguente comando

NOTA BENE: sostituire VMControl con il nome del profilo desiderato

In seguito, aprire il file con notepad:

Incollare il seguente contenuto:

Infine, è necessario registrare i profili (questo step è essenziale anche per applicare eventuali future modifiche):

TESTING DI UN PROFILO JEA

Per verificare il funzionamento del profilo JEA è possibile accedere ad una sessione PowerShell e verificare che i Cmdlet desiderati siano disponibili.

Per accedere alla sessione JEA eseguire in una PowerShell non amministrativa:

CREAZIONE DEGLI SCRIPT PER L’ESECUZIONE ON DEMAND

Per permettere agli utenti di utilizzare in modo semplice i Cmdlet necessari per farli interagire con Hyper-V bisogna creare alcuni script.

Aprire con notepad lo script PowerShell per accendere la VM:

Incollare il seguente contenuto

NOTA BENE: sostituire VM_NAME con il nome della VM:

Aprire con notepad lo script BAT per accendere la VM:

Incollare il seguente contenuto:

In modo analogo è possibile creare uno script PS1 e uno script BAT per lo spegnimento della VM.

L’accesso in console invece prevede l’utilizzo di PsExec64, perciò gli script verranno riportati in seguito.

Aprire con notepad lo script PowerShell per accedere alla console della VM:

Incollare il seguente contenuto

NOTA BENE: sostituire VM_NAME con il nome della VM:

Aprire con notepad lo script BAT per accedere alla console della VM:

Incollare il seguente contenuto:

CORREGGERE I PERMESSI DEGLI SCRIPTS

Affinché gli utenti possano eseguire gli scripts creati negli step precedenti è necessario modificare le ACL per consentirne la lettura e l’esecuzione.

Per modificare le ACL è possibile eseguire i seguenti comandi:

È possibile creare dei collegamenti ai tre script BAT sul Desktop pubblico ed assegnarli delle icone personalizzate; in questo modo gli utenti potranno interagire con la VM semplicemnte cliccando sulle icone sul loro Desktop.

Scritto da Marco Valle

Mi chiamo Marco Valle e da sempre sono appassionato di Cybersicurezza e Linux.
Per lavoro implemento soluzioni open source.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Infrastrutture IT
  • ACT For Cange  Mental Coach
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore Collaboratore

Related Post

Configurazione del DNS Dinamico su Unifi Dream Machine Pro

Il DNS dinamico consente ai client esterni di connettersi al gateway UniFi utilizzando un nome host anziché un indirizzo IP. Ciò è particolarmente utile se il gateway UniFi utilizza un IP WAN che cambia frequentemente a seguito dell'assegnazione DHCP. L'utilizzo di un...

read more

0 Comments

Submit a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione