SELinux y Amanda Enterprise

Este articulo es para empresa amanda (AA)

Comprobación del modo SELinux

Puede obtener la configuración actual del modo SELinux ejecutando getenforce o sestatus como usuario root. El primero simplemente imprime "Enforcing" o "Permissive" en la salida estándar. Este último proporciona detalles adicionales, incluido el punto de montaje de SELinuxfs, el modo actual, el modo tal como aparece en el archivo de configuración de SELinux, etc.

El usuario root puede cambiar el modo SLELinux durante el tiempo de ejecución utilizando la aplicación setenforce.

Uso:

setenforce [Ejecución | Permisivo | 1 | 0]

Es importante recordar que los cambios realizados con sentenforce no son persistentes hasta el reinicio del sistema.

Si SELinux está configurado como permisivo, en lugar de desactivado, entonces cualquier aplicación compatible con SELinux se comportará como si el modo de aplicación todavía estuviera configurado. SELinux también continuará auditando la actividad de las aplicaciones mientras esté en modo permisivo. Esta es la principal diferencia entre usar el modo permisivo y deshabilitar SELinux por completo.

El valor predeterminado del modo cuando se inicia el sistema se define en el archivo / etc / selinux / config mediante el parámetro SELINUX. El parámetro SELINUX acepta cumplimiento, permisivo o inhabilitado.

Por ejemplo:

root> # cat / etc / selinux / config # Este archivo controla el estado de SELinux en el sistema. # SELINUX = puede tomar uno de estos tres valores: # Enforcing - Se aplica la política de seguridad de SELinux. # permisivo: SELinux imprime advertencias en lugar de hacer cumplir. # disabled: no se carga ninguna política de SELinux. SELINUX = enforcing # SELINUXTYPE = puede tomar uno de tres dos valores: # objetivo - Los procesos objetivo están protegidos, # mínimo - Modificación de la política objetivo. Solo los procesos seleccionados están protegidos. # mls - Protección de seguridad multinivel. SELINUXTYPE = raíz de destino> #

Si alguna vez se le solicita que solucione un problema en el que el modo SELinux cambia constantemente a un modo inesperado en el momento del arranque, vale la pena señalar que SELinux también se puede configurar en grub.conf estableciendo el parámetro de aplicación en 0 o 1 (permisivo o hacer cumplir, respectivamente).

Configurar SELinux para que funcione bien con Amanda

Debido a que la función principal de SELinux es hacer cumplir el control de acceso obligatorio, es posible que se requieran pasos adicionales para ejecutar Amanda si SELinux no está deshabilitado o en modo permisivo.

Las versiones modernas de Zmanda (Amanda Enterprise Edition) intentarán configurar automáticamente SELinux en modo permisivo en el momento de la instalación.

root> # ./amanda-enterprise-3.4-linux-x64.run La instalación de Zmanda requiere cambiar SELinux al estado permisivo. El propio instalador lo hará y lo restaurará a su estado original una vez finalizada la instalación. ¿Quieres continuar? [Y / n]:

La Zmanda El instalador usa la aplicación semanage para lograr esto, así que asegúrese de que semanage esté instalado verificando, por ejemplo, qué semanage antes de ejecutar el instalador. Si semanage aún no está instalado, puede obtener la aplicación con:

root> # yum proporciona * / semanage {salida adicional no mostrada} root> # yum install

Al solucionar problemas de instalaciones de Amanda / Zmanda en entornos que implementan SELinux, si es posible, intente configurar SELinux en modo permisivo temporalmente. Vuelva a intentar sus pruebas para confirmar que SELinux es, de hecho, la causa del problema y generar entradas de registro de auditoría.

Si no es posible ejecutar SELinux en modo permisivo debido a su política de seguridad, hay algunos indicadores de que SELinux está interfiriendo con el funcionamiento normal de Amanda. Puede consultar los registros de auditoría en busca de entradas relacionadas con amanda y / o zmanda:

root> # ausearch -m avc -c amanda

Si no puede encontrar entradas de registro con respecto a SELinux que niega a Amanda, pero no hay problemas cuando se ejecuta en modo permisivo, entonces puede ser el resultado de reglas de no auditoría. Para deshabilitar temporalmente las reglas de no auditoría, puede ejecutar:

raíz> # semodule -DB

Una vez que esto se haya ejecutado, intente ejecutar su instalación, copia de seguridad o restauración nuevamente y verifique el registro de auditoría. Después de que SELinux haya registrado las denegaciones correspondientes, asegúrese de volver a habilitar no auditar reglas:

raíz> # semodule -B

Algunos sistemas operativos vienen con módulos de políticas preinstalados para Amanda que pueden no reflejar los contextos correctos para su versión de Amanda. Puede verificar qué módulo está incluido actualmente usando:

root> # semodule -l | grep amanda

Puede llevar unos minutos enumerar todos los módulos instalados y, por supuesto, si no hay ningún módulo que coincida con 'amanda', no habrá salida. Si encuentra que está ejecutando un módulo de políticas de Amanda antiguo o corrupto, puede eliminarlo usando:

raíz> # semodule -r 

Todos los contextos de SELinux se pueden configurar manualmente, pero eso está fuera del alcance de esta documentación. Si está interesado en una solución completamente manual, debe consultar las páginas de manual de chcon y restorecon para obtener información detallada.

Creación de paquetes de políticas personalizados con audit2allow

En la mayoría de los entornos, hay varias máquinas cliente Amanda que ejecutan sistemas operativos similares y, en ocasiones, es necesario implementar servidores Amanda adicionales. No es eficiente solucionar problemas y cambiar manualmente los contextos de seguridad en cada máquina individual en estos escenarios. Aquí es donde una herramienta llamada audit2allow puede ser útil para crear paquetes de políticas personalizados que se pueden implementar en múltiples máquinas en la red.

Primero, ejecute sus tareas en modo permisivo y cree un archivo de aplicación de tipos:

root> # grep -E 'amanda | zmanda' /var/log/audit/audit.log | audit2allow -m myamanda> myamanda.te

Una vez que se crea el archivo de aplicación de tipo, asegúrese de que un operador lo verifique. Modifique la salida generada automáticamente según lo requiera su departamento de seguridad de la información.

Al verificar el archivo de aplicación de tipo, recuerde: muchas aplicaciones proporcionarán contexto de seguridad SELinux por medio de un interruptor -Z. Por ejemplo, 'ls, -Z', 'ps axZ', etc.

Una vez que se verifica que el archivo de aplicación de tipos cumple con los requisitos de su política de seguridad, debe convertirse en un paquete de políticas para incluirlo como un módulo de políticas activo. Para hacerlo, puede ejecutar los siguientes comandos:

root> # checkmodule -mo myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Para cargar el módulo de políticas, debe ejecutar:

root> # semodule -i myamanda.pp

Si recibe un error que tiene "Intenté vincular en un módulo que no es MLS con una base MLS" en su lugar, deberá convertir el archivo de aplicación de tipos como seguridad multicapa e incluir el paquete de políticas resultante de la siguiente manera:

root> # checkmodule -M -m -o myamanda.mod myamanda.te root> # semodule_package -m myamanda.mod -o myamanda.pp

Y luego incluya el paquete de políticas usando semodule -i como se describe arriba. Ahora debería estar configurado para ejecutar sus copias de seguridad y restauraciones con SELinux en modo de aplicación.