Cómo usar semanage y evitar deshabilitar SELinux


Jack Wallen le presenta tres comandos semanage que le ayudarán a hacer el manejo de SELinux considerablemente más fácil.

securityhacker-istock.jpg

Imagen: iStock / iBrave

Lo entiendo: SELinux es un desafío, y cuando la capa de seguridad impide sus aplicaciones o servicios, su primera inclinación es configurarlo en Desactivado o Permisivo. En un momento en el que la seguridad es primordial, no puede permitirse realizar ese cambio, de lo contrario, arriesga la seguridad de todo su sistema o su purple. No quieres eso.

En lugar de poner todo en riesgo, ¿por qué no utilizar una herramienta que pueda ayudarte? Esa herramienta es semanage, que es la herramienta de administración de políticas de SELinux. Con semanage, puede ajustar contextos de archivos, contextos de puertos y valores booleanos, lo que será de gran ayuda para que las cosas funcionen, sin deshabilitar el sistema de seguridad.

Quiero presentarles los siguientes comandos:

  • semanage boolean

  • semanage fcontext

  • puerto semanage

Una vez que conozca estos comandos, podrá trabajar mejor con SELinux en sus sistemas Linux.

VER: Comandos de command de servicios de Linux (TechRepublic Premium)

Lo que necesitarás

  • Una instancia en ejecución de Linux (que united states SELinux)
  • Un usuario con privilegios de sudo

Cómo utilizar semanage boolean

Con semanage boolean, puede habilitar y deshabilitar conjuntos de reglas de permiso, lo que hace posible permitir diferentes conjuntos de reglas para diferentes casos de uso. Por ejemplo, supongamos que tiene un servidor net que debe permitir la lectura del contenido del usuario, como los datos de sus directorios de inicio. Fuera de la caja, SELinux no lo permitirá. Con el semanage boolean comando, puede habilitar esa función.

Puedes usar el semanage boolean comando para enumerar todas las políticas relacionadas con HTTP disponibles con el comando:

sudo semanage boolean -l | grep httpd

Verá varias entradas como:

httpd_study_user_information (off , off) Make it possible for httpd to read through person articles

Cada listado incluye el nombre del booleano, el estado genuine y persistente del booleano y una descripción del booleano. Como puede ver arriba, el httpd_examine_user_material boolean está desactivado. ¿Cómo lo habilitamos? Sencillo:

sudo semanage boolean -m --on httpd_read_user_written content

Con la opción -m le estamos indicando a SELinux que estamos modificando un registro (en este caso httpd_browse_user_context) con la opción que sigue (–on).

Eso es. Acaba de hacer que SELinux permita la lectura del contenido del usuario por parte del servidor web.

Si desea enumerar todos los valores booleanos para ver qué más puede hacer, emita el comando:

sudo semanage boolean -l

Cómo utilizar semanage fcontext

los semanage fcontext El comando se usa para administrar definiciones de contexto de archivos, que contienen información adicional (como usuario, rol, tipo y nivel de SELinux) para tomar decisiones de management de acceso. El contexto del archivo es uno de los mayores problemas que enfrentan los administradores con SELinux. Es posible que haya creado un nuevo directorio para albergar las claves de host SSH, pero sin el contexto de archivo correcto, SELinux no tendrá todos los accesos SSH a ese directorio.

¿A qué te dedicas?

Cambia el contexto del archivo del nuevo directorio con semanage fcontext.

Al igual que con booleano, fcontext tiene políticas con las que puede trabajar. Para ver una lista completa de las políticas disponibles, emita el comando:

sudo semanage fcontext -l

Continuemos con nuestro ejemplo. Si desea enumerar todas las políticas relacionadas con el demonio SSH, emita el comando:

sudo semanage fcontext -l | grep sshd

En esa lista, verá las siguientes entradas:

/etcetera/ssh/primes regular file program_u:object_r:sshd_vital_t:s0 
/and so on/ssh/ssh_host.*_critical common file technique_u:item_r:sshd_essential_t:s0 
/etcetera/ssh/ssh_host.*_vital.pub frequent file process_u:item_r:sshd_critical_t:s0

Supongamos que desea alojar sus claves de host SSH en / info / keys. Usted crea el directorio, mueve todas las claves a la nueva casa y cambia el archivo sshd_config para que coincida con la nueva asignación. Cuando intenta utilizar SSH, falla. ¿Por qué? Porque / data / keys no tiene el fcontext adecuado. Puede solucionarlo con los siguientes dos comandos:

sudo semanage fcontext -a -t sshd_critical_t '/data/keys/*.*'
sudo restorecon -r /info/keys

Tenemos que usar el restaurarcon comando para establecer el contexto de seguridad en los nuevos archivos, después de que hayamos creado la nueva política con semanage fcontxt. La expresión regular *. * captura todos los archivos dentro del directorio.

Cómo utilizar puerto semanage

Como probablemente puedas adivinar, puerto semanage le permite ejecutar un servicio en un puerto personalizado. Si intenta ejecutar un servicio en un puerto personalizado, el servicio fallará. Digamos que desea ejecutar el demonio SSH en un puerto no estándar. Si simplemente configura sshd_config para esto, encontrará que SELinux le impedirá obtener acceso ya que SELinux no se da cuenta de que ha realizado este cambio.

Si desea cambiar el puerto SSH a 2112:

semanage port -a -t ssh_port_t -p tcp 2112

Luego tendría que agregar el puerto al firewall con los comandos:

sudo firewall-cmd --add-port=2112/tcp --lasting
sudo firewall-cmd --reload

En este punto, finalmente podría SSH en el servidor habilitado para SELinux, utilizando el puerto no estándar.

Para enumerar todas las políticas de puerto disponibles, ejecute el comando:

sudo semanage port -l

Conclusión

SELinux es una herramienta muy poderosa, que hace un gran trabajo al proteger sus servidores Linux de cambios no deseados. Con ese poder viene un cierto nivel de complejidad. En lugar de deshabilitar SELinux o configurarlo en modo permisivo, familiarícese con los tres comandos anteriores, que deberían hacer su vida de administrador considerablemente más fácil.

Suscríbase a Cómo hacer que la tecnología funcione en YouTube de TechRepublic para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Ver también



Enlace a la noticia original