Cómo establecer una política en Selinux

Cómo establecer una política en Selinux
Una de las principales razones por las cuales las personas eligen Linux es la seguridad que ofrece. Por eso encontrarás a Linux en servidores y estaciones de trabajo profesionales. Selinux es una característica de seguridad de Linux. Ha sido parte del núcleo de Linux estándar durante bastante tiempo, y cualquier distribución moderna tiene soporte Selinux.

Hay varias formas diferentes de operar Selinux. Esto está definido por la política de Selinux. En esta guía, aprenderá más sobre las políticas de Selinux y cómo establecer una política en Selinux.

Descripción general de la política de Selinux

Tengamos un resumen rápido de Selinux y sus políticas. Selinux es un acrónimo de "Linux mejorado con seguridad."Comprende una serie de parches de seguridad al kernel de Linux. Selinux fue desarrollado originalmente por la Agencia de Seguridad Nacional (NSA) y liberado a la comunidad de desarrollo de código abierto en 2000 bajo la licencia GPL. Se fusionó con el núcleo de Linux principal en 2003.

Selinux proporciona Mac (control de acceso obligatorio) en lugar del DAC predeterminado (control de acceso discrecional). Esto permite la implementación de algunas políticas de seguridad que no serían posibles implementar de otra manera.

Las políticas de Selinux son conjuntos de reglas que guían el motor de seguridad Selinux. Una política define tipos de objetos y dominios de archivo para procesos. Se utilizan roles para limitar el acceso a los dominios. Las identidades de los usuarios determinan qué roles se pueden alcanzar.
Hay dos políticas de Selinux disponibles:

  • Dirigido: la política predeterminada. Implementa el control de acceso a procesos específicos. Los procesos se ejecutan en un dominio confinado donde el proceso tiene acceso limitado a los archivos. Si se compromete un proceso confinado, el daño se mitiga. En el caso de los servicios, solo se colocan servicios específicos en estos dominios.
  • MLS: significa seguridad multinivel. Consulte la documentación de Red Hat en la política de Selinux MLS.

Los procesos que no están dirigidos se ejecutarán en un dominio no confinado. Los procesos que se ejecutan en dominios no confinados disfrutan de un acceso casi completo. Si dicho proceso se ve comprometido, Selinux no ofrece mitigación. El atacante puede obtener acceso a todo el sistema y recursos. Sin embargo, las reglas DAC aún se aplican para los dominios no confinados.
La siguiente es una breve lista de ejemplos de dominios no confinados:

  • Dominio initrc_t: programas de inicio
  • dominio kernel_t: procesos de kernel
  • Dominio no Confined_T: los usuarios iniciaron sesión en el sistema Linux

Cambiar la política de Selinux

Los siguientes ejemplos se realizan en Centos 8. Todos los comandos en este artículo se ejecutan como usuario root. Para otras distribuciones, consulte el tutorial apropiado sobre cómo habilitar Selinux.
Para cambiar una política en Selinux, comience revisando el estado de Selinux. El estado predeterminado debe estar habilitado Selinux en el modo "Cumplimiento" con la política "dirigida".

$ sestatus


Para cambiar la política de Selinux, abra el archivo de configuración de Selinux en su editor de texto favorito.

$ vim/etc/selinux/config


Aquí, nuestro objetivo es la variable "Selinuxtype" que define la política de Selinux. Como puede ver, el valor predeterminado está "."

Todos los pasos demostrados en este ejemplo se realizan en Centos 8. En el caso de CentOS, la política de MLS no se instaló de forma predeterminada. Es probable que este sea el caso en otras distribuciones. Aprenda a configurar Selinux en Ubuntu aquí. Asegúrese de instalar el programa primero. En el caso de Ubuntu, Centos, OpenSuse, Fedora, Debian y otros, el nombre del paquete es "Selinux-Policy-MLS."

$ DNF Install Selinux-Policy-MLS


En este caso, cambiaremos la política a MLS. Cambiar el valor de la variable en consecuencia.

$ Selinuxtype = mls

Guarde el archivo y salga del editor. Para poner en vigencia estos cambios, debe reiniciar el sistema.

$ reiniciar

Verifique el cambio emitiendo lo siguiente.

$ sestatus

Cambiar los modos Selinux

Selinux puede operar en tres modos diferentes. Estos modos determinan cómo se aplica la política.

  • Formado: cualquier acción contra la política se bloquea e informa en el registro de auditoría.
  • Permisivo: cualquier acción contra la política solo se informa en el registro de auditoría.
  • Desactivado: Selinux está deshabilitado.

Para cambiar temporalmente el modo en Selinux, use el comando setenforce. Si se reinicia el sistema, el sistema volverá a la configuración predeterminada.

$ Setenforce aplicando
$ setenforced permisivo


Para cambiar permanentemente el modo en Selinux, debe ajustar el archivo de configuración de Selinux.

$ vim/etc/selinux/config


Guardar y cerrar el editor. Reiniciar el sistema para poner en vigencia los cambios.
Puede verificar el cambio usando el comando sestatus.

$ sestatus

Conclusión

Selinux es un mecanismo poderoso para hacer cumplir la seguridad. Con suerte, esta guía lo ayudó a aprender cómo configurar y administrar el comportamiento de Selinux.
Computación feliz!