Guía de integración de Samba4 con Active Directory

Resumen

Esta guía configura un controlador de dominio Samba4 Active Directory para que el sensor CBOM Secure Discover_LDAP pueda realizar un descubrimiento de solo lectura a través de LDAPS:

  • userCertificate: certificados X.509 en objetos de usuario y de equipo.
  • cACertificate — Certificados de CA en objetos de autoridad de certificación
  • altSecurityIdentities: asignaciones de claves públicas SSH y entidades principales Kerberos

Samba4 implementa el esquema LDAP completo de AD y es totalmente compatible con el sensor LDAP.

Requisitos previos

  • Un controlador de dominio Samba4 AD en funcionamiento (se recomienda la versión 4.14 o superior).
  • Acceso de administrador para ejecutar samba-tool; el nombre DNS del dominio y el DN base.
  • LDAPS (636) habilitado, o LDAP con STARTTLS; conectividad desde el host del sensor.
  • El sensor Discover_LDAP está disponible; Python 3.8+ con ldap3 para la variante de Python.

Guía paso por paso

Paso 1: Crear una cuenta de servicio de solo lectura.

samba-tool user create cbom-reader --random-password samba-tool user setpassword cbom-reader --newpassword='ReplaceWithStrongPassword!' samba-tool user show cbom-reader

Paso 2: Crear un grupo de delegación (opcional)

samba-tool group add CbomReaders samba-tool group addmembers CbomReaders cbom-reader

Tenga en cuenta que el modelo ACL de AD predeterminado de Samba4 otorga a los usuarios autenticados acceso de lectura a userCertificate, cACertificate y altSecurityIdentities. No se requiere delegación adicional a menos que las ACL de ldb personalizadas restrinjan la visibilidad de los atributos.

Paso 3: Confirmar LDAPS y probar la vinculación.

Samba4 genera automáticamente un certificado TLS autofirmado en /var/lib/samba/private/tls/ (reemplácelo con un certificado de CA interna para producción). Pruebe la conectividad y una conexión autenticada:

openssl s_client -connect dc1.corp.example.com:636 -showcerts ldapsearch -H ldaps://dc1.corp.example.com:636 \ -D "CN=cbom-reader,CN=Users,DC=corp,DC=example,DC=com" \ -w 'ReemplazarConContraseñaFuerte!' \ -b "DC=corp,DC=example,DC=com" -s sub \ "(objectClass=user)" userCertificate altSecurityIdentities

Paso 4: Configurar el sensor de seguridad CBOM

sensor: nombre: Discover_LDAP habilitado: verdadero programación: "0 2 * * *" conexión: host: dc1.corp.example.com puerto: 636 usar_ssl: verdadero verificar_ssl: verdadero ruta_certificado_ca: /etc/cbom/certs/samba4-ca.pem enlace: dn: "CN=cbom-reader,CN=Users,DC=corp,DC=example,DC=com" contraseña: "${CBOM_LDAP_PASSWORD}" descubrimiento: base_dn: "DC=corp,DC=example,DC=com" ámbito: subárbol tamaño_página: 500 atributos: [userCertificate, cACertificate, altSecurityIdentities, distinguishedName, sAMAccountName, objectClass] filtros_clase_objeto: [usuario, computadora, certificationAuthority, pKIEnrollmentService] salida: formato: cbom_json url_plataforma: https://cbom.corp.example.com

Paso 5: Validar

cbom-sensor start --config /etc/cbom/sensors/samba4-ldap.yaml --log-level debug

Confirme que la vinculación, la búsqueda en el subárbol y el recuento de certificados/claves SSH detectados se hayan realizado correctamente; verifique los activos en Inventario → Servicios de directorio. Vuelva a ejecutar el proceso para confirmar la idempotencia.

Errores comunes

ldap_bind: Credenciales no válidas (49)

Causa: La contraseña no coincide o la cuenta está bloqueada/caducada.

Resolución: Restablecer con samba-tool user setpassword; borrar la caducidad con –noexpiry; confirmar que CBOM_LDAP_PASSWORD se haya inyectado.

SSL: FALLO EN LA VERIFICACIÓN DEL CERTIFICADO

Causa: El host del sensor no confía en la CA TLS del controlador de dominio.

Solución: Copie el archivo /var/lib/samba/private/tls/ca.pem a ca_cert_path o agréguelo al almacén de certificados de confianza del sistema.

Se ha superado el límite de tamaño (4)

Causa: La búsqueda excede el límite de tamaño del servidor sin la paginación correcta.

Solución: Establezca page_size en 500 o menos y confirme que el sensor utiliza resultados paginados según RFC 2696.

Recomendaciones de seguridad

  • Utilice exclusivamente LDAPS (636) o STARTTLS. Nunca utilice LDAP simple en producción.
  • Cambie la contraseña del lector de CBOM cada 90 días mediante un gestor de secretos.
  • Restringir cbom-reader a la vinculación LDAP únicamente; bloquear el inicio de sesión interactivo mediante una política.
  • Habilite el registro de acceso LDAP de Samba4 y las alertas para las conexiones fuera de la ventana de escaneo.
  • Configure el firewall para que el host del sensor solo pueda acceder al puerto 636 en los controladores de dominio.

Conclusión

Con una cuenta dedicada de solo lectura y una conexión LDAPS, el sensor Discover_LDAP realiza un inventario continuo de certificados, certificados CA y asignaciones de claves SSH en Samba4 AD con privilegios mínimos y sin impacto en la producción.