Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Centro de recursosBlog
Asegurar el remoto de PowerShell usando puntos finales restringidos

Asegurar el remoto de PowerShell usando puntos finales restringidos

Feb 11, 2015

PowerShell Remoting está habilitado en Windows Server 2012 (y versiones posteriores) por defecto, y aunque muchas empresas de TI lo ven como un posible riesgo de seguridad, PowerShell es de hecho una de las formas más seguras de administrar servidores si se siguen las mejores prácticas. En este artículo, voy a mostrarte cómo configurar Windows Server 2012 R2 para aceptar conexiones remotas de PowerShell de un grupo específico de usuarios y cómo restringir los cmdlets que se pueden ejecutar.

¿Qué son los Endpoints restringidos?

Los endpoints remotos determinan los usuarios que pueden conectarse a un dispositivo con PowerShell Remoting, así como lo que pueden hacer una vez autenticados. El endpoint de PowerShell predeterminado permite a los usuarios que son miembros del grupo de Administrators y Remote Management Users conectarse de forma remota y expone todos los cmdlets y funciones disponibles en el dispositivo.

La buena noticia es que puedes crear tus propios endpoints constrained y restringir lo que los usuarios pueden hacer, lo que te permite minimizar los riesgos de permitir PowerShell Remoting para fines de administración.

Crear Endpoints restringidos en Windows Server 2012 R2

Creemos nuestro propio endpoint restringido en Windows Server 2012 R2. Inicie sesión con privilegios de administrador local y haga clic en el ícono azul de PowerShell en la barra de tareas del escritorio.

  • Para ver los puntos finales existentes en el servidor, escriba Get-PSSessionConfiguration en el símbolo del sistema de PowerShell y presione ENTER.
  • En la consola de PowerShell, debería ver los cuatro endpoints predeterminados.

Para restringir los cmdlets y funciones que un usuario puede ejecutar cuando se conecta al endpoint restringido, necesitamos crear un archivo de configuración. En la consola de PowerShell, escriba el cmdlet que se muestra a continuación y presione ENTER. New-PSSessionConfigurationFile crea un nuevo archivo de configuración llamado PrintAdmin.pssc y establece restricciones que incluyen limitar a los usuarios remotos a funciones que son parte del módulo de PowerShell PrintManagement.

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

NoLanguage restringe a los usuarios a ejecutar solo cmdlets y funciones, es decir, no se pueden utilizar bloques de scripts, variables u operadores. El valor –SessionType RestrictedRemoteServer limita a los usuarios a las siguientes funciones proxy: Exit-PSSession, Get-Command, Get-FormatData, Get-Help, Measure-Object, Out-Default, y Select-Object. El valor Restricted para el parámetro –ExecutionPolicy también impide la ejecución de scripts. Cabe destacar que también existe un parámetro –VisibleCmdlets que se puede utilizar si los módulos que desea importar contienen cmdlets.

Ahora que tenemos un archivo de configuración, podemos registrar un nuevo punto final llamado Helpdesk:

      
      

Image

Se le solicitará confirmar que desea configurar el nuevo punto final, reiniciar el servicio WinRM y configurar los permisos de acceso al punto final. En este ejemplo, voy a darle a un grupo llamado Helpdesk permiso de 'Ejecutar (Invocar)' en el nuevo punto final. No olvide dar al grupo Helpdesk permiso para gestionar impresoras en el dispositivo remoto, de lo contrario get-printer fallará.

Si ejecuta Get-PSSessionConfiguration de nuevo, podrá ver el nuevo punto de conexión en la lista.

Conéctese a un Endpoint restringido

Ahora conéctese al endpoint desde una máquina remota. Inicie sesión en Windows 8 con un usuario que sea miembro del grupo Helpdesk o del grupo al que asignó permisos en el endpoint. Abra un símbolo del sistema de PowerShell y ejecute el comando a continuación, reemplazando contososrv1 con el nombre del servidor remoto:

      Enter-PSSession -ComputerName contososrv1 -ConfigurationName Helpdesk
      

Image

Una vez conectado al servidor remoto, el indicador cambiará en consecuencia para indicar que estás trabajando con un dispositivo remoto. Escribe get-command y presiona ENTER, y verás que la lista de funciones y cmdlets disponibles está restringida por el punto final. En este ejemplo, te quedas con las 7 funciones proxy permitidas por el tipo de sesión RestrictedRemoteServer y la función get-printer especificada en el archivo de configuración del punto final.

Compartir en

Aprende más

Acerca del autor

Asset Not Found

Russell Smith

Consultor de TI

Consultor de TI y autor especializado en tecnologías de gestión y seguridad. Russell tiene más de 15 años de experiencia en TI, ha escrito un libro sobre seguridad en Windows y ha coescrito un texto para la serie de Cursos Académicos Oficiales de Microsoft (MOAC).