Gestión de confianza de archivos

Gestione la base de datos de confianza para mantener fapolicyd sincronizado con archivos de confianza.

Los fideicomisos de archivos se almacenan en la base de datos de confianza. Los fideicomisos se pueden generar en función de la información de la base de datos RPM o se pueden definir manualmente agregando entradas de configuración en el sistema de archivos. El contenido de la base de datos de confianza y el funcionamiento de la confianza se tratan con más detalle en Acerca de la base de datos de confianza.

Refrescamiento de la Base de Datos de Confianza

Refresque la base de datos de confianza si los archivos del sistema se han agregado o actualizado fuera del marco DNF.

Refresque la base de datos de confianza de fapolicyd manualmente.
sudo fapolicyd-cli --update

Adición de Archivos a la Base de Datos de Archivos de Confianza

Puede agregar cualquier archivo que no esté instalado utilizando DNF a la base de datos de archivos manualmente.

  1. Agregue un archivo a la base de datos de archivos de confianza.
    sudo fapolicyd-cli --file add <path_to_file> --trust-file trust_entry

    Si el archivo aún no está en una base de datos de confianza, el comando agrega el archivo a la configuración del archivo de confianza mediante la creación de una entrada en /etc/fapolicyd/trust.d/<trust_entry>.

  2. Opcionalmente, agregue una entrada de ejemplo.

    Por ejemplo, para agregar /home/user/demo.bin a /etc/fapolicyd/trust.d/demo, ejecute:

    sudo fapolicyd-cli --file add /home/user/demo.bin --trust-file demo
Consejo

Puede utilizar herramientas de línea de comandos como find para agregar varias entradas a la base de datos de archivos de confianza al mismo tiempo. Por ejemplo:

find /home/user/bin/ -type f -exec fapolicyd-cli --file add {} --trust-file trusted_user_bin \;
Consejo

Para eliminar un archivo de la base de datos de archivos de confianza, edite el archivo de texto directamente para eliminar la entrada o ejecute:

sudo fapolicyd-cli --file delete <path_to_file>
Importante

Después de realizar cambios en la base de datos de archivos de confianza, debe refrescar la base de datos de confianza antes de que fapolicyd registre esos cambios. Consulte Refrescamiento de la Base de Datos de Confianza.

Todas las entradas de la base de datos de archivos de confianza se almacenan como archivos de texto sin formato en /etc/fapolicyd/trust.d/ y se pueden editar con un editor de texto, si es necesario. Si necesita actualizar tamaños de archivo o valores hash, consulte Actualización de la base de datos de archivos de confianza.

Actualización de la base de datos de archivos de confianza

Si cambia el tamaño o el hash de cualquier archivo de la base de datos de confianza de archivos, debe actualizar la base de datos de confianza de archivos.

  1. Actualice la base de datos del archivo de confianza.

    Para actualizar la base de datos de archivos de confianza para los cambios en todos los archivos de la base de datos de confianza de archivos, ejecute:

    fapolicyd-cli -f update

    Si especifica la ruta de acceso a un archivo, sólo los valores de ese archivo se actualizan en la base de datos.

  2. Refresque la base de datos de confianza.

    Después de realizar cambios en la base de datos de archivos de confianza, debe refrescar la base de datos de confianza para que fapolicyd registre esos cambios. Consulte Refrescamiento de la Base de Datos de Confianza.

Comprobación de discrepancias de confianza

Las discrepancias de confianza se producen cuando el tamaño de archivo o el valor hash SHA-256 de un archivo del sistema de archivos ya no coinciden con la información almacenada para el archivo en la base de datos de confianza. El cambio de un archivo fuera del uso de DNF puede provocar una discrepancia de confianza. Por ejemplo, si un archivo se instala o actualiza mediante el comando rpm directamente o cuando un usuario o proceso ha cambiado el archivo.

Nota

Aunque puede configurar fapolicyd para comprobaciones de integridad de archivos basadas en el tamaño o en el hash SHA-256, no recomendamos aplicar esta opción globalmente, ya que aumenta la probabilidad de un interbloqueo del sistema.

Compruebe si hay discrepancias de confianza en un sistema.
sudo fapolicyd-cli --check-trustdb

La salida muestra los archivos en los que se produce una discrepancia y cuál es la discrepancia. Por ejemplo:

/etc/selinux/targeted/contexts/files/file_contexts miscompares: size sha256
/etc/selinux/targeted/policy/policy.33 miscompares: size sha256
/opt/rh/gcc-toolset-12/root/usr/bin/ld miscompares: size sha256
/usr/lib64/gconv/gconv-modules.cache miscompares: size sha256
...

Tenga en cuenta que se esperan discrepancias porque el tamaño o el contenido de algunos archivos cambian de los valores de la base de datos de RPM después de ejecutar determinados comandos o servicios. Sin embargo, la comprobación de discrepancias puede ayudarle a alertar a los archivos que podrían estar en la base de datos de confianza, pero que han cambiado después de que se agregaron a la base de datos.

Lista de Entradas de la Base de Datos de Confianza

Puede ver toda la información de la base de datos de confianza volcando los datos que contiene.

Enumere las entradas de la base de datos de confianza.
sudo fapolicyd-cli -D

La salida muestra el tipo de confianza, la ruta al archivo que es de confianza, el tamaño del archivo en bytes y el hash SHA-256 del archivo.

Consejo

Puede utilizar herramientas de línea de comandos como grep para limitar los datos devueltos en la salida de volcado. Por ejemplo:

sudo fapolicyd-cli -D|grep '/usr/bin/dnf-3'

Restablecimiento de la base de datos de confianza

Puede restablecer la base de datos de confianza parando el servicio fapolicyd y suprimiendo la base de datos. Esto puede ayudar a depurar problemas en fapolicyd.

  1. Detenga el servicio fapolicyd.
    sudo systemctl stop fapolicyd
  2. Suprimir la base de datos de confianza.
    sudo fapolicyd-cli --delete-db

    La base de datos de confianza se elimina por completo y, a continuación, se crea y actualiza la próxima vez que inicie el servicio fapolicyd.

Atención

Nunca elimine el directorio /var/lib/fapolicyd/ directamente, ya que esto podría impedir que fapolicyd funcione correctamente y provocar el bloqueo del sistema.