Selinux en el tutorial de Ubuntu

Selinux en el tutorial de Ubuntu

Introducción

Selinux es un módulo de control de acceso obligatorio (MAC) que reside en el nivel del núcleo de los sistemas Linux. Es un desarrollo conjunto de Redhat y la NSA lanzado alrededor de 1998 y sigue siendo mantenido por una comunidad entusiasta. Por defecto, Ubuntu usa Apparmor y no Selinux, que es similar en términos de rendimiento, pero bastante popular en términos de simplicidad. Sin embargo, se sabe que Selinux es bastante seguro debido a la participación de una agencia gubernamental. Selinux es una aplicación de código abierto que protege al host aislando cada aplicación y limitando sus actividades. Por defecto, los procesos están bloqueados para realizar cualquier actividad a menos que se otorgue el permiso explícito. El módulo proporciona de forma nativa dos reglas de gestión de nivel global: permisivo y aplicamiento que respecta a la regla de cada uno de los registros respectivamente, y niega el acceso a una solicitud particular enviada desde un proceso. Este tutorial demuestra cómo usarlo en Ubuntu con facilidad.

Cómo instalar y habilitar

Selinux es una aplicación muy complicada para instalar, porque si no está configurada correctamente antes del primer reinicio, hará que todo el sistema operativo sea innumerable, lo que significa que cualquier cosa más allá de la pantalla de arranque inicial será prácticamente inalcanzable por medios normales.

Además, como se indicó anteriormente, Ubuntu ya tiene un sofisticado sistema de control de acceso obligatorio de alto nivel conocido como APARMOR y, por lo tanto, debe deshabilitarse antes de instalar Selinux para evitar conflictos. Use las siguientes instrucciones para deshabilitar APARMOR y habilitar Selinux.

sudo /etc /init.D/Apparmor Stop
Apt -Get Update && Upgrade -yuf
apt-get install selinux
nano/etc/selinux/config
'Establecer Selinux en Permisive, Selinuxtype para predeterminar'
reiniciar

Esta configuración de archivo se puede abrir con cualquier editor de texto para realizar cambios. El motivo para asignar regla permisiva a SetLinux es hacer que el sistema operativo sea accesible mientras deja habilitado a Selinux. Se recomienda usar la opción permisiva, ya que es sin problemas, pero registra reglas violadas establecidas en Selinux.

Opciones Disponibles

Selinux es un módulo complejo y completo; Por lo tanto, contiene muchas de las características y opciones. Dicho esto, la mayoría de estas opciones pueden no ser útiles para todos debido a su naturaleza exótica. Las siguientes opciones son algunas de las opciones básicas y útiles en este módulo. Son más que suficientes para poner en funcionamiento a Selinux.

Verifique el estado: El estado de Selinux se puede verificar directamente a través de la ventana Terminal, que muestra la información básica como si Selinux está habilitado, Directorio Root Selinux, nombre de política cargado, modo actual, etc. Después de reiniciar el sistema después de instalar Selinux, use el siguiente comando como usuario root con el comando sudo. Si establece que Selinux está habilitado en la sección de estado, significa que está en funcionamiento en segundo plano.

root@ubuntu:/home/dondilanga# sestatus

Cambiar el nivel de permiso global: El nivel de permiso global establece cómo se comporta Selinux cuando tropieza con una regla. De forma predeterminada, Selinux se establece en la aplicación que bloquea efectivamente todas las solicitudes, pero puede modificarse a permisos, lo que es indulgente para el usuario, ya que permite el acceso, pero registra cualquier regla violada en su archivo de registro.

nano/etc/selinux/config
'Establezca Selinux en permisos o aplicando, selinuxtype a predeterminado'

Verifique el archivo de registro: El archivo de registro que establece las reglas violadas por cada solicitud. Esto solo mantiene registros si Selinux está habilitado.

Grep Selinux/var/log/audit/audit.registro

Habilitar y deshabilitar las políticas y qué protecciones ofrecen: Esta es una de las opciones más importantes en Selinux, ya que permite habilitar y deshabilitar las políticas. Selinux tiene una gran cantidad de políticas previas a la construcción que determinan si la solicitud especificada está permitida o no. Algunos de los ejemplos de esto son TOW_FTPD_FULL_ACCESS que determina la capacidad del servicio FTP para iniciar sesión en usuarios locales y lee escribir todos los archivos en el sistema, permitiendo_ssh_keysign que permite que las claves se usen al iniciar sesión en SSH, tOhion_user_mysql_connect que permite a los usuarios conectarse a mysql , httpd_can_sendmail que determina la capacidad del servicio HTTP para enviar un correo electrónico, etc. En el siguiente ejemplo de código, instala PolicyCoreutils-Python-Utils que realmente ayuda a enumerar cada política de manera descriptiva, a continuación, enumera todas las políticas disponibles en Terminal , finalmente enseña cómo establecer o desactivar una política, el ToilT_FTPD_FULL_ACCESS es el nombre de la política como se muestra en el terminal devuelto por semanage,

apt-get install PolicyCoreutils-Python-Utils
semanage booleano -l
setseBool -p dign_ftpd_full_access en

Opciones avanzadas

Las opciones avanzadas son opciones que ayudan a extender las funcionalidades en Selinux. Hay una gran cantidad de combinaciones debido a la naturaleza integral de Selinux, por lo que este artículo enumera algunos de los prominentes y útiles entre ellos.

Control de acceso basado en roles (RBAC): RBAC permite a los administradores cambiar a una forma basada en roles de limitar el permiso de las aplicaciones. Lo que significa es que un usuario de un grupo de usuarios en particular puede ejecutar o realizar ciertas acciones predefinidas. Mientras el usuario sea parte del papel, está bien. Esto es lo mismo que cambiar a root al instalar aplicaciones en Linux con derechos administrativos.

Semanage Login -A -S 'Myrole' -r 'S0 -S0: C0.C1023 '

Los usuarios pueden cambiar su papel con el siguiente comando.

sudo -r new_role_r -i

Los usuarios también pueden conectarse de forma remota al servidor a través de SSH con el rol habilitado al inicio.

ssh /[email protected]

Permita que un servicio escuche un puerto no estándar: Esto es bastante útil para personalizar un servicio, por ejemplo, cuando un puerto FTP se cambia a uno no estándar para evitar accesos no autorizados, Selinux debe informarse en consecuencia para permitir que dichos puertos pasen y funcionen como de costumbre. El siguiente ejemplo permite que el puerto FTP escuche el puerto 992. Del mismo modo, cualquier servicio devuelto por Puerto de semanago -l puede ser reemplazado. Algunos de los puertos populares son http_port_t, pop_port_t, ssh_port_t.

Puerto de semanago -A -T
Puerto de semanage -A -T FTP_PORT_T -P TCP 992

Cómo deshabilitar

Desactivar Selinux es más fácil ya que está habilitado e instalado. Básicamente hay dos formas de deshabilitarlo. Ya sea temporal o permanentemente. Desactivar Selinux temporal hace que se desactive por un tiempo hasta el siguiente arranque, y tan pronto como la computadora se enciende nuevamente, el estado se reinicia. Por otro lado, la desactivación permanente de Selinux lo apaga por completo a las amenazas; Por lo tanto, es una buena opción para restaurar el apparmor predeterminado de Ubuntu al menos por el bien de la seguridad del sistema.

El siguiente comando en el terminal lo apaga temporalmente:

setenforce 0

Para desactivarse permanentemente editar /etc/selinux/config y configure Selinux en discapacitado.