2016-04-16 13 views
2

ドッカーハブのデフォルトイメージを使用して、ドッカーコンテナ内でSonarqubeを実行しています。 Sonarqubeはうまくいきます。私は現在、システムログイン用にLDAPSを使用していますが、動作させることはできません。私はcentos:最新のコンテナを作ってそこで走っているソナークベを持っています。私はこれを行ってldapsearch、vim、telnet、update-caなどを持つことができました。私はopensslを使ってサーバー証明書を追加しました。私はldapsearchのでテストされ、次は成功する:ここではSonarqube Dockerコンテナのログイン用LDAPSの設定に問題があります

[[email protected] linux-x86-64]# ldapsearch -x -LLL -H ldaps://dir.example.com -b "dc=example,dc=com" -D "uid=svcSonar,ou=SvcAccts,ou=People,dc=example,dc=com" -W '(uid=usernamehere)' cn 
Enter LDAP Password: ****** 
dn: uid=usernamehere,ou=Users,ou=People,dc=example,dc=com 
cn: User Name 

はsonar.propertiesの私の関連するLDAP構成である:ここで

sonar.security.realm=LDAP 
ldap.url=ldaps://dir.example.com 
ldap.bindDN=uid=svcSonar,ou=SvcAccts,ou=People,dc=example,dc=com 
ldap.bindPassword=mypassword 
ldap.user.baseDn=ou=Users,ou=People,dc=example,dc=com 
ldap.user.request=(uid={login}) 

はTRACEとDEBUGとの関連sonar.logエントリである上:

2016.04.15 16:32:35 INFO web[o.s.s.p.ServerPluginRepository] Deploy plugin LDAP/1.5.1/8960e08512a3d3ec4d9cf16c4c2c95017b5b7ec5 
2016.04.15 20:19:07 INFO web[org.sonar.INFO] Security realm: LDAP 
2016.04.15 20:19:07 INFO web[o.s.p.l.LdapSettingsManager] User mapping: LdapUserMapping{baseDn=ou=Users,ou=People,dc=example,dc=com, request=(uid={0}), realNameAttribute=cn, emailAttribute=mail} 
2016.04.15 20:19:07 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldaps://dir.example.com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.pool=true, java.naming.security.authentication=simple, java.naming.referral=follow} 
2016.04.15 20:19:07 INFO web[o.s.p.l.LdapContextFactory] Test LDAP connection on ldaps://dir.example.com: OK 
2016.04.15 20:19:07 INFO web[org.sonar.INFO] Security realm started 
. 
. 
. 
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapUsersProvider] Requesting details for user usernamehere 
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapSearch] Search: LdapSearch{baseDn=ou=Users,ou=People,dc=example,dc=com, scope=s 
ubtree, request=(uid={0}), parameters=[usernamehere], attributes=[mail, cn]} 
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldaps://di 
r.example.com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.pool=true, java.na 
ming.security.authentication=simple, java.naming.referral=follow} 
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapUsersProvider] User usernamehere not found in <default> 

私は、証明書のために、以下のなかった:

echo "" | openssl s_client -connect server:port -prexit 2>/dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ldap.pem 
update-ca-trust force-enable 
cp ldap.pem /etc/pki/ca-trust/source/anchors/ 
update-ca-trust extract 

また、keytoolを使用してSonarqubeが使用しているjreのJava cacertsにldap.pemを追加しました。

アイデア?

+0

あなたは 'openssl s_client -connectで試すことができますか? -showcerts/dev/null | openssl x509 -outform PEM |ダウンロードsudo tee/etc/pki/ca-trust/source/anchors/ .crt'? ( ''と ''を正しい値に置き換えてください)。証明書を ' .crt'(' ldap.pem'ではなく)としてコピーします。その後、 'update-ca-trust'。 – VonC

+0

上記の結果と同じ結果が得られました:[root @ bf9accb5647dアンカー]#ls -ltr 合計8 -rw-r - r-- 1ルートルート3286 Apr 15 16:37 ldap.crt -rw-r --r-- 1 root root 1643 Apr 18 13:59 dir.example.com.crt [root @ bf9accb5647dアンカー]#update-ca-trust force-enable [root @ bf9accb5647dアンカー]#update-ca-trust extract –

+0

あなたのシステムに '/ etc/ssl/certs/ca-certificates.crt'がありますか? – VonC

答えて

1

問題が見つかりました。 ldap.bindDNをldap.bindDnに変更する必要がありました。 :)

+0

よく目に付き、良いフィードバックです。 +1 – VonC

関連する問題