Conectar un servidor LDAP genérico con Sophos Firewall
Con el tipo de servidor LDAP server, Sophos Firewall autentica usuarios de OpenLDAP, 389 Directory Server, FreeIPA, Google Secure LDAP y otros directorios LDAP. El proceso completo consta de cuatro partes: crear un grupo local, conectar el servidor LDAP de forma segura, activar el servidor en Authentication > Services y comprobar el inicio de sesión y la asignación de grupos con un usuario real.
Para Windows Active Directory con LDAPS, importación de grupos o AD SSO, resulta más adecuado Conectar Active Directory con Sophos Firewall. La autenticación RADIUS mediante Microsoft NPS o una pasarela MFA se explica en Configurar un servidor RADIUS en Sophos Firewall.
Si es necesario sustituir el tipo de servidor eDirectory nativo antes de SFOS 23, Migrar eDirectory antes de SFOS 23 ofrece el proceso completo con inventario, elección del destino, funcionamiento en paralelo y vía de reversión.
Requisitos
- acceso WebAdmin a Sophos Firewall
- conectividad entre el firewall y el servidor LDAP, normalmente por el puerto
389para STARTTLS o636para SSL/TLS - una cuenta de bind con permisos de lectura sobre la parte necesaria del directorio
- el Bind DN y la Base DN, por ejemplo
cn=svc-sophos,ou=service,dc=example,dc=netyou=people,dc=example,dc=net - los atributos de usuario que se utilizan realmente, como
uid,cn,maily un atributo de grupo - la cadena de confianza de CA adecuada y una resolución DNS operativa cuando se valida el certificado
⚠️ Una cuenta de bind solo debe tener permisos de lectura sobre el subárbol necesario. No se utiliza para realizar cambios administrativos en el directorio, sino únicamente para autenticar ante el servidor LDAP las consultas de usuarios que realiza el firewall.
Crear el servidor LDAP
Preparar el grupo LDAP local
- Abrir
Authentication > Groupsy seleccionarAdd. - Crear un grupo con un nombre inequívoco, por ejemplo
Usuarios-LDAP. - Definir el acceso, las cuotas de tiempo y las demás políticas de grupo según el uso previsto y guardar.
Este grupo se utilizará después como Default group. No impide automáticamente el acceso: lo determinan las políticas asignadas al grupo y las reglas del servicio correspondiente.
La lógica general de grupos con un Default Group restrictivo, excepciones de usuario, piloto y reversión se describe en Gestionar grupos de usuarios de Sophos Firewall de forma segura; la asignación específica de LDAP depende después del atributo de grupo y del esquema del directorio.
Configurar la conexión y el bind
- Abrir
Authentication > Serversy seleccionarAdd. - Elegir
LDAP servercomoServer type. - Asignar un
Server nameinequívoco, por ejemploLDAP-Empresa. - En
Server IP/domain, introducir el nombre DNS del servidor LDAP. Si la validación del certificado está activa, debe coincidir con un nombre del certificado del servidor. - Utilizar
Version 3, salvo que el directorio requiera otra versión. Google Secure LDAP solo admite la versión 3. - Para producción, seleccionar
SSL/TLSoSTARTTLSy el puerto correspondiente. - Desactivar
Anonymous logine introducir elBind DNy elPasswordde la cuenta de lectura. - Activar
Append base DNsolo si el servidor LDAP espera que se añada la Base DN durante el bind. - Activar
Validate server certificatecuando el nombre, el DNS y la confianza de CA estén configurados correctamente. Solo se necesita unClient certificatesi el servicio LDAP exige autenticación mutua mediante certificados.
Introducir la base de búsqueda y los atributos
- En
Base DN, introducir el punto de inicio de la búsqueda de usuarios, por ejemploou=people,dc=example,dc=net.Get base DNpuede obtener la base de búsqueda ofrecida por el servidor. - Establecer
Authentication attributeen el atributo de inicio de sesión, normalmenteuidomail. - Introducir
Display name attributeyEmail address attributede acuerdo con el objeto de usuario, por ejemplocnymail. - En
Group name attribute, introducir el atributo del que el firewall obtiene la información de grupos del usuario. Sophos recomiendamemberOf, pero el valor correcto depende del esquema del directorio. - Si el directorio proporciona una fecha de caducidad de la cuenta, introducir el
Expiry date attributecorrespondiente. - Ejecutar
Test connectiony guardar conSave.
Según Sophos, Test connection comprueba la conexión y las credenciales. Solo un inicio de sesión real permite verificar si la Base DN incluye todos los usuarios necesarios y si los grupos se asignan correctamente.
Elegir el cifrado correcto
LDAP en texto plano transmite las credenciales sin cifrar y, como máximo, resulta apropiado para una prueba aislada. En producción, la conexión debe protegerse con SSL/TLS, normalmente por el puerto 636, o con STARTTLS, normalmente por el puerto 389.
Hay que distinguir dos funciones de los certificados:
Validate server certificatecomprueba la identidad del servidor LDAP remoto.Server IP/domaindebe coincidir con un nombre DNS válido del certificado, ya sea el Common Name o un Subject Alternative Name. Si el firewall no puede resolver este nombre, se añade una entrada DNS adecuada enNetwork > DNS > DNS host entry. Configurar y probar DNS Host Entries en Sophos Firewall explica el TTL, la resolución inversa y la prueba del resolver. La CA emisora también debe ser de confianza.Client certificateidentifica el firewall ante un servicio LDAP que exige autenticación mutua mediante certificados. Este certificado no sustituye la validación del certificado del servidor.
Ante un error TLS, primero deben corregirse el nombre del servidor, la resolución DNS, la validez y la cadena de CA. Desactivar la validación del certificado del servidor no debe ser la solución predeterminada.
Introducir correctamente el Bind DN y la Base DN
La causa más frecuente de errores al configurar un servidor LDAP nuevo es una sintaxis DN mal escrita o mal interpretada.
- Un DN va desde el objeto específico hasta la raíz del directorio, por ejemplo
cn=svc-sophos,ou=service,dc=example,dc=net. - La Base DN comienza donde debe iniciarse la búsqueda de usuarios. Si los usuarios están en varias unidades organizativas, debe situarse lo bastante arriba en el árbol para incluirlos.
- Una Base DN demasiado limitada no devuelve usuarios coincidentes aunque el servidor sea accesible. Una base de búsqueda innecesariamente amplia puede ralentizar la búsqueda e incluir objetos no deseados.
Append base DNañade la Base DN a un Bind DN incompleto durante el bind. Si el DN ya está completo, la opción suele permanecer desactivada; el comportamiento del servidor LDAP es el criterio decisivo.
Activar grupos y servicios
Group name attribute no es un selector universal para todas las estructuras de grupos LDAP. Durante el inicio de sesión, el firewall lee el atributo configurado en el objeto de usuario y utiliza la información de grupos devuelta para la asignación. Sophos recomienda memberOf, y Google Secure LDAP utiliza este valor. Sin embargo, OpenLDAP, 389-ds o FreeIPA pueden requerir otro valor según el esquema, el overlay y el objeto de usuario.
No se debe deducir el atributo de usuario únicamente del tipo de grupo groupOfNames o posixGroup. Lo importante es lo que devuelve realmente el objeto de usuario y si el grupo correspondiente está representado correctamente en el firewall. Si el firewall no encuentra una asignación de grupo adecuada, el usuario se incluye en el Default group configurado.
A continuación, activar el servidor:
- Abrir
Authentication > Services. - En
Firewall authentication methods, seleccionar el servidor LDAP y moverlo a la posición deseada dentro deSelected authentication servers. El firewall consulta varios servidores en este orden. - Seleccionar el grupo
Usuarios-LDAPcreado anteriormente comoDefault groupy pulsarApply. - Si los usuarios deben iniciar sesión en User Portal, VPN Portal, mediante SSL VPN, en otro servicio VPN o como administradores, seleccionar también el servidor LDAP en el método de autenticación correspondiente.
Configurar Google Secure LDAP
Antes de configurar el firewall, se crea un cliente LDAP en la consola de administración de Google. Allí se definen sus permisos de acceso, se descarga el certificado con su clave privada y se generan credenciales independientes. La contraseña no vuelve a mostrarse después de cerrar el cuadro de diálogo de Google.
El certificado de cliente de Google se importa con su certificado y clave privada en Certificates > Certificates > Add. Sophos Firewall puede mostrarlo como no confiable porque está autofirmado por Google, pero funciona igualmente para la autenticación del cliente. Esta indicación no afecta a la validación del certificado del servidor.
Para el servidor LDAP se utilizan los siguientes valores:
Server IP/domain:ldap.google.comVersion:3Connection security:SSL/TLSPort:636Anonymous login: desactivadoBind DNyPassword: las credenciales LDAP de Google generadasAppend base DN: desactivadoClient certificate: el certificado de Google importadoBase DN: introducirla u obtenerla medianteGet base DNAuthentication attribute:UIDDisplay name attribute:CNEmail address attribute:mailGroup name attribute:memberOfExpiry date attribute:expiry
mail es necesario para crear grupos LDAP de Google. Después de guardar, se siguen los mismos pasos que con un directorio local: definir el grupo LDAP local, activar el servidor en Authentication > Services y probar un inicio de sesión real junto con su asignación de grupo.
Comprobar la conexión y la asignación de grupos
Una validación fiable abarca varios niveles:
Test connectionconfirma la conexión y las credenciales de bind.- Un usuario inicia sesión en el servicio previsto, por ejemplo en VPN Portal o Captive Portal.
- En
Authentication > Users, se comprueba que el usuario y el grupo aparecen como se espera. - Si se utilizan varios grupos LDAP, se prueba al menos un usuario de cada grupo relevante. Una política o regla de prueba confirma que funcionan tanto el inicio de sesión como la autorización del grupo correspondiente.
- Una contraseña incorrecta se rechaza y el
Log viewermuestra un error de autenticación comprensible.
Si el esquema no está claro, un administrador puede inspeccionar el objeto de usuario en modo de solo lectura desde un sistema de administración Linux o desde el servidor LDAP:
ldapsearch -LLL -x -H ldaps://ldap.example.net:636 \
-D 'cn=svc-sophos,ou=service,dc=example,dc=net' -W \
-b 'ou=people,dc=example,dc=net' \
'(uid=max.muster)' '*' '+'
-W solicita la contraseña de bind de forma interactiva para que no quede almacenada en el historial de la shell. '*' muestra los atributos normales y '+' los atributos operativos; si se utiliza otro atributo de inicio de sesión, hay que adaptar el filtro de búsqueda. Este comando no debe ejecutarse en la Advanced Shell de Sophos Firewall. Lo importante es comprobar si el objeto de usuario devuelve realmente los atributos y valores de grupo esperados. La salida puede contener datos personales del directorio y debe anonimizarse antes de adjuntarla a un ticket o compartirla.
Errores habituales
- Sin conexión: Comprobar el enrutamiento, el DNS, el puerto y
Connection security. Después, revisar el Bind DN, la contraseña yAnonymous login. - Error TLS o de certificado: Comprobar los nombres DNS del certificado del servidor, la resolución DNS, la validez y la cadena de CA. No desactivar la validación del certificado del servidor como primera medida.
- Test connection funciona, pero no se encuentra al usuario: La Base DN suele ser demasiado limitada o
Authentication attributeno coincide con el nombre utilizado para iniciar sesión. - El inicio de sesión funciona, pero el usuario queda en el Default group: Comprobar
Group name attributeen el objeto de usuario real, la correspondencia de grupos locales y su orden.memberOfes un ejemplo habitual, pero no está garantizado en todos los esquemas. - Google Secure LDAP no realiza el bind: Comprobar la versión 3, el puerto 636,
Anonymous logindesactivado,Append base DNdesactivado, las credenciales y el certificado de cliente de Google. - El servidor está configurado, pero no se utiliza: Comprobar la asignación, el orden y el
Default groupenAuthentication > Services. - La búsqueda es lenta o devuelve cuentas no deseadas: Limitar la Base DN al subárbol necesario.
- Otro servidor de autenticación responde primero: Corregir el orden de los servidores seleccionados para el servicio afectado.