Introducción a PowerShell (2ª parte) Seguridad

Estándar

Hemos visto alguna pequeña referencia para familiarizarnos  con PowerShell, pero, y la seguridad? Se nos viene a la cabeza alguna que otra pregunta como por ejemplo:

 

Si instalo PowerShell se ejecutarán los scripts que me manden por correo?

La respuesta es sí y no. Para aclarar este tema hay que hablar de los niveles de seguridad que podemos establecer en PowerShell.

PowerShell tiene diferentes directivas de ejecución de scripts que nos servirán para definir qué tipo de seguridad queremos en nuestros sistemas.

Por defecto y cuando instalamos PowerShell en una máquina, la directiva de seguridad establecida por defecto es la llamada Restricted. Esta directiva admite comandos individuales, pero no permite ejecutar scripts. Las directivas que podemos encontrar son:

 

-Restricted

-AllSigned

-RemoteSigned

-Unrestricted

 

La directiva AllSigned

 

Esta directiva requiere que todos los scripts y archivos de configuración estén firmados por un editor de confianza, incluidos los scripts que se escriban en el equipo local. Pregunta cuando un script es invocado.

 

La directiva RemoteSigned

Esta directiva requiere una firma digital de un editor de confianza en scripts y archivos de configuración descargados de Internet, pero no requiere firmas digitales en scripts ejecutados desde el equipo local. Esta directiva no pregunta antes de ejecutar un script que venga de un editor de confianza.

 

La directiva Unrestricted

Esta directiva permite ejecutar los scripts sin firma. Tan solo preguntará cuando ejecutemos un script vía Internet.

 

En función de los escenarios a trabajar, elegiremos una opción u otra. Personalmente recomiendo siempre establecer el nivel de seguridad en RemoteSigned o AllSigned.

Para ejecutar un script en PowerShell, primero debemos guardar este fichero con extensión ps1. PowerShell no ejecutará un script si no tiene esta extensión. El programa asociado a un archivo con extensión .ps1 es por defecto la herramienta más poderosa jamás creada. Eso quiere decir que si hacemos doble-clic en un script de PowerShell, automáticamente se nos abrirá el editor notepad en vez de ejecutarse el script.

Para conocer la directiva de ejecución de script que tenemos configurado en nuestra shell, el comando a ejecutar es:

 

Get-ExecutionPolicy

 

Este comando nos devolverá la directiva de ejecución de PowerShell.

Para cambiar esta directiva, el comando que utilizaremos será:

 

Set-ExecutionPolicy

 

Para cambiar la directiva por defecto de Restricted a RemoteSigned, el comando a utilizar sería:

 

Set-ExecutionPolicy RemoteSigned 

 

En posteriores capítulos veremos cómo ejecutar scripts en PowerShell sin arriesgar la seguridad en nuestro equipo.

Anuncios

Un comentario en “Introducción a PowerShell (2ª parte) Seguridad

  1. pedfer

    hola que tal muy interesante tu informacion.
    te cuento que recien he comensado a conocer powerShell, y es demasiado poderoso, de lo que he leido.
    quisiera estudiarlo, te queria pedir si me puedes ayudar con una lista de comandos que sean basicos, y para que sirve cada uno.

    Mil gracias
    Saldo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s