Para conectar tu cliente LDAP al servicio LDAP seguro, sigue las instrucciones de este artículo.
IMPORTANTE:
- Asegúrate de leer la documentación facilitada por tu proveedor
La información de este artículo sobre cómo conectar tu cliente LDAP al servicio LDAP seguro sirve únicamente como referencia y está sujeta a posibles cambios. Además de estas instrucciones de ayuda, consulta la documentación de tu proveedor, que incluye los pasos actualizados para conectar tu cliente al servicio LDAP seguro. - Antes de empezar
Antes de seguir estas instrucciones, comprueba que ya has añadido tu cliente al servicio LDAP seguro, configurado los permisos de acceso, descargado una clave y un certificado de cliente y, si fuera necesario, has creado las credenciales de acceso. - Pruebas de conectividad
Antes de empezar con estos pasos, puedes hacer una prueba de conexión rápida con herramientas sencillas como ldapsearch, ADSI y ldp.exe. También puedes usar estas herramientas para solucionar problemas en el caso de que surjan errores al intentar conectar tu cliente LDAP al servicio. Para obtener más información, consulta el artículo Pruebas de conectividad de LDAP seguro. - Cómo completar los pasos del proceso de configuración
Una vez que hayas conectado el cliente LDAP siguiendo las instrucciones de esta página, debes completar su configuración cambiando el estado del servicio a Activado en la consola de administración de Google. Si necesitas más instrucciones, consulta el artículo 5. Activar el servicio en clientes LDAP.
Qué se incluye en este artículo
Este artículo contiene las siguientes secciones:
- Instrucciones básicas de configuración. En esta sección se incluyen instrucciones genéricas para conectar clientes LDAP que no se mencionan en este artículo.
- Instrucciones de configuración de clientes LDAP concretos. En esta sección se incluyen instrucciones para conectar determinados clientes LDAP (como Atlassian Jira u OpenVPN) al servicio LDAP seguro. Los pasos varían según el tipo de cliente.
- Instrucciones de configuración de aplicaciones Java. En esta sección se incluyen instrucciones genéricas para configurar aplicaciones basadas en Java que ofrecen funciones LDAP.
- (Opcional) Utilizar stunnel como servidor proxy. En esta sección se incluyen aspectos adicionales que deben tenerse en cuenta al conectar clientes LDAP que no admiten certificados digitales.
En estas instrucciones, llamaremos a los archivos de cliente .key y .crt que hay que descargar ldap-client.key y ldap-client.crt, respectivamente.
Instrucciones básicas de configuración
En esta sección se incluyen instrucciones genéricas para conectar clientes LDAP al servicio LDAP seguro. Si tu cliente LDAP no figura en las instrucciones que se incluyen más abajo, asegúrate de consultar la documentación del cliente que utilices.
Nota: Durante el proceso de autenticación de usuarios, algunos clientes LDAP, como Atlassian Jira y SSSD, hacen búsquedas para recoger más información sobre ellos. Para asegurarte de que la autenticación de los usuarios funciona correctamente con estos clientes LDAP, activa Leer información de usuarios en todas las unidades organizativas en las que esté activada la opción Verificar credenciales de usuario. Si quieres consultar instrucciones, lee el artículo Configurar permisos de acceso.
Para conectar el cliente LDAP al servicio LDAP seguro, sigue estos pasos:
- Configura tu cliente LDAP con Cloud Directory como servidor LDAP.
- Sube el certificado a tu cliente LDAP.
El servicio LDAP seguro utiliza certificados de cliente TLS como mecanismo de autenticación principal. Para iniciar el proceso de subida del certificado al cliente LDAP, abre la autenticación del cliente LDAP o la configuración del directorio, e introduce la información de la tabla que aparece más abajo.Nota: Para obtener información completa sobre cómo y dónde subir certificados TLS, consulta la documentación de tu proveedor.
En esta tabla se incluye la información básica de conexión:
Nombre de host |
ldap.google.com |
Puertos |
389 para LDAP con StartTLS activado |
Nombre de dominio base |
Tu dominio en formato DN. Por ejemplo: dc=example,dc=com si tu dominio fuera example.com |
Nombre de usuario y contraseña |
Además de un certificado, algunos clientes LDAP necesitan un nombre de usuario y una contraseña para autenticarse. Si estos campos no son obligatorios, puedes saltarte este paso. Genera un nombre de usuario y una contraseña en la consola de administración de Google. Para obtener más instrucciones, consulta la sección Generar credenciales de acceso. |
Archivos .crt y .key de cliente |
Utiliza el certificado y el archivo de clave descargados de la consola de administración de Google. Si el cliente LDAP no proporciona una forma de autenticación con un certificado de cliente, consulta la sección Utilizar stunnel como servidor proxy. Importante: En algunos clientes LDAP, como Apache Directory Studio, no se pueden subir certificados digitales. Para resolver este problema, consulta la sección Utilizar stunnel como servidor proxy. |
Instrucciones de configuración de clientes LDAP concretos
ADSI Edit (Windows)Sigue estos pasos:
- Sigue los 11 primeros pasos de la sección ldp.exe (Windows) para instalar los certificados de cliente.
- Ve a Action > Connect to (Acción > Conectar a).
- Introduce la siguiente configuración de conexión:
Name (Nombre): da un nombre a la conexión, como Google LDAP.
Connection Point (Punto de conexión): selecciona o introduce un nombre completo o contexto de nombre.
Introduce el nombre de tu dominio en formato DN (por ejemplo, dc=example,dc=com si tu dominio fuera example.com).
Computer (Equipo): selecciona o escribe un dominio o servidor.
ldap.google.com
Use SSL-based Encryption (Usar cifrado SSL): marca esta opción.
- Haz clic en Advanced... (Opciones avanzadas) e introduce los siguientes detalles:
Specify credentials (Especificar credenciales): marca esta opción.
Username (Nombre de usuario): nombre de usuario de acceso generado en la consola de administración.
Password (Contraseña): contraseña de acceso generada en la consola de administración.
Port Number (Número de puerto): 636.
Protocol (Protocolo): LDAP.
Simple bind authentication (Autenticación de enlace simple): marca esta opción.
- Haz clic en OK (Aceptar) y, a continuación, vuelve a hacer clic en OK (Aceptar).
- Si se conecta correctamente, se mostrará el contenido del directorio activo del nombre de dominio base en el panel derecho.
Para utilizar Apache Directory Studio, tienes que conectarte a través de stunnel e introducir las credenciales de acceso (nombre de usuario y contraseña) que se hayan generado en la consola de administración de Google. Supongamos que tienes las credenciales necesarias y que stunnel está escuchando en el puerto de localhost 1389. En ese caso, deberías seguir estos pasos:
- Haz clic en File > New (Archivo > Nuevo).
- Selecciona LDAP Browser > LDAP Connection (Navegador LDAP > Conexión LDAP).
- Haz clic en Next (Siguiente).
- Introduce los parámetros de conexión:
Connection name (Nombre de conexión): elige un nombre, como Google LDAP.
Hostname (Nombre de host): localhost
Port (Puerto): 1389 (o el puerto de escucha o aceptación de stunnel).
Encryption method (Método de cifrado): sin cifrado. Nota: Si stunnel se está ejecutando de forma remota, se recomienda cifrar la comunicación entre stunnel y el cliente.
- Haz clic en Next (Siguiente).
- Introduce los parámetros de autenticación:
Authentication Method (Método de autenticación): Simple Authentication (Autenticación simple).
Bind DN or user (Nombre de dominio o usuario de vínculo): nombre de usuario de acceso generado en la consola de administración.
Bind password (Contraseña de vínculo): contraseña de acceso generada en la consola de administración.
- Haz clic en Next (Siguiente).
- Introduce el DN (nombre de dominio) base.
Es el nombre de tu dominio en formato DN (dc=example,dc=com si tu dominio fuera example.com). - Haz clic en Finalizar.
Durante el proceso de autenticación de usuarios, Atlassian Jira hace búsquedas para obtener más información sobre ellos. Si quieres asegurarte de que la autenticación de usuarios funciona correctamente con estos clientes LDAP, activa las opciones Leer información de usuarios y Leer información de grupos en todas las unidades organizativas en las que la opción Verificar credenciales de usuario esté activada. Si quieres consultar instrucciones, lee el artículo Configurar permisos de acceso.
Importante: El método que se indica en estas instrucciones puede hacer que la contraseña keystorePassword quede al descubierto en los archivos de registro y a la vista de otros usuarios. Toma las precauciones necesarias para evitar accesos no autorizados a la consola de línea de comandos, al archivo de registro y a la consola de administración de Google. Como alternativa a estas instrucciones, puedes probar el método stunnel4 (consulta la sección Opcional: Utilizar stunnel como servidor proxy).
Nota: Para seguir estas instrucciones, Jira debe estar instalado en /opt/atlassian/jira.
Para conectar un cliente Atlassian Jira al servicio LDAP seguro, sigue estos pasos:
- Copia el certificado y la clave de tus servidores Jira. Este certificado es el que se genera en la consola de administración de Google al añadir el cliente LDAP al servicio LDAP seguro.
Por ejemplo:
$ scp ldap-client.key user@jira-server:
- Convierte el certificado y las claves al formato de almacén de claves de Java. Se te pedirán contraseñas a lo largo de este proceso, así que, si quieres simplificarlo, elige una contraseña segura y úsala en todos los pasos.
$ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
$ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS
- Configura Jira para utilizar el almacén de claves recién creado. Sigue estas instrucciones para añadir opciones:
“-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password”
En Linux:- Edita /opt/atlassian/jira/bin/setenv.sh.
- Busca el ajuste JVM_SUPPORT_RECOMMENDED_ARGS.
- Añade “-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password” y sustituye "password" por la contraseña que has seleccionado antes.
- Reinicia Jira.
$ /opt/atlassian/jira/bin/stop-jira.sh
$ /opt/atlassian/jira/bin/start-jira.sh
- Inicia sesión en la interfaz web de Jira con tu cuenta de administrador.
- Ve a Settings > User management (Configuración > Gestión de usuarios). Para entrar en la configuración, haz clic en el icono de la rueda dentada, situado arriba a la derecha.
- Haz clic en User Directories (Directorios de usuarios).
- Haz clic en Add Directory (Añadir directorio).
- Elige el tipo LDAP.
- Haz clic en Next (Siguiente).
- Introduce en cada campo los siguientes valores:
Name (Nombre)
Google Secure LDAP
Directory type (Tipo de directorio)
OpenLDAP
Hostname (Nombre de host)
ldap.google.com
Port (Puerto)
636
Use SSL (Usar SSL)
Marca esta opción.
Username (Nombre de usuario)
Genera un nombre de usuario y una contraseña en la consola de administración de Google. Para obtener más instrucciones, consulta la sección Generar credenciales de acceso.
Password (Contraseña)
Genera un nombre de usuario y una contraseña en la consola de administración de Google. Para obtener más instrucciones, consulta la sección Generar credenciales de acceso.
Base DN (Nombre de dominio base)
Es el nombre de tu dominio en formato DN. Por ejemplo, dc=example,dc=com si tu dominio fuera example.com.
Additional User DN (Nombre de dominio de usuario adicional)
"ou=Users" (opcional)
Additional Group DN (Nombre de dominio de grupo adicional)
"ou=Groups" (opcional)
LDAP Permissions (Permisos LDAP)
Read only (Solo lectura)
Advanced Settings (Configuración avanzada)
Sin cambios
User Schema Settings >
User Name Attribute (Configuración de esquema de usuarios > Atributo de nombre de usuario)googleUid
User Schema Settings >
User Name RDN Attribute (Configuración de esquema de usuarios > Atributo RDN de nombre de usuario)uid
Group Schema Settings >
Group Object Class (Configuración de esquema de grupos > Clase de objeto de grupo)groupOfNames
Group Schema Settings >
Group Object Filter (Configuración de esquema de grupos > Filtro de objeto de grupo)(objectClass=groupOfNames)
Membership Schema Settings >
Group Members Attribute (Configuración de esquema de suscripciones > Atributo de miembros de grupo)member
Membership Schema Settings >
Use the User Membership Attribute (Configuración de esquema de suscripciones > Utilizar el atributo de suscripción de usuario)Marca esta opción. - Asigna un rol a un grupo.
Para que Atlassian Jira permita que un usuario inicie sesión, ese usuario debe ser miembro de un grupo que tenga acceso a Jira.
Si quieres asignar un rol a un grupo, sigue estos pasos:- Ve a Settings > Applications > Application access (Configuración > Aplicaciones > Acceso a la aplicación).
- En el cuadro de texto Select group (Seleccionar grupo), introduce el nombre del grupo de Google al que quieras conceder acceso a Jira.
Para saber cómo conectar CloudBees Core al servicio LDAP seguro, consulta el artículo sobre cómo configurar CloudBees Core con el servicio LDAP seguro de Google Cloud Identity.
Sigue estos pasos:
- Instala y configura FreeRADIUS en /etc/freeradius/3.0/.
Cuando se haya instalado FreeRADIUS, puedes añadir la configuración LDAP si instalas el complemento freeradius-ldap.
$ sudo apt-get install freeradius freeradius-ldap
- Copia los archivos .key y .crt del cliente LDAP en /etc/freeradius/3.0/certs/ldap-client.key y /etc/freeradius/3.0/certs/ldap-client.crt, respectivamente.
$ chown freeradius:freeradius
/etc/freeradius/3.0/certs/ldap-client.*
$ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*
- Habilita el módulo LDAP.
$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ldap
- Edita /etc/freeradius/3.0/mods-available/ldap.
- ldap->server = 'ldaps://ldap.google.com:636'
- identity = nombre de usuario de las credenciales de la aplicación
- password = contraseña de las credenciales de la aplicación
- base_dn = ‘dc=domain,dc=com’
- tls->start_tls = no
- tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
- tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
- tls->require_cert = ‘allow’
- Para excluirlos del código, incluye en comentarios aparte todos los campos de la ruta de exploración que representen la sección "ldap -> post-auth -> update"
- Edita /etc/freeradius/3.0/sites-available/default.
De este modo, se modifica la conexión de cliente de FreeRADIUS. Si no usas el cliente predeterminado, actualiza el cliente pertinente que hayas configurado (inner-tunnel o cualquier otro cliente personalizado).
- Modifica la sección authorize (autorizar) para añadir el siguiente bloque al final, después de la declaración del protocolo de autenticación de contraseña (PAP):
if (User-Password) {
update control {
Auth-Type := ldap
}
}
- En la sección authorize (autorizar), elimina el signo "-" que aparece delante de LDAP para habilitarlo.
#
# El módulo ldap lee contraseñas de la base de datos LDAP.
ldap
- Modifica la sección authenticate (autenticar) editando el bloque Auth-Type LDAP como se indica a continuación:
# Auth-Type LDAP {
ldap
# }
- Modifica la sección authenticate (autenticar) editando el bloque Auth-Type PAP como se indica a continuación:
Auth-Type PAP {
# pap
ldap
}
- Modifica la sección authorize (autorizar) para añadir el siguiente bloque al final, después de la declaración del protocolo de autenticación de contraseña (PAP):
Para saber cómo conectar GitLab al servicio LDAP seguro, consulta el artículo sobre cómo configurar el servicio LDAP seguro de Google en GitLab.
Para saber cómo conectar Itopia/Ubuntu al servicio LDAP seguro, consulta el artículo sobre cómo configurar Google Cloud Identity LDAP en Ubuntu 16.04 para que admita inicios de sesión de usuarios.
Sigue estos pasos:
- En el servidor web de Ivanti, abre en un editor de texto los archivos OpenLDAPAuthenticationConfiguration.xml u OpenLDAPSSLAuthenticationConfiguration.xml, que encontrarás en estas dos carpetas:
C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework y C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (cambia servicedesk por el nombre de la instancia) - Cambia el valor <Server> (Servidor) por ldap.google.com.
- Cambia el valor <Port> (Puerto) por 3268 si es texto sin cifrar con StartTLS habilitado y por 3269 si es un puerto SSL/TLS. Las opciones predeterminadas son 389 para el primer caso y 636 para el segundo.
- Cambia el valor <TestDN> (Nombre de dominio de prueba) por el nombre de tu dominio en formato DN. Por ejemplo, dc=example,dc=com si tu dominio fuera example.com.
- En ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config y ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config, añade la línea:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />
o la línea:
<add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
- En el centro de configuración de Ivanti, abre la instancia necesaria.
- Junto a la aplicación Service Desk Framework, haz clic en Edit (Editar).
Aparecerá el cuadro de diálogo Edit Application (Editar aplicación) de Service Desk Framework. - Entra en el grupo Configuration parameters (Parámetros de configuración), ve a la lista Logon policy (Directiva de inicio de sesión), selecciona Explicit only (Solo explícito) y haz clic en OK (Aceptar).
- Junto a la aplicación Web Access, haz clic en Edit (Editar).
Aparecerá el cuadro de diálogo Edit Application (Editar aplicación) de Web Access. - Entra en el grupo Configuration parameters (Parámetros de configuración), ve a la lista Logon policy (Directiva de inicio de sesión), selecciona Explicit only (Solo explícito) y haz clic en OK (Aceptar).
Al iniciar sesión, utiliza la contraseña de red del usuario del dominio asociado.
Registro de excepciones en la autenticación del servidor LDAP
Si tienes algún problema al configurar la autenticación del servidor LDAP, puedes habilitar el registro de excepciones para identificar el problema. Este registro está inhabilitado de forma predeterminada y te recomendamos que vuelvas a inhabilitarlo cuando hayas terminado de investigar la causa del problema.
Para habilitar el registro de excepciones en la autenticación del servidor LDAP:
- Abre el archivo XML de la configuración de autenticación correspondiente en un editor de texto:
DirectoryServiceAuthenticationConfiguration.xml, OpenLDAPAuthenticationConfiguration.xml o OpenLDAPSSLAuthenticationConfiguration.xml - Cambia la línea:
<ShowExceptions>false</ShowExceptions>
por
<ShowExceptions>true</ShowExceptions>
- Guarda los cambios.
Sigue estos pasos:
- Convierte los archivos .crt y .key en un archivo con formato PKCS12. En una ventana de símbolo del sistema, introduce lo siguiente:
Si estás en macOS o Linux, introduce estos comandos:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Introduce una contraseña para cifrar el archivo de salida.
Si estás en Windows, escribe estos comandos:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
Importante: Ambos archivos (<CERT_FILE>.crt y <CERT_FILE>.key) deben estar ubicados en el mismo directorio. Asimismo, asegúrate de que tanto el archivo key como el archivo crt tienen un nombre idéntico (cada uno con su extensión). En este ejemplo, usamos los nombres ldap-client.crt y ldap-client.key. - Ve al panel de control.
- En el cuadro de búsqueda, introduce "certificado" y haz clic en Manage user certificates (Administrar certificados de usuario).
- Ve a Action > All Tasks > Import (Acción > Todas las tareas > Importar).
- Selecciona Current User (Usuario actual) y haz clic en Next (Siguiente).
- Haz clic en Browse (Examinar).
- En el menú desplegable para elegir el tipo de archivo, situado en la esquina inferior derecha del cuadro de diálogo, selecciona Personal Information Exchange (*.pfx;*.p12), es decir, "Intercambio de información personal (*.pfx;*.p12)".
- Selecciona el archivo ldap-client.p12 del paso 2, haz clic en Open (Abrir) y, después, en Next (Siguiente).
- Introduce la contraseña del paso 2 y haz clic en Next (Siguiente).
- Selecciona el almacén de certificados Personal, haz clic en Next (Siguiente) y, después, en Finish (Finalizar).
- Ejecuta Ldp.exe.
- Ve a Connection > Connect (Conexión > Conectar).
- Introduce los siguientes detalles de conexión:
Server (Servidor): ldap.google.com
Port (Puerto): 636
Connectionless (Sin conexión): desmarca esta opción
SSL: marca esta opción
- Haz clic en OK (Aceptar).
- Ve a View > Tree (Ver > Árbol).
- Introduce el nombre de dominio base; es decir, el nombre del dominio en formato DN. Por ejemplo, dc=example,dc=com si tu dominio fuera example.com.
- Haz clic en OK (Aceptar).
- Si se conecta correctamente, se mostrará el contenido del directorio activo en el panel derecho; es decir, todos los atributos incluidos en el nombre completo base.
Para saber cómo conectar Netgate/pfSense al servicio LDAP seguro, consulta el artículo sobre cómo configurar Google Cloud Identity como fuente de autenticación.
Puedes acceder a tu directorio LDAP desde la línea de comandos con el comando ldapsearch de OpenLDAP.
Si los archivos .crt y .key de tu cliente fueran ldap-client.crt y ldap-client.key, respectivamente, tu dominio fuera example.com y tu nombre de usuario fuera jsanz, utilizarías este comando:
$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsanz)'
Al ejecutar este comando, se definen las variables de entorno necesarias para apuntar a las claves del cliente. Puedes sustituir las otras opciones de ldapsearch por los filtros que quieras o los atributos que necesites. Para obtener más información, consulta las páginas del manual de ldapsearch ("man ldapsearch").
Sigue estos pasos:
- Convierte los archivos .crt y .key en un archivo con formato PKCS12. En una ventana de símbolo de sistema, introduce lo siguiente:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Introduce la contraseña para cifrar el archivo de salida.
- En la esquina superior derecha de la barra de menús, haz clic en y escribe Acceso a Llaveros.
- Abre la aplicación Acceso a Llaveros y, en la lista de la izquierda, haz clic en Sistema.
- En la barra de menú de la parte superior izquierda, haz clic en Archivo y selecciona Importar ítems.
- Navega hasta la ubicación del archivo ldap-client.p12 generado, selecciona ldap-client.p12 y haz clic en Abrir.
Introduce tu contraseña si se te pide hacerlo.
A continuación, aparecerá un certificado con el nombre LDAP Client en la lista de certificados de llavero del sistema. - Haz clic en la flecha situada junto al certificado LDAP Client; al hacerlo, aparece una clave privada.
- Haz doble clic en la clave privada.
- En el cuadro de diálogo, selecciona la pestaña Control de acceso y haz clic en el icono +, situado abajo a la izquierda.
-
En la ventana que se abre, pulsa Comando + Mayús + G para abrir otra ventana y, a continuación, sustituye el texto que se muestra por /usr/bin/ldapsearch.
-
Haz clic en Ir.
Al hacerlo, se abre una ventana donde el comando ldapsearch aparece destacado. -
Haz clic en Añadir.
-
Haz clic en Guardar cambios e introduce tu contraseña si se te solicita.
Una vez aquí, podrás acceder al directorio LDAP introduciendo el comando ldapsearch de OpenLDAP en la línea de comandos.
-
Suponiendo que el archivo ldap-client.p12 que has importado anteriormente al llavero se llama LDAP Client, que tu dominio es example.com y el nombre de usuario jsmith, introduce el siguiente comando:
$ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'
Al ejecutarlo, se definen las variables de entorno necesarias para apuntar al certificado de cliente que se ha importado. Puedes sustituir las otras opciones de ldapsearch por los filtros que quieras o los atributos que necesites. Consulta más información en el manual de ldapsearch ("man ldapsearch").
Sigue estos pasos:
- Si es necesario, instala y configura OpenVPN o, si ya lo has hecho, abre su página de configuración.
En este artículo no se explica la configuración general de VPN. Una vez configurada la red VPN, podrás añadir la autenticación y autorización de usuarios a través de LDAP. En concreto, deberás instalar el complemento openvpn-auth-ldap.
$ sudo apt-get install openvpn openvpn-auth-ldap
- Copia los archivos .key y .crt del cliente LDAP en /etc/openvpn/ldap-client.key y /etc/openvpn/ldap-client.crt, respectivamente.
- Crea un archivo, /etc/openvpn/auth-ldap.conf, que contenga lo siguiente (suponiendo que example.com fuera el nombre de dominio):
<LDAP>
URL ldaps://ldap.google.com:636 #
Timeout 15
TLSEnable false
TLSCACertDir /etc/ssl/certs
TLSCertFile /etc/openvpn/ldap-client.crt
TLSKeyFile /etc/openvpn/ldap-client.key
</LDAP>
<Authorization>
BaseDN "dc=example,dc=com"
SearchFilter "(uid=%u)" # (o elige tu propio filtro LDAP para los usuarios)
RequireGroup false
</Authorization>
- Edita el archivo de configuración de OpenVPN, que normalmente se llama /etc/openvpn/server.conf o un nombre similar. Al final del archivo, añade lo siguiente:
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
verify-client-cert optional
- Reinicia el servidor de OpenVPN.
$ sudo systemctl restart openvpn@server
- Configura los clientes VPN para que utilicen los nombres de usuario y las contraseñas de los usuarios. Por ejemplo, en una configuración de cliente OpenVPN, añade auth-user-pass al final del archivo de configuración de cliente OpenVPN e inicia el cliente:
$ openvpn --config /path/to/client.conf
- Sigue las instrucciones para utilizar stunnel como proxy.
Para saber cómo conectar este cliente al servicio LDAP seguro, consulta el artículo sobre cómo configurar LDAP seguro de Google con OpenVPN Access Server.
Para saber cómo conectar este cliente al servicio LDAP seguro, consulta el artículo sobre cómo sincronizar y autenticar usuarios de Google Workspace y Google Cloud Identity en PaperCut.
Para saber cómo conectar Puppet Enterprise al servicio LDAP seguro, consulta el artículo sobre el directorio de Google Cloud para este cliente.
Importante: Antes de empezar, asegúrate de haber instalado Softerra LDAP Browser 4.5 (4.5.19808.0) o una versión posterior. Ve a LDAP Browser 4.5.
Sigue estos pasos:
- Convierte los archivos .crt y .key en un archivo con formato PKCS12. En una ventana de símbolo del sistema, introduce lo siguiente:
Si estás en macOS o Linux, introduce estos comandos:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Introduce una contraseña para cifrar el archivo de salida.
Si estás en Windows, escribe estos comandos:
$ certutil -mergepfx ldap-client.crt ldap-client.p12
Importante: Ambos archivos (<CERT_FILE>.crt y <CERT_FILE>.key) deben estar ubicados en el mismo directorio. Asimismo, asegúrate de que tanto el archivo key como el archivo crt tienen un nombre idéntico (cada uno con su extensión). En este ejemplo, usamos los nombres ldap-client.crt y ldap-client.key. - En Softerra LDAP Browser, instala el par de claves.
- Ve a Tools > Certificate Manager (Herramientas > Gestor de certificados).
- Haz clic en Import (Importar).
- Haz clic en Next (Siguiente).
- Haz clic en Browse (Examinar).
- En la lista desplegable para elegir el tipo de archivo, situada en la esquina inferior derecha del cuadro de diálogo, selecciona Personal Information Exchange (*.pfx;*.p12) (Intercambio de información personal [*.pfx;*.p12]).
- Selecciona el archivo ldap-client.p12 del paso 2.
- Haz clic en Open (Abrir) y, a continuación, en Next (Siguiente).
- Introduce la contraseña del paso 2 y haz clic en Next (Siguiente).
- Selecciona el almacén de certificados Personal.
- Haz clic en Next (Siguiente).
- Haz clic en Finish (Finalizar).
- Añade un perfil de servidor.
- Ve a File > New > New Profile (Archivo > Nuevo > Nuevo perfil).
- Asigna un nombre al perfil, como Google LDAP.
- Haz clic en Next (Siguiente).
Introduce los siguientes datos:
Host: ldap.google.com
Port (Puerto): 636
Base DN (DN base): el nombre de tu dominio en formato DN (es decir, dc=example,dc=com si el dominio fuera example.com)
Use secure connection (SSL) (Usar conexión segura, SSL): marca esta opción
- Haz clic en Next (Siguiente).
- Selecciona External (SSL Certificate) (Externo [Certificado SSL]).
- Haz clic en Next (Siguiente).
- Haz clic en Finish (Finalizar).
Para saber cómo conectar este cliente al servicio LDAP seguro, consulta el artículo sobre cómo conectar Sophos Mobile al directorio de Google Cloud Identity o Google Cloud mediante LDAP seguro.
Cuando conectes Splunk al servicio LDAP seguro, asegúrate de utilizar la versión de Splunk 8.1.4 o una versión posterior. Con versiones anteriores de Splunk, como la 8.1.3, es posible que se envíe un volumen excesivo de consultas LDAP al servidor LDAP, lo que puede ocasionar que tu cuota de LDAP se agote rápidamente. Consulta los problemas conocidos de Splunk para obtener más información sobre los relativos a la versión 8.1.3.
Sigue estos pasos:
- Copia los archivos .key y .crt del cliente LDAP en /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key y /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt, respectivamente.
$ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
$ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
$ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*
- Edita el archivo ldap.conf para añadir las siguientes configuraciones:
ssl start_tls
TLS_REQCERT never
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem - Añade al archivo /home/splunkadmin/.ldaprc del usuario las siguientes configuraciones:
TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
- Añade la estrategia LDAP a través de la interfaz web de Splunk. Introduce la información que se indica a continuación y guarda los cambios:
Name (Nombre) |
Google Secure LDAP |
Host |
ldap.google.com |
Port (Puerto) |
636 |
SSL enabled (SSL habilitado) |
Marca esta opción. |
Connection order (Orden de conexión) |
1 |
Bind DN (Nombre de dominio de vínculo) |
Introduce las credenciales de acceso que has generado en la consola de administración de Google. |
Bind DN password (Contraseña de nombre de dominio de vínculo) |
Introduce las credenciales de acceso que has generado en la consola de administración de Google. |
Base DN (Nombre de dominio base) |
El nombre de tu dominio en formato DN; por ejemplo, dc=example,dc=com si tu dominio fuera example.com. |
User base filter (Filtro de base de usuarios) |
Introduce el filtro de base de usuarios correspondiente a la clase de objetos por la que quieres filtrar a tus usuarios. |
User name attribute (Atributo de nombre de usuario) |
uid |
Real name attribute (Atributo de nombre real) |
displayname |
Email attribute (Atributo de correo electrónico) |
|
Group mapping attribute (Atributo de asignación de grupo) |
dn |
Group base DN (Nombre de dominio base de grupo) |
El nombre de tu dominio en formato DN (por ejemplo, ou=Groups,dc=example,dc=com si tu dominio fuera example.com) |
Static group search filter (Filtro de búsqueda de grupo estático) |
Introduce el filtro de búsqueda de grupos estáticos correspondiente a la clase de objetos por la que quieres filtrar los grupos estáticos. |
Group name attribute (Atributo de nombre de grupo) |
cn |
Static member attribute (Atributo de miembro estático) |
member |
Durante el proceso de autenticación de usuarios, SSSD hace búsquedas para obtener más información sobre ellos. Si quieres asegurarte de que la autenticación de usuarios funciona correctamente con estos clientes LDAP, activa las opciones Leer información de usuarios y Leer información de grupos en todas las unidades organizativas en las que la opción Verificar credenciales de usuario esté activada. Si quieres consultar instrucciones, lee el artículo Configurar permisos de acceso.
Para conectar un cliente SSSD con Red Hat 8 o CentOS 8 al servicio LDAP seguro, sigue estos pasos:
- Añade el cliente SSSD al servicio LDAP seguro:
- En la consola de administración de Google, ve a Aplicaciones > LDAP > AÑADIR CLIENTE.
Recuerda que debes iniciar sesión con tu cuenta de empresa y no con tu cuenta personal de Gmail. - Introduce los datos del cliente y haz clic en CONTINUAR.
- Configura los permisos de acceso:
Verificar credenciales de usuario: todo el dominio
Leer información de usuarios: todo el dominio
Leer información de grupos: activado - Haz clic en AÑADIR CLIENTE LDAP.
- Descarga el certificado que se genera.
- Haz clic en IR A LOS DETALLES DEL CLIENTE.
- Activa el estado del servicio.
- En la consola de administración de Google, ve a Aplicaciones > LDAP > AÑADIR CLIENTE.
- Instala estas dependencias:
dnf install openldap-clients sssd-ldap
install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap
descomprime el archivo .zip del certificado y copia los archivos .crt y .key en /etc/sssd/ldap
- (Opcional) Haz pruebas con ldapsearch:
LDAPTLS_REQCERT=never \
LDAPTLS_KEY=Google.key \
LDAPTLS_CERT=Google.crt \
ldapsearch -H ldaps://ldap.google.com:636/ \
-b dc=example,dc=com \
-D [email protected] \
-W \
'([email protected])' \
mail dn
Introduce la contraseña de Google del usuario cuando se te solicite.
Nota: El usuario debe tener asignada una licencia de Google Workspace Enterprise o de Cloud Identity Premium. - Crea el archivo
/etc/sssd/sssd.conf
con el siguiente contenido:
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /etc/sssd/ldap/Google.crt
ldap_tls_key = /etc/sssd/ldap/Google.key
ldap_tls_reqcert = never
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID - Actualiza los permisos y las etiquetas SELinux:
chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
restorecon -FRv /etc/sssd
- Reinicia SSSD:
systemctl restart sssd
- Haz pruebas:
ssh to server:ssh -l [email protected] {HOSTNAME}
Solución de problemas
- Comprueba la versión de SSSD (debe ser como mínimo la 1.15.2):
# sssd --version
2.2.3
-
En RHEL/CentOS (o cualquier distribución que implemente SELinux de forma obligatoria), los archivos de configuración SSSD, el archivo de certificado y la clave deben incluirse en un directorio al que pueda acceder el rol sssd_conf_t:
# egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts
Comprueba si en /var/log/audit/audit.log hay algún mensaje "AVC deny".
- Comprueba que "/etc/nsswitch.conf" tenga "sss" en las entidades "passwd", "shadow", "group" y "netgroup":
passwd: files sss
shadow: files sss
group: files sss
netgroup: files sss
En este caso, los archivos locales anulan los usuarios LDAP.
- Comprueba si hay errores de configuración en /var/log/sssd.conf:
Ejemplo:
[sssd] [sss_ini_add_snippets] (0x0020): Config merge error: File /etc/sssd/sssd.conf did not pass access check. Skipping.Acción: Tienes que ejecutar el comando "chmod 600" en el archivo .conf.
Ejemplo:
[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_groups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.[sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: Attribute 'ldap_initgroups_use_matching_rule_in_chain' is not allowed in section 'domain/{DOMAIN}'. Check for typos.
Acción: Quita del archivo sssd.conf las extensiones LDAP que se usan para asociar grupos no admitidos.
-
Consulta si hay errores de LDAP, de red o de autenticación en /var/log/sssd_{DOMAIN}.log.
Ejemplo:[sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls failed: [Connect error] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (self signed certificate)]
Acción: Debes añadir "ldap_tls_reqcert = never" a sssd.conf.
Para aumentar el nivel de detalle de los errores, añade "debug_level = 9" en la sección del dominio de sssd.conf y reinicia sssd.
Durante el proceso de autenticación de usuarios, SSSD hace búsquedas para obtener más información sobre ellos. Si quieres asegurarte de que la autenticación de usuarios funciona correctamente con estos clientes LDAP, activa las opciones Leer información de usuarios y Leer información de grupos en todas las unidades organizativas en las que la opción Verificar credenciales de usuario esté activada. Si quieres consultar instrucciones, lee el artículo Configurar permisos de acceso.
Para conectar un cliente SSSD al servicio LDAP seguro, sigue estos pasos:
- Instala SSSD 1.15.2 o una versión posterior.
$ sudo apt-get install sssd
- Si los archivos .crt y .key del cliente son /var/ldap-client.crt y /var/ldap-client.key y tu dominio es example.com, edita /etc/sssd/sssd.conf de esta forma:
[sssd]
services = nss, pam
domains = example.com[domain/example.com]
ldap_tls_cert = /var/ldap-client.crt
ldap_tls_key = /var/ldap-client.key
ldap_uri = ldaps://ldap.google.com
ldap_search_base = dc=example,dc=com
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_uuid = entryUUID
ldap_groups_use_matching_rule_in_chain = true
ldap_initgroups_use_matching_rule_in_chain = true
-
Cambia la propiedad y el permiso del archivo de configuración:
$ sudo chown root:root /etc/sssd/sssd.conf
$ sudo chmod 600 /etc/sssd/sssd.conf -
Reinicia SSSD:
$ sudo service sssd restart
Nota: Si utilizas el módulo SSSD en ordenadores Linux sin direcciones IP externas en Google Compute Engine y has habilitado el acceso interno a los servicios de Google, puedes conectarte al servicio LDAP seguro. Para obtener más información, consulta el artículo Configura el Acceso privado a Google.
Sigue los pasos que se indican a continuación para conectar la autenticación de cuentas de usuario mediante el servicio LDAP seguro en el cliente macOS.
Requisitos del sistema
- Debes tener la versión de macOS Catalina 10.15.4 o una posterior.
- Para completar el paso 1 de la fase de preparación, se requiere un ID de usuario de superadministrador de Google.
- Para llevar a cabo esta configuración, necesitas tener permisos de administrador locales.
Índice:
Fase de preparación
Las instrucciones de esta sección se centran en cómo configurar y probar manualmente la autenticación de macOS mediante el servicio LDAP seguro.
Paso 1: Registra macOS como cliente LDAP en la consola de administración de Google
Para obtener instrucciones, consulta el artículo Añadir clientes LDAP o echa un vistazo a esta demo de LDAP seguro. Durante el proceso, también tendrás que descargar un certificado de cliente TLS que se genera automáticamente.
Paso 2: Importa el certificado en el llavero del sistema
- Copia el certificado (el archivo ZIP que has descargado en el paso 1) y la clave en el equipo macOS.
Consejo: Descomprime el archivo para encontrar los archivos .crt y .key. - Importa el par de claves en el llavero del sistema:
-
Convierte los archivos .crt y .key en un archivo con formato PKCS 12 (p12). Ejecuta el siguiente comando en el terminal:
openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key
Nota: Anota el nombre del archivo .p12.
El sistema te pedirá que introduzcas una contraseña. Introduce una contraseña con la que cifrar el archivo p12. -
Abre la aplicación Acceso a Llaveros.
-
Haz clic en el llavero Sistema.
-
Haz clic en Archivo > Importar ítems.
-
Selecciona el archivo ldap-client.p12 creado anteriormente.
-
Si se te solicita, introduce la contraseña de administrador para poder modificar el llavero del sistema.
-
Introduce la contraseña que has creado anteriormente para descifrar el archivo .p12.
Nota: Seguramente aparezcan un nuevo certificado y una clave privada asociada en la lista de claves. Puede que se llame LDAP Client. Escribe el nombre del certificado, lo necesitarás para llevar a cabo el paso siguiente.
- Sigue el paso 6 de la sección ldapsearch (macOS) de este artículo para configurar el control de acceso de la clave privada y añadir las aplicaciones que se indican más abajo. Si la clave privada no aparece en la categoría Todos los ítems, prueba a cambiar a la categoría Mis certificados y busca la entrada de clave privada correcta ampliando el certificado correspondiente.
Tal y como se indica en las instrucciones, la aplicación ldapsearch solo es necesaria si hay que solucionar problemas y no hace falta para nada más. Normalmente, se quita antes de dar acceso a macOS a los usuarios.
Debes añadir estas tres aplicaciones a la lista de control de acceso:
/System/Library/CoreServices /Applications/Directory Utility
/usr/libexec/opendirectoryd
/usr/bin/dscl
-
-
Añade una línea al archivo /etc/openldap/ldap.conf y asegúrate de que "LDAP Client" sea el mismo nombre exacto de certificado que aparece en la aplicación Acceso a Llaveros de macOS después de importar el archivo .p12 (el nombre procede del nombre común de tema X.509 del certificado generado):
sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'
Paso 3: Redirige el dispositivo al directorio de Google para la autenticación
Abre la aplicación Utilidad de Directorios para crear un nodo de directorio LDAP:
- Haz clic en el candado para hacer cambios e introduce la contraseña.
- Selecciona LDAPv3 y haz clic en el icono del lápiz para editar los ajustes.
- Haz clic en Nuevo.
- En el nombre del servidor, introduce ldap.google.com, selecciona Encriptar con SSL y haz clic en Manual.
- Selecciona el nombre del nuevo servidor y haz clic en Editar.
- Ponle a la configuración un nombre descriptivo, como LDAP seguro de Google.
- Selecciona Encriptar con SSL y asegúrate de que el puerto seleccionado sea el 636.
- Ve a la pestaña Búsqueda y mapas.
- Elige RFC2307 en la lista desplegable Acceder al servidor LDAPv3 usando.
- Cuando se te solicite, introduce la información relacionada con el dominio en el sufijo de base de búsqueda. Por ejemplo, introduce
dc=zomato,dc=com
para un nombre de dominio de zomato.com. - Haz clic en Aceptar.
- Configura los atributos en el tipo de registro Usuarios:
- En la sección Tipos y atributos de registro, selecciona Usuarios y haz clic en el botón "+".
- En la ventana emergente, selecciona Tipos de atributo, después GeneratedUID y, a continuación, haz clic en Aceptar para cerrar la ventana emergente.
GeneratedUID debería aparecer en Usuarios al desplegarlo.
- Haz clic en el GeneratedUID y después en el icono "+", situado en el cuadro de la derecha.
- Escribe apple-generateduid en el cuadro de texto y pulsa Intro.
- En el nodo Usuarios, haz clic en el atributo NFSHomeDirectory.
- En la pantalla de la derecha, cambia el valor de este atributo a
#/Users/$uid$
. - Haz clic en Aceptar e introduce tu contraseña para guardar los cambios.
- En la ventana Utilidad de Directorios, define la nueva configuración de LDAP:
- Ve a la pestaña Buscar política.
- Haz clic en el icono del candado para hacer cambios e introduce la contraseña del usuario que estés utilizando cuando se te solicite.
- Cambia la opción del menú desplegable de Ruta de búsqueda a Ruta personalizada.
- Abre la pestaña Autenticación y haz clic en el icono "+".
- En la lista Dominios de directorio, selecciona
/LDAPv3/ldap.google.com
y haz clic en Añadir. - Haz clic en el botón Aplicar e introduce tu contraseña de administrador si se te pide hacerlo.
- Ejecuta los cuatro comandos siguientes para inhabilitar los mecanismos de autenticación DIGEST-MD5, CRAM-MD5, NTLM y GSSAPI SASL. De esta forma, el sistema macOS utilizará el método Simple Bind (enlace simple) en la autenticación mediante el servicio LDAP seguro de Google:
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist
- Reinicia para volver a cargar la configuración de OpenDirectory.
Paso 4: Crea una cuenta móvil (permite el inicio de sesión sin conexión)
Cualquier usuario de Google Workspace o Cloud Identity puede iniciar sesión mediante una cuenta de red (cuenta de Google) con su nombre de usuario y contraseña. Este proceso de inicio de sesión requiere conectividad de red. Si un usuario necesita iniciar sesión con o sin conexión a la red, se puede crear una cuenta móvil. Una cuenta móvil te permite iniciar sesión con el nombre de usuario y la contraseña de tu cuenta de red (cuenta de Google) aunque no tengas conexión a la red. Consulta más información en el artículo Crear y configurar cuentas móviles en el Mac.
Si quieres crear una cuenta móvil para usuarios de LDAP seguro, sigue estos pasos:
-
Ejecuta el siguiente comando para conectarte al servidor LDAP seguro y configurar una ruta de inicio y una cuenta móvil:
sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v
Nota: Sustituye $uid por la parte correspondiente al nombre de usuario de la dirección de correo electrónico asociada a la cuenta de Google del usuario en cuestión. Por ejemplo, jgarcia es el nombre de usuario de [email protected]. -
Cuando se te pida el nombre de usuario del administrador de SecureToken, introduce tu nombre de usuario de administrador y después la contraseña en el recuadro siguiente. De esta forma se añadirá $uid a FileVault. Este paso es necesario si el disco macOS está cifrado.
Paso 5: (Opcional) Define las preferencias de pantalla de inicio de sesión
- Accede a Preferencias del Sistema > Usuarios y grupos > Opciones inicio sesión, en la parte inferior izquierda.
- Desbloquea el candado introduciendo las credenciales de administrador.
- Cambia la opción Mostrar ventana de inicio como a Nombre y contraseña.
Paso 6: Reinicia el dispositivo e inicia sesión.
- Asegúrate de que el dispositivo esté conectado a Internet. Si no tienes conexión a Internet, el inicio de sesión del usuario LDAP seguro no podrá efectuarse.
Nota: Solo es necesario tener conexión a Internet para iniciar sesión por primera vez. Después, se puede iniciar sesión sin acceso a Internet. - Inicia sesión en el dispositivo con la cuenta de usuario que está configurada para utilizar la autenticación con LDAP seguro.
Fase de implementación
En esta sección, se explica cómo automatizar la configuración de los dispositivos de tus usuarios. Sigue los pasos 1 y 2 que se indican a continuación en el mismo dispositivo macOS en el que hayas completado la configuración manual durante la fase de preparación.
Paso 1: Crea un perfil de Mac con certificado en Apple Configurator 2
- Instala Apple Configurator 2 en el equipo en el que hayas configurado la autenticación de macOS con LDAP seguro de forma manual.
- Abre Apple Configurator 2, crea un perfil y, en la sección Certificado, haz clic en Configurar e importa el archivo .p12 que se ha generado antes.
Nota: Este archivo .p12 debe tener contraseña. Escribe esta contraseña en la sección Contraseña del certificado.
- Guarda el perfil.
- Si tienes un dispositivo con un procesador M1 o M2, sáltate este paso y ve al paso 5. Abre ese perfil en cualquier editor de texto y añade las siguientes líneas en la primera etiqueta <dict>:
<key>PayloadScope</key>
<string>System</string>
Este paso es necesario porque Apple Configurator todavía no admite perfiles de macOS.
- En la segunda etiqueta <dict>, en paralelo a los datos de certificados, añade estas líneas:
<key>AllowAllAppsAccess</key>
<true/>
De este modo, todas las aplicaciones podrán acceder a este certificado.
Paso 2: Convierte el archivo de configuración del directorio (plist) a XML
En este paso, se extraen a un archivo XML todas las configuraciones manuales que has completado durante el paso 3 de la fase de preparación. Con este archivo y el perfil de Mac que has creado en el paso 1 anterior, puedes configurar automáticamente otros dispositivos macOS.
- Copia /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist en tu escritorio o en cualquier otra parte.
- Conviértelo a XML para poder inspeccionarlo en cualquier editor de texto. Ejecuta este comando en Terminal:
sudo plutil -convert xml1 <path>/ldap.google.com.plist
Puedes acceder al archivo así:<path>/ldap.google.com.plist
.
- Cambia el permiso del archivo anterior para que puedas abrir el archivo XML y comprueba que no esté vacío.
Paso 3: Crea una secuencia de comandos de Python para automatizar la configuración de los dispositivos de los usuarios finales
Copia la secuencia de comandos de Python que aparece más abajo y guárdala en un archivo con formato python (.py).
Nota: Esta secuencia de comandos de ejemplo está diseñada para ser compatible con la versión 3.10.x de Python. Esta secuencia de comandos se proporciona tal cual. El equipo de asistencia de Google no ofrece asistencia sobre secuencias de comandos de ejemplo.
Ldap_python_config.py
#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData
import os
import sys
# Lectura de plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()
# Escritura de plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b'\x00'*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)
# Edita la ruta de búsqueda predeterminada y añade el nuevo nodo para permitir el inicio de sesión
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")
Paso 4: Configura automáticamente los dispositivos de los usuarios finales
Accede a otros dispositivos macOS que quieras configurar y sigue estos pasos:
- Copia en el dispositivo el archivo de perfil de Mac que has generado en el paso 1, el archivo de configuración XML generado en el paso 2 y la secuencia de comandos de Python del paso 3.
- Ejecuta el siguiente comando:
sudo
python </ruta/a/secuencia_python_guardada> </ruta/a/ldap.google.com.plist generado en el paso 2>
- Para importar certificados al llavero del sistema de macOS, haz doble clic en el archivo de perfil de Mac que has generado en el paso 1 y, cuando se te indique, proporciona las credenciales de administrador local de macOS. Se te pedirá que introduzcas la contraseña del archivo .p12 que creaste durante la fase de preparación.
- Reinicia el equipo macOS.
- Crea cuentas móviles según se indica en el paso 4 de la fase de preparación. También puedes definir otras preferencias, tal como se describe en el paso 5 de esta fase.
Limitaciones y directrices
- En el caso de los usuarios que inicien sesión en macOS con sus credenciales de Google, el nombre de usuario de su cuenta de Workspace debe ser diferente del ID de usuario de su perfil de macOS, o de lo contrario se bloqueará el inicio de sesión.
- Una vez que un usuario haya iniciado sesión en macOS mediante las credenciales de Google, la gestión de contraseñas de los usuarios (para cambiarlas o recuperarlas) se deberá hacer en el sitio web de Google. Por ejemplo, en myaccount.google.com o en la consola de administración de Google. Si decides gestionar las contraseñas con una solución de terceros, asegúrate de que la última contraseña se sincronice con Google.
- Si el administrador crea un usuario o cambia la contraseña de un usuario que tiene activada la opción Solicitar un cambio de contraseña la próxima vez que se inicie sesión, ese usuario no podrá iniciar sesión en Mac con la contraseña temporal que ha definido el administrador.
Solución alternativa: El usuario puede iniciar sesión en Google con otro dispositivo (por ejemplo, su dispositivo móvil u otro ordenador), definir una contraseña permanente e iniciar sesión en macOS con la nueva contraseña. - El ordenador Mac debe tener una conexión a Internet que funcione, de modo que se pueda acceder a ldap.google.com durante el primer inicio de sesión después de la configuración anterior. Los inicios de sesión posteriores no necesitarán acceso a Internet, siempre y cuando hayas configurado una cuenta móvil.
- La integración de LDAP seguro de Google con macOS se ha probado en macOS Catalina, Big Sur y Monterey.
Solución de problemas
Si tienes problemas para conectarte al servicio LDAP seguro, sigue estas instrucciones.
Paso 1: Verifica la conexión.
Verifica la conexión con odutil.
Ejecuta el comando odutil show nodenames en el terminal.
Verifica que el estado de /LDAPv3/ldap.google.com
sea online. Si no es online, prueba la opción Telnet.
Verifica la conexión mediante nc.
Ejecuta el siguiente comando en el terminal: nc -zv ldap.google.com 636
Si no puedes acceder a Google de esta forma, prueba a conectarte mediante IPv4.
Verifica la conexión con IPv4.
Puedes modificar el dispositivo para que utilice IPv4 siguiendo estos pasos:
- Accede a Preferencias del Sistema > Red > Wi‐Fi > Avanzado.
- En el menú Avanzado, ve a la pestaña TCP/IP.
- En el menú desplegable Configurar IPv6, selecciona Solo enlace local.
- Haz clic en Aceptar y, a continuación, en Aplicar para guardar los cambios.
- Comprueba la autenticación del servicio conectándote a ldapsearch y haciendo una búsqueda válida.
Paso 2: Comprueba si puedes ver objetos del directorio.
- Abre Utilidad de Directorios y, a continuación, abre la pestaña Editor de directorios.
- Selecciona el nodo /LDAPv3/ldap.google.com en la lista desplegable.
- Comprueba si puedes ver usuarios y grupos de tu dominio de Google.
Instrucciones de configuración de aplicaciones Java
La mayoría de las aplicaciones basadas en Java que ofrecen las funciones LDAP se pueden configurar para que se autentiquen con certificados de cliente instalando los certificados en el almacén de claves de la aplicación. Los archivos de configuración exactos varían según la aplicación, pero el proceso es el mismo en términos generales. Para configurarlos, OpenSSL y Java Runtime Environment deben estar instalados.
-
Convierte el certificado y las claves al formato de almacén de claves de Java. Se te pedirán contraseñas a lo largo de este proceso, así que elige una contraseña segura y úsala en todos los pasos. Suponiendo que el archivo .key de tu cliente se llame ldap-client.key:
Si estás en macOS o Linux, introduce estos comandos:
$ openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
Si estás en Windows, introduce estos comandos:$ certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
Importante: Los dos archivos (<CERT_FILE>.crt y <CERT_FILE>.key) deben estar ubicados en el mismo directorio. Asimismo, asegúrate de que tanto el archivo key como el archivo crt tienen un nombre idéntico (con distintas extensiones). En este ejemplo, usamos los nombres ldap-client.crt y ldap-client.key.
- Importa el certificado en el almacén de claves:
$ keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
- Las propiedades de Java se pueden configurar de diferentes formas según la aplicación. A menudo, puedes definirlas con la opción -D de la línea de comando "java" que se usa para iniciarlo. Indica las propiedades de Java de tu aplicación:
javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
javax.net.ssl.keyStorePassword = <password selected above>
- Configura la conexión LDAP de la aplicación mediante las instrucciones básicas de configuración.
(Opcional) Utilizar stunnel como servidor proxy
Si los clientes no ofrecen ninguna forma de autenticación en LDAP con un certificado de cliente, utiliza stunnel como servidor proxy.
Debes configurar stunnel para enviar el certificado de cliente al servidor LDAP y configurar tu cliente para que se conecte a stunnel. Te recomendamos que ejecutes stunnel en los mismos servidores que tu aplicación y de manera local para que tu directorio LDAP no se exponga a entornos ajenos a ese servidor.
Sigue estos pasos:
- Instala stunnel. Por ejemplo, en Ubuntu:
$ sudo apt-get install stunnel4
- Crea un archivo de configuración /etc/stunnel/google-ldap.conf con el siguiente contenido (suponiendo que ldap-client.crt fuera el certificado y que ldap-client.key fuera la clave):
[ldap]
client = yes
accept = 127.0.0.1:1636
connect = ldap.google.com:636
cert = ldap-client.crt
key = ldap-client.key
- Para habilitar stunnel, edita /etc/default/stunnel4 y define el valor ENABLED=1.
- Reinicia stunnel.
$ sudo /etc/init.d/stunnel4 restart
- Configura tu aplicación para que apunte a ldap://127.0.0.1:1636.
Puedes sustituir "1636" por cualquier otro puerto que no se haya utilizado si también cambias la línea accept (aceptar) del archivo de configuración anterior. Debes utilizar LDAP sin formato y sin StartTLS/SSL/TLS habilitado entre el cliente y stunnel, ya que se comunican localmente.
Nota: Si quieres ejecutar stunnel en otro servidor, debes configurar tus cortafuegos para que solo puedan acceder a tu servidor de stunnel las aplicaciones necesarias. También puedes configurar stunnel para que trabaje con TLS y que los datos que se transfieren de tu aplicación a los servidores de stunnel estén cifrados. Los detalles de estas dos configuraciones dependen de tu entorno.
Pasos siguientes
Una vez conectado el cliente LDAP al servicio LDAP seguro, activa el servicio.
Consulta qué pasos debes seguir a continuación en el artículo 5. Activar el servicio en clientes LDAP.
Nota: Si es necesario, puedes utilizar herramientas como ldapsearch, ADSI o ldp.exe para solucionar problemas en caso de que surjan errores al intentar conectar tu cliente LDAP al servicio. Si quieres consultar instrucciones a este respecto, lee el artículo Pruebas de conectividad y solución de problemas.