cancel
Showing results for 
Search instead for 
Did you mean: 

Error al autenticar mediante CIFS usuarios de Active Directory Alfresco

sergiorg96
Confirmed Champ
Confirmed Champ

Buenas a todos,

Tengo instalado en una máquina con Debian 9.5 Alfresco, y tengo configurado la sincronización con Active Directory en un Windows Server 2012 R2. La sincronización con AD se realiza correctamente y puedo logearme con los usuarios a través de la web. Cuando quiero acceder mediante CIFS \\172.16.103.23\alfresco , no me permite autenticarme con los usuarios de Active Directory. En alfresco.log me aparece los siguientes logs:

ERROR [org.alfresco.filesys.auth.cifs.PassthruCifsAuthenticator] [AlfJLANWorker8] org.alfresco.jlan.smb.SMBException: Invalid parameter

He intentado activar los logs en modo DEBUG en el archivo de log4j.properties pero no aparecen mensajes de DEBUG, siguen apareciendo los mismos.

He habilitado en el Windows Server 2012 R2 la opción de NTML v2 en el dominio que he visto en otro post:

https://community.alfresco.com/thread/210502-alfresco-50b-community-cifs-problem

Pero aun así no funciona. No tengo incluida la máquina con Debian en el dominio de Active Directory ¿Debería incluirla o no es necesario?

La configuración del archivo alfresco-global.properties es la siguiente:


###############################
## Common Alfresco Properties #
###############################
dir.root=/opt/alfresco-community/alf_data
alfresco.context=alfresco
alfresco.host=127.0.0.1
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=127.0.0.1
share.port=8080
share.protocol=http
### database connection properties ###
db.driver=org.postgresql.Driver
db.username=alfresco
db.password=vm-alfresco
db.name=alfresco
db.url=jdbcSmiley Tongueostgresql://localhost:5432/${db.name}
# Note: your database must also be able to accept at least this many connections.  Please see your database documentation for instructions on how to configure this.
db.pool.max=275
db.pool.validate.query=SELECT 1
# The server mode. Set value here
# UNKNOWN | TEST | BACKUP | PRODUCTION
system.serverMode=UNKNOWN
### FTP Server Configuration ###
ftp.port=21
### RMI registry port for JMX ###
alfresco.rmi.services.port=50500
### External executable locations ###
ooo.exe=/opt/alfresco-community/libreoffice/program/soffice.bin
ooo.enabled=true
ooo.port=8100
img.root=/opt/alfresco-community/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
alfresco-pdf-renderer.root=/opt/alfresco-community/common/alfresco-pdf-renderer
alfresco-pdf-renderer.exe=${alfresco-pdf-renderer.root}/alfresco-pdf-renderer
jodconverter.enabled=false
jodconverter.officeHome=/opt/alfresco-community/libreoffice
jodconverter.portNumbers=8100
### Initial admin password ###
alfresco_user_store.adminpassword=3e6f0a8d49c4dca3ea19fb3692c19ec6
### E-mail site invitation setting ###
notification.email.siteinvite=false
### License location ###
dir.license.external=/opt/alfresco-community
### Solr indexing ###
index.subsystem.name=solr4
dir.keystore=${dir.root}/keystore
solr.host=localhost
solr.port.ssl=8443
### Allow extended ResultSet processing
security.anyDenyDenies=false
### Smart Folders Config Properties ###
smart.folders.enabled=false
### Remote JMX (Default: disabled) ###
alfresco.jmx.connector.enabled=false
### LDAP : Authentication ###
authentication.chain=alfinst:alfrescoNtlm,passthru1Smiley Tongueassthru,ldap1:ldap-ad
ntlm.authentication.sso.enabled=false
ntlm.authentication.authenticateCIFS=false
alfresco.authentication.authenticateCIFS=false
alfresco.authentication.allowGuestLogin=false
passthru.authentication.sso.enabled=false
passthru.authentication.authenticateCIFS=true
ldap.authentication.active=false
ldap.synchronization.active=true
passthru.authentication.useLocalServer=false
passthru.authentication.domain=
passthru.authentication.servers=AYUNTAMIENTO\\172.16.103.41
###ldap.authentication.active=true
ldap.authentication.java.naming.provider.url=ldap://172.16.103.41:389
ldap.authentication.userNameFormat=CN=%s,OU=Agrosevilla,DC=ayuntamiento,DC=svq
### LDAP : Synchronization ###
###ldap.synchronization.active=true
ldap.synchronization.java.naming.security.principal=CN=Administrador,CN=Users,DC=ayuntamiento,DC=svq
ldap.synchronization.java.naming.security.credentials=T13r1.2k18
ldap.synchronization.groupSearchBase=OU=Agrosevilla,DC=ayuntamiento,DC=svq
ldap.synchronization.groupQuery=(objectclass\=posixGroup)
ldap.synchronization.userSearchBase=OU=Agrosevilla,DC=ayuntamiento,DC=svq
ldap.synchronization.personQuery=(objectclass\=user)
synchronization.import.cron=0 0 0 * * ?
synchronization.syncOnStartup=true

### CIFS/SMB Server Configuration ###
cifs.enabled=true
cifs.serverName=alfresco
cifs.domain=AYUNTAMIENTO
cifs.hostannounce=true
Gracias
1 ACCEPTED ANSWER

sergiorg96
Confirmed Champ
Confirmed Champ

He solucionado el problema, escribo para el que le pase lo mismo que a mi le sirva. He tenido que configurar en los clientes la directiva local de seguridad que comentaba Angel Borroy: "Configuración de Seguridad > Opciones de seguridad", "Seguridad de red: nivel de autenticación de LAN Manager", la opción "Enviar LM y NTLM: usar seguridad de sesión NTLMv2 si se negocia". El problema era que estaba configurado en el Controlador de Dominio, pero las peticiones de los clientes forzaba a NTLMv2.

View answer in original post

14 REPLIES 14

Quizá no tengas abiertos los puertos de CIFS en el firewall de Debian:

  • UDP 137, 138
  • TCP 445, 139
Hyland Developer Evangelist

Tengo habilitado todo el tráfico por defecto para que no haya ese tipo de problemas. Para poder conectarme con Samba con Linux he tenido que deshabilitar de /etc/samba/smb.conf NTLM v2 y spnego:

...

client NTLMv2 auth = no

client use spnego = no (esto no afecta si lo cambio a yes)

...

No sé si hay alguna opción en Windows parecida para deshabilitar esas opciones.

Gracias

Prueba a configurar en el menú "Configuración de Seguridad > Opciones de seguridad" la directiva "Seguridad de red: nivel de autenticación de LAN Manager" a la opción "Enviar LM y NTLM: usar seguridad de sesión NTLMv2 si se negocia"

Hyland Developer Evangelist

Eso fue lo primero que configuré pero sigue sin funcionar. He comprobado con Wireshark, con los dos sistemas operativos (Linux, en una máquina virtual y Windows) en la misma máquina, y la petición de autenticación se realiza de distinta forma:

Trazas Autenticación SMB Wireshark

La primera, se corresponde con la petición en Windows (Session Setup AndX Request, User: AYUNTAMIENTO\Pepe; Tree Connect AndX, Path: \\172.16.103.30\IPC$), que se realiza todo junto y como resultado obtiene STATUS_LOGO_FAILURE.

Sin embargo, la petición de Linux se realiza de forma distinta. Primero utiliza Session Setup AndX Request, User: Ayuntamiento\Pepe y tras la respuesta del servidor, utiliza Tree Connect AndX Request, Path: \\172.16.103.30\ALFRESCO. Esta última funciona correctamente.

sergiorg96
Confirmed Champ
Confirmed Champ

He solucionado el problema, escribo para el que le pase lo mismo que a mi le sirva. He tenido que configurar en los clientes la directiva local de seguridad que comentaba Angel Borroy: "Configuración de Seguridad > Opciones de seguridad", "Seguridad de red: nivel de autenticación de LAN Manager", la opción "Enviar LM y NTLM: usar seguridad de sesión NTLMv2 si se negocia". El problema era que estaba configurado en el Controlador de Dominio, pero las peticiones de los clientes forzaba a NTLMv2.