LDAPS/LDAP authentication is not working in Sonarqube

Hello I am using Sonarqube LTS-Community docker image. To use LDAP/LDAPS I have used put all root certificates in Java Keychain and in sonar.properties file after enabling LDAP

I can see error and can see sonarqube getting stopped

 2022.04.26 06:51:23 INFO  web[][org.sonar.INFO] Security realm: LDAP
sonarqube_1      | 2022.04.26 06:51:23 INFO  web[][o.s.a.l.LdapSettingsManager] User mapping: LdapUserMapping{baseDn=dc=XXXXX,dc=com, request=(&(objectClass=user)(sAMAccountName={0})), realNameAttribute=sAMAccountName, emailAttribute=email}
sonarqube_1      | 2022.04.26 06:51:23 INFO  web[][o.s.a.l.LdapSettingsManager] Group mapping: LdapGroupMapping{baseDn=dc=XXXXX,dc=com, idAttribute=sAMAccountName, requiredUserAttributes=[dn], request=(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))}
sonarqube_1      | 2022.04.26 06:51:23 INFO  web[][o.s.a.l.LdapContextFactory] Test LDAP connection: FAIL
sonarqube_1      | 2022.04.26 06:51:24 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
sonarqube_1      | org.sonar.api.utils.SonarException: Security realm fails to start: Unable to open LDAP connection
sonarqube_1      |      at org.sonar.server.user.SecurityRealmFactory.start(SecurityRealmFactory.java:93)
sonarqube_1      |      at org.sonar.core.platform.StartableCloseableSafeLifecyleStrategy.start(StartableCloseableSafeLifecyleStrategy.java:40)
sonarqube_1      |      at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
sonarqube_1      |      at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
sonarqube_1      |      at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
sonarqube_1      |      at org.picocontainer.behaviors.Stored.start(Stored.java:110)
sonarqube_1      |      at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1016)
sonarqube_1      |      at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1009)
sonarqube_1      |      at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)
sonarqube_1      |      at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
sonarqube_1      |      at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)
sonarqube_1      |      at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:581)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:213)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl.startLevel34Containers(PlatformImpl.java:187)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl.access$500(PlatformImpl.java:46)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl$1.lambda$doRun$0(PlatformImpl.java:120)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.runIfNotAborted(PlatformImpl.java:370)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl$1.doRun(PlatformImpl.java:120)
sonarqube_1      |      at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.run(PlatformImpl.java:354)
sonarqube_1      |      at java.base/java.lang.Thread.run(Unknown Source)
sonarqube_1      | Caused by: org.sonar.auth.ldap.LdapException: Unable to open LDAP connection
sonarqube_1      |      at org.sonar.auth.ldap.LdapContextFactory.testConnection(LdapContextFactory.java:214)
sonarqube_1      |      at org.sonar.auth.ldap.LdapRealm.init(LdapRealm.java:63)
sonarqube_1      |      at org.sonar.server.user.SecurityRealmFactory.start(SecurityRealmFactory.java:87)
sonarqube_1      |      ... 19 common frames omitted
sonarqube_1      | Caused by: javax.naming.CommunicationException: Connection or outbound has closed
sonarqube_1      |      at java.naming/com.sun.jndi.ldap.LdapCtx.extendedOperation(Unknown Source)
sonarqube_1      |      at java.naming/javax.naming.ldap.InitialLdapContext.extendedOperation(Unknown Source)
sonarqube_1      |      at org.sonar.auth.ldap.LdapContextFactory.createInitialDirContext(LdapContextFactory.java:119)
sonarqube_1      |      at org.sonar.auth.ldap.LdapContextFactory.createBindContext(LdapContextFactory.java:95)
sonarqube_1      |      at org.sonar.auth.ldap.LdapContextFactory.testConnection(LdapContextFactory.java:210)
sonarqube_1      |      ... 21 common frames omitted
sonarqube_1      | Caused by: java.net.SocketException: Connection or outbound has closed
sonarqube_1      |      at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(Unknown Source)
sonarqube_1      |      at java.base/java.io.BufferedOutputStream.flushBuffer(Unknown Source)
sonarqube_1      |      at java.base/java.io.BufferedOutputStream.flush(Unknown Source)
sonarqube_1      |      at java.naming/com.sun.jndi.ldap.Connection.writeRequest(Unknown Source)
sonarqube_1      |      at java.naming/com.sun.jndi.ldap.Connection.writeRequest(Unknown Source)
sonarqube_1      |      at java.naming/com.sun.jndi.ldap.LdapClient.extendedOp(Unknown Source)
sonarqube_1      |      ... 26 common frames omitted
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.s.s.p.Platform] Background initialization of SonarQube done
sonarqube_1      | 2022.04.26 06:51:24 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.a.h.i.n.c.PoolingNHttpClientConnectionManager] Connection manager is shutting down
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.a.h.i.n.c.ManagedNHttpClientConnectionImpl] http-outgoing-0 127.0.0.1:43742<->127.0.0.1:9001[ACTIVE][r:r]: Close
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.a.h.i.n.c.InternalIODispatch] http-outgoing-0 [CLOSED]: Disconnected
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.a.h.i.n.c.PoolingNHttpClientConnectionManager] Connection manager shut down
sonarqube_1      | 2022.04.26 06:51:24 DEBUG web[][o.s.s.a.TomcatAccessLog] Tomcat is stopped
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [web]: 0
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] StopWatcher[web] tryToMoveTo web from STARTED to HARD_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] StopWatcher[web] tryToMoveTo web from HARD_STOPPING to FINALIZE_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 INFO  app[][o.s.a.SchedulerImpl] Process[web] is stopped
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] StopWatcher[web] tryToMoveTo web from FINALIZE_STOPPING to STOPPED => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.NodeLifecycle] HardStopper-0 tryToMoveTo from STARTING to HARD_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] HardStopper-0 tryToMoveTo ce from INIT to HARD_STOPPING => false
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] HardStopper-0 tryToMoveTo web from STOPPED to HARD_STOPPING => false
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] HardStopper-0 tryToMoveTo es from STARTED to HARD_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] HardStopper-0 tryToMoveTo es from HARD_STOPPING to FINALIZE_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] StopWatcher[es] tryToMoveTo es from FINALIZE_STOPPING to HARD_STOPPING => false
sonarqube_1      | 2022.04.26 06:51:24 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.NodeLifecycle] HardStopper-0 tryToMoveTo from HARD_STOPPING to FINALIZE_STOPPING => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.NodeLifecycle] HardStopper-0 tryToMoveTo from FINALIZE_STOPPING to STOPPED => true
sonarqube_1      | 2022.04.26 06:51:24 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.p.ManagedProcessLifecycle] HardStopper-0 tryToMoveTo es from FINALIZE_STOPPING to STOPPED => true
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.NodeLifecycle] HardStopper-0 tryToMoveTo from STOPPED to FINALIZE_STOPPING => false
sonarqube_1      | 2022.04.26 06:51:24 DEBUG app[][o.s.a.NodeLifecycle] Shutdown Hook tryToMoveTo from STOPPED to STOPPING => false

Hi,

You’ll need to troubleshoot your LDAP connection. Unfortunately, that’s not an area of expertise for this community.

 
:frowning:
Ann

Hi,

Also, this other thread may be useful:

 
HTH,
Ann