SELinux/es

From Gentoo Wiki
Jump to: navigation, search


SELinux es un sistema control de accesos obligatorio que habilita un mecanismo de mayor granularidad lo que permite al administrador de seguridad definir lo que un usuario puede hacer y lo que no. A diferencia del control de accesos discrecional estándar para Linux (el cual permite al usuario común compartir archivos que no debe, permitir a otros tener acceso para modificar sus archivos, etc.) un sistema de control de accesos abligatorio es totalmente gobernado a través de una política de seguridad.

Con SELinux, que trabaja "junto" con el sistema de control de accesos estándar (el sistema estándar es comprobado primero y sólo cuando éste permite una actividad, entonces SELinux es preguntado también), los procesos se ejecutan en su interior, en lo que se conoce como "dominio". Los privilegios son asignados a un dominio para definir las interacciones permitidas con otros recursos (sean procesos, otros dominios, archivos, conectores (sockets), capacidades, contextos de archivos, semáforos, mensajes, ...).

Soporte en Gentoo

En Gentoo, SELinux es soportado a través del proyecto Gentoo Hardened aunque no requiera el uso de perfiles "hardened" (se puede habilitar SELinux sin usar herramientas de construcción para "hardened").

Recuros SELinux en Gentoo Hardened

Lo que sigue es una lista de recursos disponibles en apoyo a usuarios y desarrolladores en sus cuestiones sobre SELinux y son también mantenidos por los desarrolladores del subproyecto SELinux en Gentoo Hardened.

También hay alguna documentación relacionada con el desarrollo de aplicaciones, en caso de que esté interesado en contribuir al apoyo de SELinux en Gentoo Hardened.

Módulos de Política SELinux

SELinux una un esquema modular en sus políticas. El núcleo de permisos están contenidos en la política "base" mientras que privilegios adicionales se definen en módulos SELinux. Se pueden listar los módulos SELinux actualmente cargados usando semodule -l. Puesto que un módulo de politica contiene definiciones (qué dominios son proporcionados por el módulo, qué recursos son etiquetados y de qué manera) privilegios (que interacciones están permitidas), privilegios opcionales (que son activados por condiciones booleanas SELinux) y mas, a veces justifica tener un documento más elaborado sobre los detalles de ese módulo.

A continuación se puede ver un listado de módulos documentados.

  • apache es el módulo SELinux para los servidores web como apache o lighttpd
  • bind es el módulo SELinux para el servidor de nombres de dominio
  • chromium es el módulo SELinux module para el cliente web chromium
  • cron es el módulo SELinux para varios programas cron (como vixie-cron)
  • ldap es el módulo SELinux para OpenLDAP
  • portage es el módulo SELinux module que ofrece soporte para el portage de Gentoo y herramienta relacionadas con portage(como gcc-config, eselect, ...)