Buscar

11.4. Añadir reglas personalizadas de permiso y denegación para fapolicyd

download PDF

El conjunto de reglas por defecto del paquete fapolicyd no afecta a las funciones del sistema. Para escenarios personalizados, como el almacenamiento de binarios y scripts en un directorio no estándar o la adición de aplicaciones sin los instaladores yum o rpm, debe modificar las reglas existentes o añadir otras nuevas. Los siguientes pasos demuestran la adición de una nueva regla para permitir un binario personalizado.

Requisitos previos

  • El marco fapolicyd se despliega en su sistema.

Procedimiento

  1. Copie su binario personalizado en el directorio requerido, por ejemplo:

    $ cp /bin/ls /tmp
    $ /tmp/ls
    bash: /tmp/ls: Operation not permitted
  2. Detenga el servicio fapolicyd:

    # systemctl stop fapolicyd
  3. Utilice el modo de depuración para identificar la regla correspondiente. Como la salida del comando fapolicyd --debug es verbosa y sólo puede detenerla pulsando Ctrl+C o matando el proceso correspondiente, redirija la salida de error a un archivo:

    # fapolicyd --debug 2> fapolicy.output &
    [1] 51341

    Como alternativa, puede ejecutar el modo de depuración fapolicyd en otro terminal.

  4. Repite el comando que no fue permitido:

    $ /tmp/ls
    bash: /tmp/ls: Operation not permitted
  5. Detener el modo de depuración reanudándolo en primer plano y pulsando Ctrl+C:

    # fg
    fapolicyd --debug
    ^Cshutting down...
    Inter-thread max queue depth 1
    Allowed accesses: 2
    Denied accesses: 1
    [...]

    Alternativamente, matar el proceso de fapolicyd modo de depuración:

    # kill 51341
  6. Encuentre una regla que deniegue la ejecución de su aplicación:

    # cat fapolicy.output
    [...]
    rule:9 dec=deny_audit perm=execute auid=1000 pid=51362 exe=/usr/bin/bash : file=/tmp/ls ftype=application/x-executable
    [...]
  7. Agregue una nueva regla allow before la regla que negó la ejecución de su binario personalizado en el archivo /etc/fapolicyd/fapolicyd.rules. La salida del comando anterior indicó que la regla es la regla número 9 en este ejemplo:

    allow perm=execute exe=/usr/bin/bash trust=1 : path=/tmp/ls ftype=application/x-executable trust=0

    Como alternativa, puede permitir la ejecución de todos los binarios en el directorio /tmp añadiendo la siguiente regla en el archivo /etc/fapolicyd/fapolicyd.rules:

    allow perm=execute exe=/usr/bin/bash trust=1 : dir=/tmp/ all trust=0
  8. Para evitar cambios en el contenido de su binario personalizado, defina la regla requerida utilizando una suma de comprobación SHA-256:

    $ sha256sum /tmp/ls
    780b75c90b2d41ea41679fcb358c892b1251b68d1927c80fbc0d9d148b25e836  ls

    Cambia la regla por la siguiente definición:

    allow perm=execute exe=/usr/bin/bash trust=1 : sha256hash=780b75c90b2d41ea41679fcb358c892b1251b68d1927c80fbc0d9d148b25e836
  9. Inicie el servicio fapolicyd:

    # systemctl start fapolicyd

Pasos de verificación

  1. Comprueba que tu binario personalizado puede ejecutarse ahora, por ejemplo:

    $ /tmp/ls
    ls

Recursos adicionales

  • Consulte la página de manual fapolicyd.trust(5) para obtener más información.
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.