0
(0)

SELinux puede ayudarlo a proteger su servidor de procesos o aplicaciones que no funcionen correctamente. Desarrollada por la NSA (Agencia de Seguridad Nacional) para proteger los dispositivos del gobierno de los atacantes, la arquitectura de Linux con seguridad mejorada (SE) utiliza protocolos de seguridad para restringir el acceso a los recursos del sistema. Descubra cómo puede usarlo para su servidor.

Arquitectura SELinux

SELinux es un módulo del kernel que el administrador del sistema puede habilitar o deshabilitar. Como el acceso a archivos y puertos de red está limitado siguiendo una política de seguridad, un programa defectuoso o un demonio mal configurado no pueden tener un gran impacto en la seguridad del sistema.

Cuando una aplicación o proceso solicita acceso a archivos en el sistema SELinux, primero verifica el caché de vector de acceso (AVC). Si el permiso se almacenó previamente en caché, regresa con el archivo para la aplicación solicitada. Si el permiso no se almacena en caché, envía la solicitud al servidor de seguridad. El servidor de seguridad comprueba todas las políticas de seguridad en su base de datos. Dependiendo de la política de seguridad, el permiso se concede o se rechaza.

No existe el concepto de root o superusuario en SELinux. La seguridad de una distribución de Linux no modificada sin SE Linux depende de la corrección del kernel, todas las aplicaciones privilegiadas y sus configuraciones. una falla o error en cualquiera de estos componentes puede crear una superficie de ataque y comprometer el sistema.

Por otro lado, un sistema Linux modificado con SELinux depende principalmente de la corrección del núcleo y de las políticas de seguridad.

Cómo instalar o habilitar SELinux

SELinux significa Security Enhanced Linux. SELinux ha sido parte del kernel de Linux desde 2003. Por lo tanto, no tiene que instalarlo por separado. Sin embargo, en la mayoría de las distribuciones de escritorio de Linux, está deshabilitado de forma predeterminada.

Ver Linux 2

SELinux tiene tres modos principales: Forzado, Permisivo y Deshabilitado. Vamos a discutirlos brevemente:

  1. Forzado: Esto activa y protege el sistema Linux mediante políticas de seguridad.
  2. Permisivo: No aplica las políticas de seguridad pero registra todo. Este modo es útil para solucionar problemas.
  3. Discapacitado: Desactiva SELinux. No se recomienda esta opción y, si vuelve a habilitar SELinux en su sistema, se producirán errores debido a cambios en el etiquetado.

Nota: Ubuntu se envía con AppArmor, una alternativa a SELinux. Si bien SELinux está disponible en Ubuntu, no es compatible con AppArmor y puede dañar su sistema si está habilitado. Si realmente necesita usar SELinux en Ubuntu, asegúrese de desactivar AppArmor y realice pruebas intensivas (primero comience con el modo permisivo) antes de usarlo para producción.

  1. Para activar SELinux en su sistema, debe editar el archivo “/etc/selinux/config”. Abra este archivo en su editor de texto.
sudo nano /etc/selinux/config
  1. Dentro del archivo de configuración, establezca SELINUX=permissive . Presione Ctrl + O y presione Enter para guardar el archivo y presione Ctrl + X para salir del editor. SELinux ahora está activado en su sistema.

NotaNota: si intenta hacer cumplir SELinux directamente antes de hacerlo permisivo, puede etiquetar incorrectamente los archivos y procesos y evitar que arranque.

  1. Para volver a etiquetar automáticamente el sistema de archivos, cree un archivo llamado «.autorelabel» en su sistema de archivos raíz. Ahora, cuando inicie su sistema, SELinux volverá a etiquetar automáticamente su sistema de archivos. Para reducir los errores, mantenga la SELINUX=permissive opción tal como está en la carpeta de configuración. Después de volver a etiquetar todo, establezca SELinux en SELINUX=enforcing en “/etc/selinux/config” y reinicie.

SELinux se aplicará con éxito en su sistema.

Cómo configurar SELinux

SELinux es una arquitectura que permite a los administradores del sistema controlar qué puede acceder a los recursos del sistema. SELinux limita el acceso al sistema mediante el uso de políticas de seguridad. Hay muchas formas de configurar SELinux para proteger su sistema, siendo las más populares la «política dirigida» y la «seguridad multinivel» (MLS).

Una política específica es la política de seguridad predeterminada. Cubre una variedad de políticas de seguridad, como acceso a archivos, tareas, servicios, etc. La seguridad multinivel (MLS) es generalmente utilizada por el gobierno y las grandes organizaciones, es muy complicada de configurar y requiere un equipo dedicado para administrarla.

Puede verificar su modo SELinux actual con el comando getenforce y sestatus.

Si solo necesita cambiar el modo SELinux en la sesión actual, puede ejecutar los siguientes dos comandos.

  • sudo setenforce 0: Configuración de SELinux en el modo permisivo para la sesión actual.
  • sudo setenforce 1: Configuración de SELinux en modo de aplicación para la sesión actual.

Políticas de SELinux

SELinux funciona como un sistema de etiquetado. Asocia cada archivo, puerto y proceso con una etiqueta. Las etiquetas son una forma lógica de agrupar cosas. El núcleo es responsable de administrar la etiqueta durante el arranque.

Ver Linux 1Fuente de imagen: MIT

Las políticas de SELinux se pueden administrar mediante booleanos. Por ejemplo, establezcamos booleano en un demonio llamado httpd. httpd es un demonio de servidor Apache HTTP que usamos para ejecutar servidores web en Linux.

Para enumerar todos los módulos específicos de httpdejecute el siguiente comando en su terminal:

getsebool -a | grep httpd

Aquí el -a opción enumera todos los valores booleanos, y usamos grep para filtrar booleanos relacionados solo con httpd. Lea este artículo para saber más sobre grep en Linux.

El resultado del comando anterior se parece a la imagen de abajo.

httpd_builtin scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> off 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

De la lista anterior, tomamos el httpd_can_connect_ftp booleano y cambiar su valor. Primero, lea el valor de httpd_can_connect_ftpya sea que esté encendido o apagado:

getsebool httpd_can_connect_ftp

Fijemos el valor de httpd_can_connect_ftp permitir.

setsebool -P httpd_can_connect_ftp 1

Aquí, 1 representa allow o on. Él -P La etiqueta se utiliza para hacer que el cambio sea permanente. Si vuelve a enumerar los valores booleanos relacionados con httpd, podemos ver el cambio en el httpd_can_connect_ftp valor a on.

httpd_builtin_scripting --> on 
httpd_can_check_spam --> off 
httpd can connect ftp --> on 
httpd_can_connect_ldap --> off 
httpd_can_connect_mythty --> off 
httpd_can_connect_zabbix --> off 
httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off 
httpd_can_network_memcache --> off 
httpd_can_network_relay --> off 
httpd_can_sendmail --> off 
httpd_dbus_avahi --> off 
httpd dbus sssd--> off

Cómo manejar los errores de SELinux

SELinux tiene 4 tipos de errores en general:

  1. El sistema se ha roto: SELinux protege su sistema restringiendo el acceso, pero a veces esto no es suficiente. Si obtiene estos errores, entonces su sistema puede estar comprometido. Tome las medidas necesarias lo más rápido posible.
  2. Error en la política: si hay un error en la política que debe corregirse, aparece este error.
  3. las etiquetas estan mal: Este mensaje de error aparece durante la personalización del etiquetado por parte del usuario o cuando el etiquetado automático de SELinux falla. Hay muchas herramientas en el mercado para corregir estos errores de etiqueta.
  4. Hay que fijar una política: Estos errores se originan cuando realiza algunos cambios en el sistema y no informa a SELinux al respecto. Puede corregir este error utilizando módulos booleanos o de políticas.

Cómo deshabilitar SELinux

Deshabilitar SELinux nunca es una buena opción para servidores empresariales y gubernamentales y dispositivos públicos que son muy propensos a sufrir ataques. Pero si desea deshabilitar SELinux en su sistema, siga estas instrucciones.

  1. Vaya al archivo de configuración de SE Linux en “/etc/selinux” y cambie el modo de configuración de SE Linux de enforcing a permissiveluego reinicie su sistema.
  2. Cambiar el modo SELinux de permissive a disabled.

Después del próximo reinicio, SELinux en su sistema se desactiva y se convierte en una máquina Linux normal.

Preguntas frecuentes

¿Está presente SELinux en Android?

Sí, SELinux está implementado en Android desde la versión 4.3. Mejoró la seguridad de Android para proteger a los usuarios de Android de los ataques cibernéticos.

¿SELinux es un cortafuegos?

SELinux no es un cortafuegos. El firewall controla el tráfico entre la computadora y la red. Mientras que SELinux controla y gobierna el sistema de archivos y el acceso a la red de diferentes programas dentro del sistema, podemos pensar en SELinux como un firewall interno para proteger el sistema de sus programas.

¿SELinux es un sistema operativo?

SELinux no es un sistema operativo. Es un módulo de seguridad del kernel que existe en el kernel de Linux. Proporciona soporte para políticas de seguridad de control de acceso y controles de acceso obligatorios (MAC). Para llamarlo un sistema operativo, necesita más que el propio kernel. En la mayoría de los sistemas operativos basados ​​en Linux, puede usar SELinux.

¿Deberías usar SELinux?

Si es administrador de sistemas y conoce el sistema Unix, debe usar SELinux, ya que mejora la seguridad de su servidor y minimiza la superficie de ataque. Si no está muy familiarizado con los sistemas Unix, también puede usar Apparmour. Esto es relativamente más fácil que SELinux. Si es un usuario doméstico y usa Linux solo en su computadora de escritorio, no es necesario que use SELinux. Solo le dará un dolor de cabeza configurar y reducir su productividad.

¿Le ha parecido útil este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.