miércoles, 19 de febrero de 2014

Entendiendo SELinux (Parte II)

Continuando con esta serie sobre SELinux, veremos el sistema de archivos /selinux, que en la actualidad la mayoría de distros no lo utilizan (ahora está en /etc/selinux) y detales sobre el fichero de configuración /etc/selinux/config.

El sistema de archivos /selinux 
Este es un pseudo-filesystem, así como /proc o /sys. Cuando SELinux está activo (enforcing o permissive) aquí se cambian los flags y los booleans de las políticas (estilo /proc) y también para cambiar entre los dos modos antes mencionado. En versiones antiguas de SELinux el filesystem /selinux era más usado para administración, pero en la actualdiad se puede prescindir del mismo, e incluso, en muchas distribuciones este filesystem no existe en esa ruta, sino que está en /etc/selinux.

El fichero /etc/selinux/config
Es el fichero de configuración principal y control de SELinux. Contiene cinco configuraciones elementales de este subsistema, que son:
  1. El policy enforcement status: enforcing, permissive o disabled
  2. El policy name o type, que es una ruta a la política a ser carga y sus ficheros de configuración.
  3. Cómo los usuarios locales y booleans será administrador cuando la política es cargada (actualmente esta función es obsoleta).
  4. Cómo las aplicaciones de login se van a comportar si no hay usuarios SELinux configurados.
  5. Si el systema va a ser re-etiquedado (relabeled) o no.
Más concretamente, estas son las variables existentes dentro del fichero config.

SELINUX=enforcing|permissive|disabled
  • enforcing: La seguridad de SELinux es forzada. No se permite nada que no esté explícitamente permitido.
  • permissive: La seguridad de SELinux no es forzada pero se guardan las advertencias en logs. Finalmente la acción a realizar es permitida.
  • disabled: SELinux está deshabilitado y ninguna política es cargada.

SELINUXTYPE=policy_name
El varlor de policy_name es usado para identificar el tipo de politica, y constituye el nombre del directorio donde se encuentra dicha politica (/etc/selinux)y sus ficheros de configuración.

SETLOCALDEFS=0|1
Este parámetro ya es obsoleto y debe ser removido o fijado a 0. Si está fijado en 1, selinux_mkload_policy leerá la configuración personalizada local de los booleans y los usuadios.

REQUIREUSERS=0|1
Este parámetro es optcional y puede ser usado fallar un login si no hay coincidencia con el usuario o si el fichero de seusers no existe. Si está fijado a 0, getseuserbyname devolverá el usuario de Linux como el usuario SELinux. Si está fijado a 1, fallará.

AUTORELABEL=0|1
Este parámetro también es opcional y hace el el sistema de archivos sea re-etiquetado. Si está fijado a 0 y el fichero .autorelabel existe, entonces en el reinicio el gestor de arranque abrirá un shell para loguearnos como root y re-etiquetar manualmente el sistema de archivos. Si está fijado a 1 y existe el fichero .autorelabel, entonces el sistema de archivos será re-etiquetado automáticamente, haciendo uso de fixfiles -F resotre.

No hay comentarios:

Publicar un comentario