Joh*_*ohn 5 security ssl active-directory ssl-certificate tls
我们正在开发一个 web 项目,我们需要能够绑定到活动目录域,然后将用户的凭据传递到域,以确保用户在我们允许他们访问我们的一个 web 应用程序之前已成功通过身份验证。我们的 HTTPS 工作正常,前端可以接受凭据。我们遇到的问题是我们的服务器和活动目录服务器之间的连接。Active Directory 服务器由我们 IT 部门的不同部门维护,我们无权访问它。此活动目录服务器使用自签名证书,并且没有完全限定的域名(即 people.local)。
我读过很多地方谈论将 TLS_REQCERT 变量设置为 never;但是,我担心中间人攻击,并且不喜欢以这种方式设置设置。我也读过一些文章,讲到可以从 Linux 命令行查询活动目录服务器,查看自签名证书,将自签名证书保存到本地 Linux 服务器,然后使用此证书进行信任这样您就不必将 TLS_REQCERT 设置为 never。我不确定如何从 Linux 命令行查看和保存自签名证书。我有一些我们正在运行的 CentOS 服务器,我们需要使其运行。
您能提供的任何帮助将不胜感激。提前致谢。
我读过很多地方谈论将 TLS_REQCERT 变量设置为 never;但是,我担心中间人攻击,并且不喜欢以这种方式设置设置。
您对安全性的思考和对设置 TLS_REQCERT 的含义的理解都值得称赞。
我还阅读了一些文章,这些文章谈论能够从 Linux 命令行查询活动目录服务器、查看自签名证书、将自签名证书保存到本地 Linux 服务器......
您可以使用该openssl
工具执行此操作。假设您可以通过端口 636 上的 LDAP-over-SSL 访问 Active Directory,您可以这样做:
openssl s_client -connect server.example.com:636 > output < /dev/null
Run Code Online (Sandbox Code Playgroud)
当命令完成时,您会发现输出包含 PEM 编码的证书等内容:
00000003)
---
Certificate chain
0 s:/CN=dc1.example.com
i:/DC=com/DC=example/DC=dc1/CN=example-DC1-CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGjDCCBXSgAwIBAgIKOxasfwAAAAAADDANBgkqhkiG9w0BAQUFADBaMRMwEQYK
...
-----END CERTIFICATE-----
...
Run Code Online (Sandbox Code Playgroud)
您可以删除该BEGIN CERTIFICATE
行之前的所有内容END CERTIFICATE LINE
以及该行之后的所有内容,您应该拥有所需的内容。
AD 服务器也可能没有使用自签名证书,而是使用 AD 证书颁发机构颁发的证书。如果是这种情况,向 AD 人员询问 CA 证书可能更容易。
归档时间: |
|
查看次数: |
4640 次 |
最近记录: |