¿Estás visitando desde Argentina?
Ingresá a Linware Argentina ⯈
Continuar en Linware Argentina ⯈
×
¿Qué estás buscando?
BUSCAR!
BLOG
SELinux no es una función de Zimbra
Publicada el 17/11/2022

Este blog trata sobre algo que no es una función de Zimbra, sí, lo leíste correctamente, generalmente en el blog destacamos funciones nuevas o existentes. Pero este blog es un poco diferente. De vez en cuando, las personas escriben en los foros de Zimbra o comentan publicaciones de blog diciendo que ejecutan Zimbra con SELinux en modo de aplicación. Este blog es una explicación de por qué eso no brinda los beneficios de seguridad que a menudo se suponen.

¿Qué es SELinux?

Security-Enhanced Linux (SELinux) define controles de acceso para procesos y archivos en un sistema Linux. SELinux usa políticas de seguridad, que son un conjunto de reglas que le dicen a SELinux a qué se puede o no acceder. Cada archivo y cada proceso que se ejecute en un sistema con SELinux tendrá una etiqueta . La etiqueta le dice a SELinux qué política aplicar al determinar si una acción específica está permitida o denegada. Una acción puede ser escribir en una determinada ubicación, acceder a un dispositivo de bloque, conectarse a la red, etc. Para obtener más información sobre SELinux, consulte: https://www.redhat.com/en/topics/linux/what-is-selinux

¿Estoy usando SELinux?

Si está utilizando una distribución basada en RedHat y no deshabilitó SELinux, debería estar en modo de cumplimiento de forma predeterminada. Puede verificar esto ejecutando el siguiente comando como root:

# hacer cumplir
hacer cumplir

El modo de cumplimiento significa que SELinux aplicará políticas y denegará el acceso en caso de que algún proceso esté haciendo algo que se supone que no debe hacer. Según la versión de su sistema operativo, verá un mensaje de registro "avc: denegado" en /var/log/messages o /var/log/audit/audit.log o mediante journalctl. Otros modos son permisivos , donde solo se generan los registros, pero en realidad no se niega nada. Finalmente SELinux se puede deshabilitar , lo que significa que no hace nada.

Entonces, ¿por qué SELinux no funciona con Zimbra?

Para brindar libertad de elección a nuestros clientes, Zimbra está diseñado para funcionar en varios sistemas operativos. A lo largo de la historia hemos soportado los sistemas operativos más populares en cada momento. En algún momento admitimos Debian, Fedora, SuSe e incluso MacOS. Actualmente admitimos RedHat, Oracle Linux, CentOS, Rocky Linux y Ubuntu.

Y aquí nos enfrentamos a un problema y es que SELinux es un mecanismo de seguridad que solo funciona en distribuciones basadas en RedHat. Ubuntu, por ejemplo, ofrece AppArmor para brindar una funcionalidad similar a SELinux.

Desafortunadamente, debido a que SELinux no es multiplataforma, nunca se implementó realmente en Zimbra y actualmente no planeamos admitirlo.

Entonces, ¿cómo funciona Zimbra con SELinux?

Zimbra se ejecuta, pero no está protegido por SELinux . Puede ver esto ejecutando el comando ps -xZ en su servidor Zimbra como root:

# ps-xZ | grep zimbra
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 4181 ? Ss 0 : 00 nginx: proceso maestro /opt/zimbra/common/sbin/nginx -c /opt/zimbra/conf/nginx.conf
no confinado_u:no confinado_r:no confinado_t:s0-s0:c0.c1023 4706 ? Ss 0 : 00 /opt/zimbra/common/libexec/master -w
no confinado_u:no confinado_r:no confinado_t:s0-s0:c0.c1023 5594 ? S 0 : 00 sudo /opt/zimbra/libexec/zmstat-fd
no confinado_u:no confinado_r:no confinado_t:s0-s0:c0.c1023 5627 ? S 0 : 00 /usr/bin/perl -w /opt/zimbra/libexec/zmstat-fd
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 14492 ? Ss 0 : 00 /opt/zimbra/libexec/zmmailboxdmgr inicio... -Djava.net.preferIPv4Stack=true...

La etiqueta unconfined_t se describe en la documentación de RedHat de la siguiente manera:

Los usuarios de Linux no confinado se ejecutan en el dominio unconfined_t. Para los procesos no confinados, se aplican las reglas de política de SELinux, pero existen reglas de política que permiten que los procesos que se ejecutan en dominios no confinados tengan casi todo el acceso. Los procesos que se ejecutan en dominios no confinados recurren al uso exclusivo de reglas DAC. Si un proceso no confinado se ve comprometido, SELinux no evita que un atacante obtenga acceso a los recursos y datos del sistema , pero, por supuesto, las reglas DAC aún se usan. SELinux es una mejora de seguridad además de las reglas DAC, no las reemplaza.

Según las reglas de DAC, la documentación se refiere a los permisos estándar de lectura y escritura de los sistemas de archivos de Linux que son compatibles con Zimbra. Y sistemas de archivos ACL que no están implementados en Zimbra.

Entonces, ¿desactivo SELinux?

SELinux aún puede evitar que los procesos que no son de Zimbra que se instalan a través de la distribución del sistema operativo hagan cosas malas si tienen problemas de seguridad sin parches. Entonces, en esa perspectiva, aún puede usar SELinux. Pero con la información anterior, comprenderá que la mayoría de los ataques a Zimbra ocurren en procesos que se ejecutan sin restricciones. Entonces, en la mayoría de los casos, SELinux no va a ayudar. La única desventaja real de SELinux es que, a veces, cuando actualiza su sistema, se puede activar un reetiquetado de (todos) los archivos en un servidor, lo que puede causar problemas de rendimiento o un inicio del sistema realmente lento.

Otras lecturas

Ir al Blog