GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo asegurar servidores Linux con SE Linux

La seguridad es un aspecto extremadamente importante del desarrollo de software, la administración de servidores y el desarrollo de aplicaciones en estos días.

Y si usa Linux, tiene suerte:viene con una función excelente llamada SE Linux que lo ayuda a agregar una capa adicional de seguridad.

¿Qué es SE Linux?

SE Linux fue desarrollado por la NSA (Agencia de Seguridad Nacional) para cumplir tareas de seguridad relacionadas con el gobierno.

SE Linux significa Security Enhanced Linux. Da a los administradores del sistema más control para proporcionar acceso a archivos y procesos. Con SE Linux, los administradores pueden definir un contexto y etiquetar archivos y permitirlos dentro de ese contexto.

El acceso y los permisos generalmente se heredan en función de los grupos de usuarios. Pero hay algunas fuentes (como servidores web y procesos) que necesitan acceso a puertos de red y procesos del kernel. Por lo general, los genera el usuario raíz o los usuarios con acceso especial. SE Linux lo ayuda a limitar quién puede acceder a estos procesos especiales.

Cómo trabajar con SE Linux

SE Linux viene por defecto en la mayoría de las distribuciones de Linux. En esta publicación, estaré trabajando en Fedora.

Solo tenga en cuenta que trabajar con SE Linux requiere sudo o root acceso.

El archivo de configuración de SE Linux se encuentra en /etc/sysconfig/selinux carpeta. Veamos su contenido:

Modos SE Linux

En el archivo de configuración, podemos cambiar los modos y elegir cualquiera de los siguientes:

  1. Forzado – Habilitado por defecto, filtros basados ​​en políticas definidas.
  2. Permisivo – No aplica las políticas definidas, pero registra todos los intentos en archivos de registro. Este modo es útil para solucionar problemas.
  3. Deshabilitado – SE Linux está completamente deshabilitado. Esto no se recomienda ya que podría exponer su sistema a amenazas. Además, volver a forzar podría crear ciertas discrepancias.

Puede verificar su modo SE Linux actual con los siguientes comandos:

  1. getenforce
  2. sestatus

Si solo necesita cambiar el modo para la sesión actual, puede usar los siguientes comandos:

  1. sudo setenforce 0 – establece el modo permisivo para la sesión actual
  2. sudo setenforce 1 – establece el modo de aplicación para la sesión actual

Políticas de SE Linux

En SE Linux, las políticas definen el acceso a los usuarios. Los usuarios definen el acceso a los roles y los roles definen el acceso a los dominios. Luego, los dominios brindan acceso a ciertos archivos.

Para cambiar y modificar accesos se definen 'booleanos'. Veremos los booleanos en la siguiente sección.

Cómo administrar las políticas de SE Linux con booleans

Como ya sabe, las políticas de SE Linux se administran mediante booleanos.

Veamos un ejemplo práctico de cómo vería y establecería un valor booleano. En este ejemplo, estableceremos valores booleanos específicos para httpd .

Primero, enumere todos los módulos específicos de http – getsebool -a | grep httpd .

Aquí -a enumera todos los valores booleanos.

A continuación, seleccionemos y cambiemos el booleano resaltado en amarillo en el código anterior:

getsebool httpd_can_connect_ftp

Ahora, establezca el valor en allow .

setsebool -P httpd_can_connect_ftp 1

En el comando anterior,

  • La bandera P se usa para hacer que el cambio sea permanente incluso después de reiniciar.
  • 1 está habilitando el booleano.

Ahora, cuando vuelva a enumerar el proceso, se permitirá su valor.

Arquitectura SE Linux

El siguiente diagrama explica cómo SE Linux valida un intento desde la fuente:

Resolución de problemas y registros de SE Linux

SE Linux produce registros muy detallados para cada intento. Puede encontrar los registros y verlos aquí:/var/log/audit .

Durante la resolución de problemas, debe pasar al modo 'permisivo' para que todos los eventos se puedan registrar en los registros. Aunque las políticas no se aplican, los intentos se registran en los registros.

Cómo deshabilitar y habilitar SE Linux

Deshabilitar SE Linux por completo nunca es una buena opción. Pero hay ciertos escenarios en los que se pueden pasar por alto las políticas, como cuando se solucionan problemas.

En lugar de deshabilitar SE Linux si se encuentra con un pequeño problema, es mejor invertir algo de tiempo en la resolución de problemas.

Pero si realmente necesita deshabilitar SE Linux, siga estos pasos:

  1. Cambie el modo de 'hacer cumplir' a 'permisivo'.
  2. Cambia el modo de 'permisivo' a 'deshabilitado'.

Resumiendo

Aprender SE Linux vale la pena y hay infinitas posibilidades que puede explorar al usarlo.

SE Linux proporciona a los administradores un nivel de control detallado. Entonces, ¿por qué no aprenderlo y aprovecharlo para aumentar su seguridad?

Gracias por leer hasta el final. Conectémonos en Twitter.


Linux
  1. Cómo uso Vagrant con libvirt

  2. Cómo cifrar archivos con gocryptfs en Linux

  3. Cómo asegurar Nginx con Letsencrypt en Rocky Linux/Centos 8

  4. Linux:¿cómo anular un servidor Vm Dns?

  5. ¿Cómo comprobar la contraseña con Linux?

Cómo ejecutar un alias con Sudo en Linux

Cómo comenzar con Arch Linux

¿Cómo proteger GRUB con contraseña en Linux?

Cómo administrar el almacenamiento con GParted Linux

Cómo proteger un firewall de Linux con reglas de IPTables

Cómo proteger SSH con Fail2Ban