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:
- Forzado – Habilitado por defecto, filtros basados en políticas definidas.
- Permisivo – No aplica las políticas definidas, pero registra todos los intentos en archivos de registro. Este modo es útil para solucionar problemas.
- 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:
getenforce
sestatus
Si solo necesita cambiar el modo para la sesión actual, puede usar los siguientes comandos:
sudo setenforce 0
– establece el modo permisivo para la sesión actualsudo 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:
- Cambie el modo de 'hacer cumplir' a 'permisivo'.
- 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.