Esta página incluye contenido traducido automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

2 LDAP

Descripción general

Se puede utilizar la autenticación LDAP externa para comprobar los nombres de usuario y las contraseñas.

La autenticación LDAP de Zabbix funciona al menos con Microsoft Active Directory y OpenLDAP.

Si solo se configura el inicio de sesión LDAP, el usuario también debe existir en Zabbix, sin embargo, su contraseña de Zabbix no se utilizará. Si la autenticación es exitosa, Zabbix hará coincidir un nombre de usuario local con el atributo de nombre de usuario devuelto por LDAP.

Aprovisionamiento de usuarios

Es posible configurar el aprovisionamiento de usuarios JIT (just-in-time) para usuarios LDAP. En este caso, no es necesario que el usuario ya exista en Zabbix. La cuenta de usuario puede crearse cuando el usuario inicia sesión en Zabbix por primera vez.

Cuando un usuario LDAP introduce su login y contraseña de LDAP, Zabbix comprueba en el servidor LDAP por defecto si este usuario existe. Si el usuario existe y aún no tiene una cuenta en Zabbix, se crea un nuevo usuario en Zabbix y el usuario puede iniciar sesión.

Un usuario creado mediante aprovisionamiento JIT se asocia con el servidor LDAP (directorio) que está configurado como predeterminado en el momento de la creación. Cambiar el servidor LDAP predeterminado posteriormente no cambia ni actualiza el servidor LDAP vinculado a los usuarios que ya fueron aprovisionados.

Si el aprovisionamiento JIT está habilitado, debe especificarse un grupo de usuarios para los usuarios desaprovisionados en la pestaña Autenticación.

El aprovisionamiento JIT también permite actualizar las cuentas de usuario aprovisionadas en función de los cambios en LDAP. Por ejemplo, si un usuario se mueve de un grupo LDAP a otro, el usuario también se moverá de un grupo a otro en Zabbix; si un usuario se elimina de un grupo LDAP, el usuario también se eliminará del grupo en Zabbix y, si no pertenece a ningún otro grupo, se añadirá al grupo de usuarios para usuarios desaprovisionados. Las cuentas de usuario aprovisionadas se actualizan en función del período de aprovisionamiento configurado o cuando el usuario inicia sesión en Zabbix.

Tenga en cuenta que el aprovisionamiento en segundo plano lo realiza el frontend de Zabbix cuando el usuario interactúa con él o al menos tiene una página del frontend abierta en el navegador. No existen procesos en segundo plano dedicados para aprovisionar usuarios.

LDAP admite tres formas de enlazarse al directorio para autenticación y búsquedas:

  • Enlace anónimo: no se proporciona Bind DN / Bind password y el servidor LDAP permite consultas anónimas.
  • Usuario de enlace dedicado (cuenta de servicio): se establece una cuenta LDAP específica en Bind DN / Bind password y Zabbix la utiliza para búsquedas y aprovisionamiento. Esta es la opción recomendada y más flexible porque Zabbix puede realizar búsquedas y aprovisionamiento en segundo plano sin credenciales de usuario final.
  • Enlace directo de usuario: Zabbix realiza el enlace utilizando las credenciales que el usuario introduce al iniciar sesión (no se configura Bind DN / Bind password); esto se configura incluyendo un marcador de posición como uid=%{user} en el Base DN. En este modo, Zabbix solo tiene acceso a la contraseña del usuario durante el inicio de sesión interactivo. Como resultado, las acciones de aprovisionamiento que requieren autenticación en LDAP fuera de la sesión de inicio de sesión del usuario (por ejemplo, utilizando el botón Aprovisionar ahora o ejecutando el aprovisionamiento en segundo plano cuando el usuario no ha iniciado sesión activamente) no pueden autenticarse y, por lo tanto, no funcionarán. El aprovisionamiento y las actualizaciones para el enlace directo de usuario solo ocurren en el momento en que el usuario inicia sesión.

Varios servidores

Se pueden definir varios servidores LDAP, si es necesario. Por ejemplo, se puede utilizar un servidor diferente para autenticar a un grupo de usuarios diferente. Una vez configurados los servidores LDAP, en la configuración del grupo de usuarios es posible seleccionar el servidor LDAP requerido para el grupo de usuarios respectivo.

Si un usuario pertenece a varios grupos de usuarios y a varios servidores LDAP, se utilizará para la autenticación el primer servidor de la lista de servidores LDAP ordenados por nombre en orden ascendente.

Configuración

Parámetros de configuración:

Parámetro Descripción
Habilitar autenticación LDAP Marque la casilla para habilitar la autenticación LDAP.
Habilitar aprovisionamiento JIT Marque la casilla para habilitar el aprovisionamiento JIT.
Servidores Haga clic en Agregar para configurar un servidor LDAP (consulte Configuración del servidor LDAP a continuación).
Inicio de sesión sensible a mayúsculas y minúsculas Desmarque la casilla para deshabilitar el inicio de sesión sensible a mayúsculas y minúsculas para los nombres de usuario (habilitado por defecto).
Deshabilitar el inicio de sesión sensible a mayúsculas y minúsculas permite, por ejemplo, iniciar sesión como "admin" incluso si el usuario de Zabbix es "Admin" o "ADMIN".
Tenga en cuenta que si el inicio de sesión sensible a mayúsculas y minúsculas está deshabilitado y hay varios usuarios de Zabbix con nombres de usuario similares (por ejemplo, Admin y admin), el inicio de sesión para esos usuarios siempre será denegado con el siguiente mensaje de error: "Autenticación fallida: las credenciales proporcionadas no son únicas."
Período de aprovisionamiento Establezca el período de aprovisionamiento, es decir, con qué frecuencia se realiza el aprovisionamiento de usuarios.

Configuración del servidor LDAP

Parámetros de configuración del servidor LDAP:

Parámetro Descripción
Nombre Nombre del servidor LDAP en la configuración de Zabbix.
Host Nombre de host, IP o URI del servidor LDAP. Ejemplos: ldap.example.com, 127.0.0.1, ldap://ldap.example.com
Para un servidor LDAP seguro, utilice el protocolo ldaps y el nombre de host. Ejemplo: ldaps://ldap.example.com
Con OpenLDAP 2.x.x y posteriores, se puede utilizar una URI LDAP completa de la forma ldap://hostname:port o ldaps://hostname:port.
Puerto Puerto del servidor LDAP. El valor predeterminado es 389.
Para una conexión LDAP segura, el número de puerto normalmente es 636.
No se utiliza cuando se usan URIs LDAP completas.
Base DN Ruta base a las cuentas de usuario en el servidor LDAP:
ou=Users,ou=system (para OpenLDAP),
DC=company,DC=com (para Microsoft Active Directory)
uid=%{user},dc=example,dc=com (para enlace directo de usuario, ver nota abajo)
Atributo de búsqueda Atributo de cuenta LDAP utilizado para la búsqueda:
uid (para OpenLDAP),
sAMAccountName (para Microsoft Active Directory)
Bind DN Cuenta LDAP para enlazar y buscar en el servidor LDAP, ejemplos:
uid=ldap_search,ou=system (para OpenLDAP),
CN=ldap_search,OU=user_group,DC=company,DC=com (para Microsoft Active Directory)
También se admite el enlace anónimo. Tenga en cuenta que el enlace anónimo potencialmente expone la configuración del dominio a usuarios no autorizados (información sobre usuarios, computadoras, servidores, grupos, servicios, etc.). Por razones de seguridad, desactive los enlaces anónimos en los hosts LDAP y utilice el acceso autenticado en su lugar.
Contraseña de enlace Contraseña LDAP de la cuenta para enlazar y buscar en el servidor LDAP.
Descripción Descripción del servidor LDAP.
Configurar aprovisionamiento JIT Marque esta casilla para mostrar las opciones relacionadas con el aprovisionamiento JIT.
Configuración de grupo Seleccione el método de configuración de grupo:
memberOf - buscando usuarios y su atributo de pertenencia a grupo
groupOfNames - buscando grupos a través del atributo member
Tenga en cuenta que memberOf es preferible ya que es más rápido; use groupOfNames si su servidor LDAP no admite memberOf o se requiere filtrado de grupos.
Atributo de nombre de grupo Especifique el atributo para obtener el nombre del grupo de todos los objetos en el atributo memberOf (ver el campo Atributo de pertenencia a grupo de usuario)
El nombre del grupo es necesario para la asignación de grupos de usuarios.
Atributo de pertenencia a grupo de usuario Especifique el atributo que contiene información sobre los grupos a los que pertenece el usuario (por ejemplo, memberOf).
Por ejemplo, el atributo memberOf puede contener información como esta: memberOf=cn=zabbix-admin,ou=Groups,dc=example,dc=com
Este campo solo está disponible para el método memberOf.
Atributo de nombre de usuario Especifique el atributo que contiene el nombre del usuario.
Atributo de apellido de usuario Especifique el atributo que contiene el apellido del usuario.
Asignación de grupo de usuario Asigne un patrón de grupo de usuario LDAP a un grupo de usuario y rol de usuario de Zabbix.
Esto es necesario para determinar qué grupo/rol de usuario obtendrá el usuario aprovisionado en Zabbix.
Haga clic en Agregar para añadir una asignación.
El campo Patrón de grupo LDAP admite comodines. El nombre del grupo debe coincidir con un grupo existente.
Si un usuario LDAP coincide con varios grupos de usuarios de Zabbix, el usuario se convierte en miembro de todos ellos.
Si un usuario coincide con varios roles de usuario de Zabbix, el usuario obtendrá el que tenga el nivel de permiso más alto entre ellos.
Asignación de tipo de medio Asigne los atributos de medios LDAP del usuario (por ejemplo, correo electrónico) a los medios de usuario de Zabbix para el envío de notificaciones.
Configuración avanzada Haga clic en la etiqueta Configuración avanzada para mostrar las opciones de configuración avanzada (ver abajo).
StartTLS Marque la casilla para utilizar la operación StartTLS al conectarse al servidor LDAP. La conexión fallará si el servidor no admite StartTLS.
StartTLS no se puede utilizar con servidores que usan el protocolo ldaps.
Filtro de búsqueda Defina una cadena personalizada al autenticar un usuario en LDAP. Se admiten los siguientes marcadores de posición:
%{attr} - nombre del atributo de búsqueda (uid, sAMAccountName)
%{user} - valor del nombre de usuario a autenticar
Por ejemplo, para realizar una búsqueda que distinga mayúsculas y minúsculas dentro de un entorno LDAP o Microsoft Active Directory que no lo distinga, la cadena se puede definir de la siguiente manera:
(%{attr}:caseExactMatch:=%{user}).
Si el filtro no se personaliza, LDAP utilizará el valor predeterminado: (%{attr}=%{user}).

Para configurar un servidor LDAP para enlace directo de usuario, agregue un atributo uid=%{user} al parámetro Base DN (por ejemplo, uid=%{user},dc=example,dc=com) y deje vacíos los parámetros BindDN y Bind password. Al autenticar, el marcador de posición %{user} se reemplazará por el nombre de usuario introducido durante el inicio de sesión.

Con el enlace directo de usuario, Zabbix solo tiene acceso a las credenciales del usuario durante el inicio de sesión interactivo. Por lo tanto, las tareas de aprovisionamiento que operan sin un inicio de sesión interactivo (por ejemplo, el botón Aprovisionar ahora o el método API user.provision) ignorarán a los usuarios que se autentican utilizando el enlace directo de usuario porque Zabbix no puede enlazar en su nombre. Utilice el enlace anónimo o un usuario de enlace dedicado (cuenta de servicio) si necesita que el aprovisionamiento y las búsquedas LDAP funcionen desde el frontend sin requerir que el usuario final haya iniciado sesión.

Los siguientes campos son específicos de "groupOfNames" como método de Configuración de grupo:

Parámetro Descripción
Base DN de grupo Ruta base a los grupos en el servidor LDAP.
Atributo de nombre de grupo Especifique el atributo para obtener el nombre del grupo en la ruta base especificada a los grupos.
El nombre del grupo es necesario para la asignación de grupos de usuarios.
Atributo de miembro de grupo Especifique el atributo que contiene información sobre los miembros del grupo en LDAP (por ejemplo, member).
Atributo de referencia Especifique el atributo de referencia para el filtro de grupo (ver el campo Filtro de grupo).
Luego use %{ref} en el filtro de grupo para obtener valores para el atributo especificado aquí.
Filtro de grupo Especifique el filtro para recuperar el grupo al que pertenece el usuario.
Por ejemplo, (member=uid=%{ref},ou=Users,dc=example,dc=com) coincidirá con "User1" si el atributo member del grupo es uid=User1,ou=Users,dc=example,dc=com y devolverá el grupo al que pertenece "User1".

En caso de problemas con los certificados, para que funcione una conexión LDAP segura (ldaps) puede ser necesario añadir una línea TLS_REQCERT allow al archivo de configuración /etc/openldap/ldap.conf. Esto puede disminuir la seguridad de la conexión al catálogo LDAP.

Se recomienda crear una cuenta LDAP separada (Bind DN) para realizar el enlace y la búsqueda en el servidor LDAP con privilegios mínimos en el LDAP en lugar de utilizar cuentas de usuario reales (utilizadas para iniciar sesión en el frontend de Zabbix).
Este enfoque proporciona mayor seguridad y no requiere cambiar la Bind password cuando el usuario cambia su propia contraseña en el servidor LDAP.
En la tabla anterior es el nombre de la cuenta ldap_search.

Prueba de acceso

El botón Probar permite probar el acceso del usuario:

Parámetro Descripción
Iniciar sesión Nombre de usuario LDAP para probar (completado previamente con el nombre de usuario actual de la interfaz de Zabbix). Este nombre de usuario debe existir en el servidor LDAP.
Zabbix no activará la autenticación LDAP si no puede autenticar al usuario de prueba.
Contraseña de usuario Contraseña de usuario LDAP para probar.