gpt4 book ai didi

linux - apache 双向 ssl 身份验证与 kerberos

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:14 25 4
gpt4 key购买 nike

我正在尝试将 apache 配置为首先通过双向 SSL 握手进行身份验证,然后 mod_auth_kerberos 启动,一切正常..后端是 freeIPA。

但是我想将用户限制为 SSL_CLIENT_S_DN_CN 并且不对任何其他有效的 kerberos 用户进行身份验证

这是虚拟主机配置,

LoadModule auth_kerb_module modules/mod_auth_kerb.so
LoadModule dumpio_module modules/mod_dumpio.so
LoadModule ssl_module modules/mod_ssl.so

Listen 443


<VirtualHost *:443>
ServerAdmin web01.server.hostingprovider.com
DocumentRoot "/var/www/html"
ServerName myserver.name
SSLEngine on
SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
SSLHonorCipherOrder on
SSLCertificateFile /etc/httpd/ssl/server-cert.pem
SSLCertificateKeyFile /etc/httpd/ssl/private/server-key.pem

SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile /etc/httpd/ssl/cacert.pem

LogLevel debug
DumpIOInput On
DumpIOOutput On
ScriptAlias /application /var/www/app.cgi
ErrorLog "logs/app01-error.log"
CustomLog "logs/app01-access_log" common

<Location />
SSLUserName SSL_CLIENT_S_DN_CN
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd On
KrbAuthRealms MYREALM.COM
Krb5KeyTab /etc/security/keytabs/spnego.service.keytab
require valid-user
</Location>


</VirtualHost>

我已经用 SSLRequire 试过了,这对用户“krisdigitx”很好用,但它也允许其他 kerberos 用户使用相同的证书进行身份验证。

SSLRequire (%{SSL_CLIENT_S_DN_CN} eq "krisdigitx")
  1. 如何创建数据库,即

SSLRequire (%{SSL_CLIENT_S_DN_CN} eq "来自一些数据库")

应该与数据库中的用户匹配然后允许访问吗?

  1. 如何匹配第一步验证的用户并只允许他通过 kerberos 身份验证?

最佳答案

请参阅 Web App Authentication 的一般指南使用 FreeIPA。您正在尝试做的事情很复杂(请参阅下面的答案)并且有更好的方法来限制对特定用户或组的访问,例如使用 HBAC 规则和 mod_authnz_pam

现在,进入答案:

  1. 根据 SSLRequire documentation只有文字,mod_ssl environment variables file 扩展函数可以用在匹配表达式中。几乎不可能实现您想要的(假设您可以使用 FUSE 或类似技术将数据库查询的结果呈现为文件)。

  2. 如果 SSLRequire 指令不匹配,访问将被拒绝,因此不需要额外的处理来将 Kerberos 身份验证限制为仅匹配的用户。

    <

关于linux - apache 双向 ssl 身份验证与 kerberos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28990238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com