服务器登录账号不能切换,切换LDAP服务器后用户无法登陆

[简述你的问题]

在Web界面更改ldap配置后,除了LDAP地址外,其它参数配置不生效,造成用户无法登陆

使用版本

[请提供你使用的Jumpserver版本 1.x.x 注: 0.3.x不再提供支持]

1.4.4

系统是CentOS7.5

Python 3.6.7

问题复现步骤

1.我们早期使用的是自建的openldap服务器,配置参数如下

LDAP地址:ldap://10.xx.xx.xxx:389

绑定DN:uid=ldapusr,cn=users,cn=accounts,dc=company,dc=org123

密码:xxxxx

用户OU:dc=company,dc=org123

用户过滤器:(uid=%(user)s)

LDAP属性映射:{"username": "uid", "name": "cn", "email": "mail"}

2。 配置一直使用正常大半年,经历多次版本升级到1.4.4

后来为了管理方便,准备接入Windows AD,随即修改了LDAP认证参数如下:

LDAP地址:ldap://10.xx.xxx.xxx:389

绑定DN:CN=ldap02,OU=Pub,OU=XXX,DC=company,DC=org456

密码:xxxxx

用户OU:OU=部门3,OU=部门2,OU=部门1,DC=company,DC=org456

用户过滤器:(sAMAccountName=%(user)s)

LDAP属性映射:{"username": "sAMAccountName", "name": "cn", "email": "mail"}

3.Windows AD中的用户名和openldap里面的用户名是一致的,修改完成后,测试连接可以正常返回匹配用户数,执行./jms restart all,发现用户无法登陆,登陆日志

显示原因为“用户名/密码 校验失败”,使用tcpdump命令在网卡上抓包后发现,Jumpserver虽然在和WindowsAD通信,但仍然在使用原来和openldap对接的用户OU和用户过滤器参数,也就是说除了LDAP地址外,其他的参数修改后没有正常生效。

4.尝试重启Jumpserver所在的虚拟机,重新拉起各个组件,未能解决问题

具体表现[截图可能会更好些,最好能截全]

修改LDAP配置时产生的日志:

2018-12-13 15:37:44 [signals_handler DEBUG] Receive django ready signal

2018-12-13 15:37:44 [signals_handler DEBUG] - fresh all settings

2018-12-13 15:37:44 [signals_handler DEBUG] Receive django ready signal

2018-12-13 15:37:44 [signals_handler DEBUG] Receive django ready signal

2018-12-13 15:37:44 [signals_handler DEBUG] - fresh all settings

2018-12-13 15:37:44 [signals_handler DEBUG] - fresh all settings

2018-12-13 15:37:44 [signals_handler DEBUG] Receive django ready signal

2018-12-13 15:37:44 [signals_handler DEBUG] - fresh all settings

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_SERVER_URI

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_BIND_DN

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_BIND_PASSWORD

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_SEARCH_OU

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_SEARCH_FILTER

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP_USER_ATTR_MAP

2018-12-13 15:42:01 [signals_handler DEBUG] Receive setting item change

2018-12-13 15:42:01 [signals_handler DEBUG] - refresh setting: AUTH_LDAP

2018-12-13 15:42:01 [signals_handler DEBUG] Enable LDAP auth

用户登录失败时没有日志产生

其他

[注:] 完成后请关闭 issue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是在CentOS 7上配置Apache服务器通过LDAP进行用户认证的步骤: 1. 安装Apache和mod_authnz_ldap模块: ``` sudo yum install httpd mod_authnz_ldap ``` 2. 修改Apache配置文件,启用LDAP模块: ``` sudo vim /etc/httpd/conf/httpd.conf ``` 找到以下行并取消注释(去掉前面的#): ``` LoadModule authnz_ldap_module modules/mod_authnz_ldap.so ``` 3. 配置LDAP连接信息: 在Apache的配置文件中添加以下内容: ``` LDAPTrustedGlobalCert CA_BASE64 /etc/pki/tls/certs/ca-bundle.crt LDAPVerifyServerCert off <Location /secure> AuthType Basic AuthName "LDAP Authentication" AuthBasicProvider ldap AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?cn" AuthLDAPBindDN "cn=admin,dc=example,dc=com" AuthLDAPBindPassword "password" Require valid-user </Location> ``` 说明: - `LDAPTrustedGlobalCert`:指定SSL/TLS连接时使用的证书。 - `LDAPVerifyServerCert`:是否验证LDAP服务器的证书。开启验证可以提高安全性,但需要正确配置证书。 - `Location`:指定需要进行LDAP认证的URL路径。 - `AuthType`:指定认证类型为Basic。 - `AuthName`:指定认证名称。 - `AuthBasicProvider`:指定使用LDAP进行认证。 - `AuthLDAPURL`:指定LDAP服务器的地址和搜索条件。 - `AuthLDAPBindDN`:LDAP服务器的管理员账号。 - `AuthLDAPBindPassword`:LDAP服务器的管理员密码。 - `Require`:指定需要认证的用户。 4. 重启Apache服务器: ``` sudo systemctl restart httpd ``` 现在,您可以通过访问配置的URL路径来进行LDAP认证。如果认证成功,用户将可以访问受保护的内容。 ### 回答2: 在CentOS 7上配置Apache服务器通过LDAP进行用户认证需要以下步骤: 1. 安装和配置LDAP服务器:首先,需要安装和配置一个LDAP服务器,例如OpenLDAP。你可以使用以下命令安装OpenLDAP: sudo yum install openldap-servers openldap-clients 安装完成后,你需要配置LDAP服务器的基本设置,并创建一个LDAP用户和组。 2. 配置Apache服务器:在安装和配置LDAP服务器后,你需要在Apache服务器上进行一些配置。你可以使用以下命令安装Apache服务器: sudo yum install httpd 安装完成后,在Apache的配置文件`httpd.conf`中进行一些设置。你需要启用LDAP模块并指定LDAP服务器的地址和端口。例如: LoadModule authnz_ldap_module modules/mod_authnz_ldap.so <Location "/"> AuthName "LDAP Authentication" AuthType Basic AuthBasicProvider ldap AuthLDAPURL "ldap://ldap.example.com:389/dc=example,dc=com?uid?sub?(objectClass=*)" AuthLDAPBindDN "cn=admin,dc=example,dc=com" AuthLDAPBindPassword "password" Require valid-user </Location> 在以上配置中,你需要根据你实际的LDAP服务器地址和认证需求进行相应的修改。例如,`ldap.example.com`是LDAP服务器的域名,`dc=example,dc=com`是LDAP服务器的根目录,`AuthLDAPBindDN`是一个具有读取LDAP目录的管理员账号。 3. 重启Apache服务器:在完成以上配置后,你需要重启Apache服务器使其生效。你可以使用以下命令重启服务器: sudo systemctl restart httpd 注意确保没有任何错误信息。 4. 进行LDAP用户认证:现在你可以通过访问Apache服务器来进行LDAP用户认证。当访问需要认证的网页时,你将被提示输入用户名和密码。这些用户信息将会与LDAP服务器进行比对,如果认证成功,则可以访问受限资源。 通过以上步骤,在CentOS 7上配置Apache服务器通过LDAP进行用户认证。请确保设置正确并保护好服务器LDAP的凭证,以确保安全性。 ### 回答3: 在CentOS 7上配置Apache服务器通过LDAP进行用户认证,需要以下步骤: 1. 安装Apache服务器:在CentOS 7上安装Apache服务器,可以使用以下命令: ``` sudo yum install httpd ``` 2. 配置LDAP模块:安装LDAP模块以启用用户认证功能。使用以下命令安装LDAP模块: ``` sudo yum install mod_ldap ``` 3. 配置LDAP服务器信息:在Apache配置文件中,找到`httpd.conf`文件并打开进行编辑。添加以下内容来配置LDAP服务器信息: ``` LDAPTrustedGlobalCert CERT_BASE64 /etc/ssl/certs/ca-certificates.crt LDAPVerifyServerCert on <Location "/"> AuthType Basic AuthName "LDAP Authentication" AuthBasicProvider ldap AuthLDAPURL ldap://ldap.example.com/o=example?uid AuthLDAPBindDN "cn=admin,dc=example,dc=com" AuthLDAPBindPassword "password" Require valid-user </Location> ``` 4. 重启Apache服务器:保存配置文件并重启Apache服务器使其生效。使用以下命令重启Apache服务器: ``` sudo systemctl restart httpd ``` 以上是在CentOS 7上配置Apache服务器通过LDAP进行用户认证的步骤。请根据你的LDAP服务器信息和需求进行相应的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值