Selinux en Debian Top 10 Buster

Selinux en Debian Top 10 Buster
Selinux es un sistema de etiquetado para procesos y archivos. El acceso de los sujetos etiquetados a los objetos etiquetados está restringido por las reglas que forman políticas. Este tutorial es una introducción a los conceptos básicos de Selinux que muestra cómo configurar y habilitar Selinux en Debian 10 Buster y habilitarlo con información adicional sobre comandos populares.

Antes de comenzar, necesitará aprender los siguientes conceptos:

Asignaturas: procesos o usuarios.
Objetos: archivos o sistemas de archivos.

Tipo de aplicación: En Selinux, todos los sujetos y objetos tienen un identificador de tipo que termina con _T. "El tipo de aplicación es la noción de que, en un sistema de control de acceso obligatorio, el acceso se rige a través de la autorización basada en un conjunto de reglas de objeto de accesos de asunto sujeto.

En Selinux, la aplicación de tipo se implementa en función de las etiquetas de los sujetos y objetos. Selinux por sí mismo no tiene reglas que digan /bin/bash puede ejecutar /bin/ls. En su lugar, tiene reglas similares a "procesos con la etiqueta user_t puede ejecutar archivos regulares etiquetados bin_t.”(Fuente https: // wiki.GENTOO.org/wiki/selinux/type_enforcement)

Control de acceso discrecional (DAC): DAC es el sistema de propiedad y permiso que utilizamos en Linux para administrar el acceso a objetos como archivos o directorios. El control de acceso discrecional no tiene nada que ver con Selinux y es una capa de seguridad diferente. Para obtener información adicional sobre DAC, visite los permisos de Linux explicados.

Control de acceso obligatorio (Mac): es un tipo de control de acceso que restringe la interacción de acceso a los sujetos con objetos. Contrariamente a que los usuarios de DAC con Mac no puedan cambiar las políticas.
Los sujetos y los objetos tienen un contexto de seguridad (atributos de seguridad) monitoreados por Selinux y administrados de acuerdo con las políticas de seguridad hechas por las reglas que se aplicarán.


Control de acceso basado en roles (RBAC): es un tipo de control de acceso basado en roles, se puede combinar con Mac y DAC. Las políticas de RBAC hacen que la gestión de muchos usuarios dentro de una organización sea simple en contraste con DAC que puede derivar en tareas de permiso individual, facilita la auditoría, la configuración y las actualizaciones de políticas.

Modo de aplicación: Selinux restringe el acceso de los sujetos a los objetos basados ​​en políticas.

Modo permisivo: Selinux solo registra actividad ilegítima.

Las características de Selinux incluyen (Lista de Wikipedia):

  • Separación limpia de la política de la aplicación
  • Interfaces de políticas bien definidas
  • Soporte para aplicaciones que consultan la política y la aplicación del control de acceso (por ejemplo, crond Ejecución de trabajos en el contexto correcto)
  • Independencia de políticas específicas y lenguajes de políticas
  • Independencia de formatos y contenidos específicos de etiqueta de seguridad
  • Etiquetas y controles individuales para objetos y servicios de núcleo
  • Apoyo a los cambios de política
  • Medidas separadas para proteger la integridad del sistema (tipo de dominio) y la confidencialidad de los datos (seguridad multinivel)
  • Política flexible
  • Controles sobre la inicialización y la herencia del proceso, y la ejecución del programa
  • Controla los sistemas de archivos, directorios, archivos y abrir descriptores de archivo
  • Controles sobre enchufes, mensajes e interfaces de red
  • Controles sobre el uso de "capacidades"
  • Información en caché sobre decisiones de acceso a través del caché de vector de acceso (AVC)
  • Deny predeterminado Política (cualquier cosa que no sea explícitamente especificada en la política se nota).

Fuente: https: // en.Wikipedia.Org/wiki/Security-Enhanced_Linux#Características

Nota: Los usuarios son diferentes en Selinux y Passwd.

Configuración de Selinux en Debian 10 Buster

En mi caso, Selinux fue deshabilitado en Debian 10 Buster. Mantener habilitado a Selinux es uno de los pasos básicos para mantener un dispositivo Linux seguro. Para saber el estado de Selinux en su dispositivo, ejecute el comando:

/# sestatus

Encontré que Selinux estaba deshabilitado, para habilitarlo, debe instalar algunos paquetes antes, después de un Actualización de apt, Ejecute el comando:

/# Apt install Selinux-Basics Selinux-Policy-Default

Si se solicita, presione Y Para continuar el proceso de instalación. Correr Actualización de apt Después de terminar la instalación.

Para habilitar Selinux, ejecute el siguiente comando:

/# selinux-activate

Como puede ver, Selinux se activó correctamente. Para aplicar todos los cambios, debe reiniciar su sistema según las instrucciones.

El comando getenforce se puede usar para aprender el estado de Selinux, si está en modo permisivo o de aplicación:

/# getenforce

El modo permisivo podría reemplazarse configurando el parámetro 1 (Permisivo es 0). También puede verificar el modo en el archivo de configuración utilizando el comando menos:

/# menos/etc/selinux/config

Producción:

Como puede ver, los archivos de configuración muestran el modo permisivo. Prensa Q abandonar.

Para ver un contexto de seguridad de archivo o proceso, puede usar el flag -z:

/# ls -z

El formato de la etiqueta es Usuario: Role: Tipo: Nivel.

Semanage - Herramienta de gestión de políticas de Selinux

Semanage es la herramienta de gestión de políticas de Selinux. Permite administrar booleanos (que permiten modificar el proceso en la ejecución), roles y niveles de usuario, interfaces de red, módulos de política y más. Semanage permite configurar las políticas de Selinux sin la necesidad de compilar fuentes. Semanage permite el enlace entre los usuarios del sistema operativo y Selinux y ciertos contextos de seguridad de los objetos.

Para obtener información adicional sobre el semanago, visite la página del hombre en: https: // Linux.morir.net/hombre/8/semanago

Conclusión y notas

Selinux es una forma adicional de administrar acceso desde procesos a recursos del sistema, como archivos, particiones, directorios, etc. Permite administrar privilegios masivos de acuerdo con el rol, el nivel o el tipo. Tenerlo habilitado es imprescindible como medida de seguridad y cuando se usa es importante para recordar su capa de seguridad y reiniciar el sistema después de habilitarlo o deshabilitarlo (no se recomienda deshabilitar en absoluto excepto por pruebas específicas). A veces, el acceso a un archivo se bloquea a pesar de que se otorgan los permisos del sistema u sistema operativo porque Selinux lo está prohibiendo.

Espero que haya encontrado este artículo en Selinux útil como introducción Esta solución de seguridad, siga a Linuxhint para obtener más consejos y actualizaciones sobre Linux y Networking.

Artículos relacionados:

  • Selinux en el tutorial de Ubuntu
  • Cómo deshabilitar Selinux en Centos 7
  • Lista de verificación de endurecimiento de seguridad de Linux
  • Apparmor Perfiles en Ubuntu