首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails 3和Spring安全LDAP未加密流量

Grails 3和Spring安全LDAP未加密流量
EN

Stack Overflow用户
提问于 2016-04-05 18:28:09
回答 2查看 393关注 0票数 1

我正在Tomcat 8上运行Grails 3应用程序。我开发的应用程序经过HTTPS,并使用grails spring安全LDAP插件进行身份验证。(插件提供的默认登录页面,没有自定义) Tomcat只启用HTTPS,HTTP被禁用。

我的application.groovy文件还包含用于spring安全性的以下代码:

代码语言:javascript
复制
grails.plugin.springsecurity.ldap.context.server = 'ldap://192.168.3.4:389/DC=MY_DOMAIN,DC=Net'
grails.plugin.springsecurity.password.algorithm = 'SHA-256'

(其他细节只是查询什么的配置参数,等等)

下面是我的测试场景:

我有一台Windows机器命中了应用程序,托管在Ubuntu机器上。ubuntu机器向AD ()计算机发出LDAP请求。供参考,以下是知识产权:

代码语言:javascript
复制
Windows Machine: 192.168.1.1
Tomcat Ubuntu Machine: 192.168.1.10
AD Machine: 192.168.3.4

监视来自.1 (windows机器)的TCP流量后,所有内容都被混淆,无法读取。当嗅探从.10到.4 (Tomcat )的数据包时,LDAP数据包是明文的。当然,我不认为这应该是这样的。是否需要在tomcat中执行其他步骤以确保ldap通信被加密?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-05 18:58:12

我一直在阅读这个职位,这使我们能够在ssl上运行LDAP本身。因此,我们的连接字符串将来自:

代码语言:javascript
复制
'ldap://192.168.3.4:389/DC=MY_DOMAIN,DC=Net'

代码语言:javascript
复制
'ldaps://192.168.3.4:636/DC=MY_DOMAIN,DC=Net'

注意,除此之外,还需要确保将根证书添加到Java中的信任列表中。对我来说,下面的命令似乎起了作用:

代码语言:javascript
复制
keytool -import -noprompt -trustcacerts -alias myAdCert -file /location_of_cert/adcert.cer -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
票数 1
EN

Stack Overflow用户

发布于 2016-04-05 18:57:11

您需要使用安全LDAP,它使用端口636和/或前缀ldaps://。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36434224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档