Configuración y administración de Trusted Extensions

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Evaluación de software para la seguridad

Cuando se le asignan privilegios al software o cuando se lo ejecuta con un ID de grupo o de usuario alternativo, se convierte en un software de confianza. El software de confianza puede omitir aspectos de la política de seguridad de Trusted Extensions. Tenga en cuenta que puede convertir el software en confiable aunque podría no ser de confianza. El administrador de la seguridad debe esperar para otorgar privilegios al software hasta que se efectúe un examen minucioso que demuestre que el software utiliza los privilegios de manera confiable.

    En un sistema de confianza, los programas se dividen en tres categorías:

  • Programas que no requieren atributos de seguridad: algunos programas se ejecutan en un solo nivel y no requieren privilegios. Estos programas pueden instalarse en un directorio público, como /usr/local. Para obtener acceso, asigne el programa como comandos en los perfiles de derechos de los usuarios y de los roles.

  • Programas que se ejecutan como root: algunos programas se ejecutan con setuid 0. Se puede asignar a estos programas un UID efectivo de 0 en un perfil de derechos. Luego, el administrador de la seguridad asigna el perfil a un rol administrativo.


    Consejo  - Si la aplicación puede utilizar los privilegios de manera confiable, asigne los privilegios necesarios a la aplicación y no ejecute el programa como root.
  • Programas que requieren privilegios: es posible que algunos programas requieran privilegios por motivos que no resultan evidentes. Incluso cuando un programa no ejerza ninguna función que pudiera infringir la política de seguridad del sistema, dicho programa podría realizar internamente una acción que infringe la seguridad. Por ejemplo, es posible que el programa utilice un archivo log compartido o que lea desde /dev/kmem. Para obtener información relativa a la seguridad, consulte la página del comando man mem(7D).

    En algunas ocasiones, una invalidación de la política interna no es particularmente importante para el funcionamiento adecuado de la aplicación. En cambio, la invalidación proporciona una función conveniente para los usuarios.

    Si la organización tiene acceso al código de origen, compruebe si pueden eliminar las operaciones que requieran invalidaciones de la política, sin que se afecte el rendimiento de la aplicación.

Responsabilidades del desarrollador cuando se crean programas de confianza

Aunque el desarrollador de programas puede manipular los conjuntos de privilegios en el código de origen, si el administrador de la seguridad no asigna los privilegios necesarios al programa, el programa fallará. El desarrollador y el administrador de la seguridad deben cooperar cuando se crean programas de confianza.

    El desarrollador que escribe un programa de confianza debe realizar lo siguiente:

  1. Comprender cuándo el programa requiere privilegios para realizar su trabajo.

  2. Conocer y aplicar las técnicas, como el escalonamiento de privilegios, para utilizar de un modo seguro los privilegios en los programas.

  3. Tener en cuenta las consecuencias para la seguridad cuando asigna privilegios a un programa. El programa no debe infringir la política de seguridad.

  4. Compilar el programa mediante las bibliotecas compartidas que están enlazadas al programa desde un directorio de confianza.

    Para obtener información adicional, consulte la Developer’s Guide to Oracle Solaris 11 Security . Para ver ejemplos de códigos para Trusted Extensions, consulte la Trusted Extensions Developer’s Guide .

Responsabilidades del administrador de la seguridad para los programas de confianza

El administrador de la seguridad es el responsable de probar y evaluar el software nuevo. Después de establecer que el software es de confianza, el administrador de la seguridad configura los perfiles de derechos y otros atributos relevantes para la seguridad del programa.

    Entre las responsabilidades del administrador de la seguridad, se incluyen las siguientes:

  1. Asegurarse de que el programador y el proceso de distribución del programa sean de confianza.

  2. A partir de una de las siguientes fuentes, determinar qué privilegios requiere el programa:

    • Preguntar al programador.

    • Buscar en el código de origen los privilegios que el programa prevé utilizar.

    • Buscar en el código de origen las autorizaciones que el programa requiere de los usuarios.

    • Usar las opciones de depuración para el comando ppriv a fin de buscar la utilización del privilegio. Para ver ejemplos, consulte la página del comando man ppriv(1). También puede utilizar dtrace para evaluar el uso de privilegios y autorizaciones.

  3. Examinar el código de origen para asegurarse de que se comporte de manera confiable con relación a los privilegios que el programa necesita para operar.

    Si el programa no puede utilizar los privilegios de manera confiable, y usted puede modificar el código de origen del programa, modifique el código. Un consultor de seguridad o un desarrollador que tenga conocimientos sobre la seguridad puede modificar el código. Las modificaciones pueden incluir la separación de privilegios o la comprobación de autorizaciones.

    La asignación de privilegios debe realizarse manualmente. Se pueden asignar privilegios a un programa que falla debido a la falta de privilegios. Como alternativa, el administrador de la seguridad puede decidir asignar un UID o un GID efectivo para que el privilegio resulte innecesario.

  4. Crear y asignar perfiles de derechos para el nuevo programa.