NIST 800-53 rev 4 - Implementación de CM-7 (2) en Linux

1

NIST 800-53 rev 4 CM-7 (2) declara:

(2) FUNCIONALIDAD MENOS | Prevenir la ejecución del programa El sistema de información emplea mecanismos automatizados para evitar la ejecución del programa de acuerdo con [Selección (uno o más): programas de software autorizados; programas de software no autorizados; normas que autorizan los términos y condiciones de uso del programa de software].

¿Qué mecanismos automatizados existen en Linux para evitar la ejecución de programas específicos? Entiendo que los permisos DAC de Linux se pueden usar a un alto nivel para restringir la ejecución de todos los programas, pero eso no es una implementación de lista blanca / lista negra. También soy consciente de que se podría usar una implementación de política estricta de SELinux para satisfacer una lista blanca al exigir que se definan políticas para cada solicitud aprobada. ¿Hay alguna otra opción que sea menos onerosa que la política estricta de SELinux (que es un esfuerzo considerable para implementar en una configuración de política estricta)?

    
pregunta positive return 21.11.2017 - 19:56
fuente

1 respuesta

1

Hay algunas formas de evitar la ejecución en Linux. Sin embargo, es importante recordar que estos solo se aplican a los ejecutables binarios (como los ELF). Los scripts o cualquier otro archivo interpretado no se pueden bloquear de la misma manera. Por ejemplo, un script de bash no se ejecuta realmente, simplemente se lee con /bin/bash , que lo analiza. Lo mismo ocurre con algo como python, donde /usr/bin/python lee e interpreta un archivo de python. El bloqueo de la ejecución de los scripts evitará que uno haga ./file.sh , pero todavía podrá hacer /bin/bash file.sh , a menos que el propio ejecutable de bash esté bloqueado. Como tal, cualquier programa que actúe como intérprete puede pasar por alto estas protecciones.

Algunas formas de bloquear la ejecución:

  • Al establecer el indicador de montaje noexec se evita la ejecución en una partición completa.

  • DAC se puede usar en una lista negra, eliminando la bandera ejecutable en un archivo.

  • AppArmor, y muchos otros MAC, pueden utilizarse para incluir en la lista blanca archivos individuales para su ejecución.

Tenga en cuenta que AppArmor de forma predeterminada solo se aplica a los programas para los que crea una política. Hay formas de usar un perfil global, por lo que se requieren listas blancas para cada programa, pero no se admite oficialmente.

Parece que lo que quieres es un MAC, solo uno más simple que SELinux.

    
respondido por el guest 22.11.2017 - 03:22
fuente

Lea otras preguntas en las etiquetas