it-swarm-es.com

¿En qué se diferencia la política de ejecución RemoteSigned de PowerShell de AllSigned?

Todavía soy bastante nuevo en PowerShell, y recientemente leí esto en una publicación de blog sobre la creación y el uso de scripts de PowerShell.

Para evitar la ejecución de scripts maliciosos, PowerShell aplica una política de ejecución. De forma predeterminada, la política de ejecución está configurada como Restringida, lo que significa que los scripts de PowerShell no se ejecutarán. Puede determinar la política de ejecución actual mediante el siguiente cmdlet:

Get-ExecutionPolicy

Las políticas de ejecución que puede usar son:

  • Restringido - Los scripts no se ejecutarán.
  • RemoteSigned - Las secuencias de comandos creadas localmente se ejecutarán, pero las descargadas de Internet no (a menos que estén firmadas digitalmente por un editor de confianza).
  • AllSigned - Los scripts se ejecutarán solo si han sido firmados por un editor de confianza.
  • Sin restricciones - Los scripts se ejecutarán independientemente de su procedencia y si están firmados.

Puede establecer la política de ejecución de PowerShell mediante el siguiente cmdlet:

Set-ExecutionPolicy <policy name>

Para mí, la notación de " a menos que estén firmados digitalmente por un editor de confianza " en la descripción de Remote Signed parece implicar que funciona igual que AllSigned. ¿Hay alguna diferencia que me falta en alguna parte?

28
Iszi

Obviamente AllSigned requiere que todos los módulos/complementos y scripts estén firmados con código. RemoteSigned solo requiere la firma de archivos remotos. ¿Qué son los archivos remotos?

La respuesta canónica está en el blog de PowerShell: http://blogs.msdn.com/b/powershell/archive/2007/03/07/how-does-the-remotesigned-execution-policy-work.aspx

Pero la conclusión es: RemoteSigned solo requiere la firma de código en módulos/complementos y scripts que se marcan desde la zona "Internet" en la 'Zona Secuencia de datos alternativa del identificador, a menos que tenga activada "Seguridad mejorada de Internet Explorer", en cuyo caso también incluye archivos marcados "Intranet" y rutas UNC.

16
Jaykul

La diferencia es que RemoteSigned ejecutará scripts localmente que no están firmados, mientras que AllSigned requiere que todos los scripts se firmen independientemente de su origen.

8
Steve