Ir al contenido
Avanet

Conectar un servidor LDAP genérico a Sophos Firewall

Sophos Firewall puede autenticar usuarios mediante el tipo de servidor LDAP server según los atributos del directorio y la pertenencia a grupos. En la práctica, son necesarios cuatro pasos: preparar un grupo local, conectar el servidor LDAP, seleccionarlo en Authentication > Services para el servicio deseado y verificar el inicio de sesión y la autorización con cuentas de prueba reales.

OpenLDAP, 389 Directory Server o FreeIPA son candidatos típicos para una conexión LDAP genérica, pero no son productos intercambiables. Los atributos, los valores de grupo devueltos y el vencimiento de la cuenta difieren según el esquema. Por lo tanto, esta guía proporciona un ejemplo transferible; los valores deben verificarse en el objeto de usuario real. Google Secure LDAP se describe a continuación como una variante específica documentada por Sophos.

Para Windows Active Directory con LDAPS, importación de grupos o AD SSO, Conectar Active Directory a Sophos Firewall es una mejor opción. RADIUS mediante Microsoft NPS o una puerta de enlace MFA se trata en Configurar el servidor RADIUS de Sophos Firewall. Si necesita reemplazar el tipo de servidor de eDirectory nativo anterior a SFOS 23, puede encontrar el proceso de migración completo en Migrar eDirectory antes de SFOS 23.

Preparar los valores y el procedimiento de reversión

Se necesita:

  • Acceso WebAdmin a Sophos Firewall;
  • Accesibilidad del servidor LDAP desde el firewall a través del puerto configurado en el servidor;
  • una cuenta Bind con derechos de lectura en el área del directorio requerida;
  • Bind DN y Base DN, por ejemplo cn=svc-sophos,ou=service,dc=example,dc=net y ou=people,dc=example,dc=net;
  • los atributos de inicio de sesión, nombre para mostrar, dirección de correo electrónico, grupo y, si corresponde, de vencimiento de la cuenta;
  • Al verificar el certificado, un nombre de servidor que se pueda resolver y la cadena de confianza de CA adecuada.

Los valores iniciales habituales son el puerto 389 para STARTTLS y 636 para SSL/TLS. No son valores predeterminados fijos de SFOS: un directorio puede usar un puerto diferente, que debe coincidir con Connection security y la configuración del servidor.

⚠️ La cuenta Bind no requiere permisos administrativos de escritura. Limite sus derechos de lectura al subárbol y los atributos que el firewall necesita para las solicitudes de los usuarios.

Antes de cambiar a Authentication > Services, documente los servidores seleccionados, su orden y las opciones de herencia para cada método afectado. Registre también el Default group anterior en Firewall authentication methods. Esto le permite deshacer el cambio sin eliminar apresuradamente nuevos objetos.

Distinguir Bind DN, Base DN y atributos

Un DN va desde el objeto específico hasta la raíz del directorio. cn=svc-sophos,ou=service,dc=example,dc=net identifica la cuenta de Bind en el ejemplo. El DN base, por otro lado, especifica el punto de partida de la búsqueda del usuario, como ou=people,dc=example,dc=net.

Un DN base demasiado estrecho no encontrará todos los usuarios que necesita. Una base de búsqueda innecesariamente amplia puede ralentizar las búsquedas e incluir elementos no deseados. Append base DN agrega el DN base a un DN de enlace incompleto al realizar el enlace; si el DN ya está completo, normalmente la opción se deja desactivada. El comportamiento exacto depende del servidor LDAP utilizado.

Los atributos también provienen del esquema del directorio. uid, cn, mail y memberOf son ejemplos, no especificaciones universales. Sophos recomienda memberOf como Group name attribute, pero utiliza GID en su propio ejemplo de configuración general. Por lo tanto, el valor de retorno, la asignación de grupos locales y la pertenencia a varios grupos deben verificarse con usuarios de prueba reales.

Seleccionar cifrado y certificados

Plaintext envía credenciales de usuario sin cifrar y no es una buena configuración de producción. SSL/TLS cifra la conexión desde el principio; STARTTLS actualiza una conexión LDAP inicialmente no cifrada a TLS.

Para Validate server certificate, el nombre especificado en el certificado del servidor y que el firewall puede resolver debe estar en Server IP/domain. Sophos se refiere a él como CNAME en la ayuda de SFOS 22, mientras que la misma descripción de campo en otros lugares solo menciona la IP del servidor. Por lo tanto, el nombre del certificado es la opción segura para una implementación controlada de TLS. Si el firewall no puede resolverlo, se puede crear una entrada en Network > DNS > DNS host entry. En Configurar entradas de host DNS en Sophos Firewall se explican el TTL, la búsqueda inversa y la prueba del solucionador DNS.

Validate server certificate comprueba el certificado del servidor LDAP remoto. El Client certificate opcional especifica un certificado que utiliza el firewall para establecer una conexión segura al servicio LDAP; Google Secure LDAP requiere explícitamente el certificado generado por Google. Para errores de TLS, corrija primero el nombre, el DNS, la hora, la validez y la cadena de confianza en lugar de desactivar la verificación del certificado del servidor como primer paso.

Configurar grupo y servidor LDAP

Preparar grupo local

  1. Abra Authentication > Groups y seleccione Add.
  2. Ingrese un Group name único, por ejemplo LDAP-Benutzer.
  3. Seleccione el Group type correspondiente al método de inicio de sesión previsto. Normal requiere que el usuario inicie sesión; Clientless controla el acceso en función de una dirección IP.
  4. Configure las políticas de usuario, acceso remoto e inicio de sesión requeridas y guárdelas con Save.

El grupo se utilizará posteriormente como Default group. Por sí solo no concede ni bloquea el tráfico; son sus políticas y las reglas del servicio correspondiente las que deciden. Las políticas específicas de usuario tienen prioridad sobre las políticas de grupo. La lógica de grupo completa con Pilot, Anulaciones de usuarios y Grupo principal está disponible en Gestionar de forma segura los grupos de usuarios de Sophos Firewall.

Crear la conexión y configurar el Bind

  1. Abra Authentication > Servers y seleccione Add.
  2. Seleccione LDAP server como Server type.
  3. Asigne un Server name único, por ejemplo LDAP-Firma.
  4. Ingrese la IP del servidor o el nombre de dominio en Server IP/domain. Para Validate server certificate, utilice el nombre que se puede resolver del certificado del servidor.
  5. Seleccione Version 2 o 3 admitido por el servidor. Google Secure LDAP requiere la versión 3.
  6. Configure Connection security y Port juntos. Para una operación productiva, utilice SSL/TLS o STARTTLS.
  7. Desactive Anonymous login e ingrese Bind DN y Password de la cuenta de lectura.
  8. Solo active Append base DN si el servidor debe agregar el DN base durante el enlace.
  9. Si la conexión es segura, decida conscientemente si Validate server certificate está activado. Para servidores LDAP normales, la verificación después de una preparación exitosa del nombre, DNS y confianza es la opción de producción segura. Google Secure LDAP sigue el caso especial que se describe a continuación. Seleccione un Client certificate requerido de la lista.

Establecer base de búsqueda y atributos

  1. Ingrese el punto de inicio de la búsqueda del usuario en Base DN. Get base DN puede obtener la base de búsqueda que ofrece el servidor.
  2. Configure el atributo con el nombre de inicio de sesión como Authentication attribute, a menudo uid o mail.
  3. Ingrese Display name attribute y Email address attribute para que coincidan con el objeto de usuario, por ejemplo, cn y mail.
  4. Ingrese el atributo de grupo devuelto en el objeto de usuario en Group name attribute. memberOf es la recomendación de Sophos, pero debe coincidir con el esquema y el formato de devolución.
  5. Ingrese el Expiry date attribute que coincida con el esquema. Si no existe tal atributo, verifique antes del lanzamiento si el formulario acepta un valor vacío y cómo se manejan las cuentas sin vencimiento.
  6. Ejecute Test connection y guarde con Save.

Según Sophos, Test connection comprueba la conexión y las credenciales de Bind. La prueba no prueba que el DN base incluya a todos los usuarios ni que una autorización de grupo o servicio se aplique correctamente. Para ello se requiere un inicio de sesión real.

Habilite LDAP para los servicios requeridos

  1. Abra Authentication > Services.
  2. En Firewall authentication methods, mueva el servidor LDAP a Selected authentication servers. Si debe responder en primer lugar, colóquelo en la primera posición.
  3. Seleccione el grupo preparado LDAP-Benutzer como Default group y haga clic en Apply.
  4. Seleccione el servidor por separado para todos los métodos realmente utilizados: User portal authentication methods, VPN portal authentication methods, VPN (IPsec/dial-in/L2TP/PPTP) authentication methods, Administrator authentication methods y SSL VPN authentication methods.
  5. Utilice opciones de herencia como Set authentication methods same as firewall, Same as firewall o Same as VPN solo si se desea la lista de servidores derivados.

Se puede seleccionar un máximo de 20 servidores por método de autenticación. Si hay varios servidores, el firewall los consultará en el orden que se muestra. El método de administrador no se aplica al superadministrador. Para L2TP y PPTP, Sophos sólo documenta PAP para LDAP; esta combinación no debe volver a introducirse sin una evaluación previa, tanto por PAP como por el carácter obsoleto de esos métodos VPN.

Configurar LDAP seguro de Google

Antes de la configuración del firewall, se crea un cliente LDAP en la Consola de administración de Google en Apps > LDAP. Sus Access permissions son limitados, se descargan el certificado y su clave privada y se generan datos de acceso separados. La contraseña ya no es visible después de cerrar el cuadro de diálogo.

A continuación, active el cliente en Service status con ON for everyone y guárdelo con SAVE. Este estado de servicio activa el cliente, pero no sustituye los Access permissions configurados previamente.

Antes de importar el certificado en Administration > Time, verifique si el firewall obtiene la hora correcta a través de NTP. Según Sophos, una hora manual configurada de forma incorrecta puede provocar que falle la importación de certificados. Luego seleccione el formato CER (.cer) en Certificates > Certificates > Add e importe tanto Certificate como Private key desde la descarga de Google. El certificado puede parecer poco confiable porque el propio Google lo firma; Sophos confirma que LDAP de Google sigue funcionando. Esta indicación se refiere al certificado del cliente y no la verificación del certificado del servidor LDAP.

Los siguientes valores se aplican al servidor LDAP:

  • Server IP/domain: ldap.google.com
  • Version: 3
  • Connection security: SSL/TLS
  • Port: 636
  • Anonymous login: apagado
  • Bind DN y Password: las credenciales LDAP de Google generadas
  • Append base DN: apagado
  • Client certificate: el certificado de Google importado
  • Base DN: ingresar o recuperar con Get base DN
  • Authentication attribute: UID
  • Display name attribute: CN
  • Email address attribute: mail
  • Group name attribute: memberOf
  • Expiry date attribute: expiry

Se requiere mail para la creación del grupo LDAP de Google. Las instrucciones oficiales de Google no establecen explícitamente Validate server certificate en su lista de valores. Sin una prueba de laboratorio SFOS-22, no debe deducirse que la opción deba estar siempre activada o desactivada; la opción se decide según el procedimiento general de TLS y su propia cadena de confianza.

Comprobar el inicio de sesión y la asignación de grupos

Una aceptación incluye conexión, identidad y autorización:

  1. Test connection necesita confirmar la conexión y las credenciales de Bind.
  2. En Authentication > Services verifique la lista de servidores, el orden y la herencia de cada método utilizado. El Default group pertenece a Firewall authentication methods.
  3. Inicie sesión en el servicio deseado con un usuario piloto. Cuando inicia sesión por primera vez, el firewall crea localmente el usuario autenticado externamente.
  4. En Authentication > Users, verifique que el usuario y el grupo aparezcan como se esperaba.
  5. Realice una prueba positiva para cada grupo de directorio relevante. Además, verifique con un usuario sin una asignación de grupo local adecuada si se aplica el Default group esperado.
  6. Revise no solo el inicio de sesión, sino también la política o regla de prueba prevista. Luego utilice una contraseña incorrecta como prueba negativa.
  7. Para el inicio de sesión, la autorización y la contabilización del usuario, verifique access_server.log; para problemas del portal VPN adicionalmente vpnportal.log.
  8. Si se utiliza un atributo de vencimiento, incluya una cuenta de prueba con un estado de vencimiento conocido.

Si los valores del esquema no están claros, un administrador puede consultar el objeto de usuario de solo lectura desde un sistema de administración de Linux o directamente 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)' '*' '+'

Esta ruta de diagnóstico opcional no es un comando SFOS y no pertenece al Shell avanzado. El ejemplo supone LDAPS y confianza en la CA del servidor en el sistema en ejecución; STARTTLS requiere una llamada adaptada correspondientemente. -W consulta la contraseña de enlace de forma interactiva. Adaptar el filtro (uid=max.muster) al Authentication attribute configurado. '*' y '+' pueden generar muchos atributos normales y operativos con datos personales. Antes de adjuntar la salida a un ticket o compartirla, hay que anonimizarla.

Aislar errores por síntoma

  • Sin conexión: Verifique enrutamiento, DNS, puerto y Connection security. Luego verifique Bind DN, contraseña y Anonymous login.
  • TLS o error de certificado: Verifique el nombre del certificado del servidor, la resolución de DNS, el tiempo del firewall, la validez y la cadena de CA. No desactive la verificación del certificado como primer paso.
  • Test connection funciona, pero no se encuentra el usuario: Compare el DN base, Authentication attribute y el nombre de inicio de sesión ingresado.
  • El inicio de sesión funciona, el grupo es incorrecto: Verifique Group name attribute y su valor de retorno real, asignación de grupo local y Default group. memberOf es una recomendación, pero no una asignación garantizada para cada esquema.
  • El servidor se crea pero no se utiliza: Verifique la selección, el orden y la herencia del servicio afectado en Authentication > Services.
  • Google Secure LDAP no se vincula: Verifique por separado la versión 3, el puerto 636, Anonymous login desactivado, Append base DN desactivado, el estado del servicio del cliente, las credenciales y el certificado de cliente de Google.
  • La búsqueda es lenta o devuelve cuentas no deseadas: Limite el DN base al subárbol requerido.
  • El inicio de sesión funciona, la política esperada no: Verifique la anulación de usuario, la política de grupo, la asignación de grupo y la regla de firewall o VPN correspondiente por separado. El modelo de diagnóstico completo muestra Solucionar sistemáticamente los errores de autenticación.

Revertir los cambios de forma segura

En caso de una implementación fallida, primero restaure la selección, el orden y la herencia del servidor previamente documentados para cada método afectado. Bajo Firewall authentication methods, también se restaura el Default group anterior. Realice una prueba positiva y otra negativa utilizando el método de autenticación anterior y verifique los registros relevantes.

Elimine el nuevo servidor y grupo LDAP únicamente cuando ya no se utilicen en ningún servicio o política. No limpie los usuarios LDAP creados automáticamente con Purge AD users: la ayuda de SFOS 22 documenta esta función solo para Active Directory. Si es necesario eliminar dichos usuarios, consulte previamente con el soporte de Sophos el procedimiento compatible con su configuración.