GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hay un shell que verifique que el código esté firmado?

Sí y no.

La distribución de software de Linux funciona de manera algo diferente a la distribución de software de Windows. En el mundo de Linux (no integrado), el método principal para distribuir software es a través de una distribución (Ubuntu, Debian, RHEL, Fedora, Arch, etc.). Todas las principales distribuciones han estado firmando sus paquetes sistemáticamente durante aproximadamente una década.

Cuando el software se distribuye de forma independiente, depende del proveedor decidir cómo enviará su software. Los buenos proveedores proporcionan fuentes de paquetes que son compatibles con las principales distribuciones (no existe un mecanismo de distribución unificado para todo Linux:la distribución de software es uno de los principales puntos de diferenciación entre distribuciones) y que están firmados con la clave del proveedor. Las distribuciones de Linux rara vez actúan como una autoridad de firma para proveedores externos (Canonical hace esto con socios de Ubuntu, pero eso cubre a muy pocos proveedores), y creo que todas las distribuciones principales usan la red de confianza PGP en lugar de la infraestructura de clave pública TLS, por lo que depende del usuario averiguar si quiere confiar en una clave.

No existe un mecanismo especial que distinga los paquetes de software que constan de un solo script de los paquetes de software que constan de un ejecutable nativo, un archivo de datos o varios archivos. Tampoco hay ninguna verificación de firma integrada en ningún intérprete de script común, porque verificar un paquete de software es una preocupación completamente ortogonal a la ejecución de un script.

Creo que Windows anota los archivos con su origen y requiere la confirmación del usuario para ejecutar un archivo cuyo origen es "descargado" en lugar de "local". Linux realmente no tiene un mecanismo similar. Lo más parecido es el permiso de ejecución:un archivo descargado no tiene permiso de ejecución, el usuario debe habilitarlo explícitamente (chmod +x en la línea de comando, o la acción equivalente en un administrador de archivos).


Si está bloqueando la capacidad de los usuarios para ejecutar scripts a través de sudo entonces podrías usar el digest funcionalidad.
Puede especificar el hash de un script/ejecutable en sudoers que será verificado por sudo antes de ser ejecutado. Entonces, aunque no es lo mismo que firmar, le brinda una garantía básica de que la secuencia de comandos al menos no se ha modificado sin que también se modifiquen los Sudoers.

Si un nombre de comando tiene el prefijo Digest_Spec, el comando solo coincidirá correctamente si se puede verificar mediante el resumen SHA-2 especificado. Esto puede ser útil en situaciones en las que el usuario que invoca sudo tiene acceso de escritura al comando o a su directorio principal. Se admiten los siguientes formatos de resumen:sha224, sha256, sha384 y sha512. La cadena se puede especificar en formato hexadecimal o base64 (base64 es más compacto). Hay varias utilidades capaces de generar resúmenes SHA-2 en formato hexadecimal como openssl, shasum, sha224sum, sha256sum, sha384sum, sha512sum.

http://www.sudo.ws/man/1.8.13/sudoers.man.html


Linux no proporciona la capacidad de limitar la ejecución de scripts bash basados ​​en firmas digitales.

Hay algo de trabajo en la autenticación de ejecutables binarios. Consulte https://lwn.net/Articles/488906/ para obtener información.


Linux
  1. 3 herramientas de código abierto que hacen de Linux la estación de trabajo ideal

  2. Haz matemáticas en el shell de Linux con GNU bc

  3. Alias ​​de línea de comandos en el shell de Linux

  4. Cómo cambiar el shell predeterminado en Linux

  5. ¿Existe un archivo ejecutable ficticio estándar que no hace nada en Linux?

Cómo cambiar el shell predeterminado en el sistema Linux

Los 10 sistemas operativos basados ​​en Unix que no son Linux

Los 15 mejores software de copia de seguridad para escritorio Linux

Los 15 mejores software fractal para escritorio Linux

Los 30 mejores software de soporte técnico para empresas que aprovechan Linux

Los 15 mejores software de administración de referencias de Linux para usar