首页 文章

Samba4 / LDAP身份验证和nginx

提问于
浏览
0

在我开始解决问题之前:我有一个受反向代理(nginx)保护的网站 . 因此不允许客户直接连接到网站 . 它必须连接到nginx,然后nginx显示网站的内容 .

现在我想添加更多“安全”功能 . 我安装了samba4,因为它可用作AD DC,并希望使用LDAP(包含在samba4中?)来验证试图访问该网站的客户端 . 因此,在客户端实际可以看到网站之前,它必须连接到nginx,然后对自身进行身份验证(使用LDAP凭据),然后它就可以查看网站内容 .

我使用模块ldap_http_authentication配置了nginx(参见下面的配置),它正在运行 . 当客户端尝试查看我需要使用某些LDAP凭据登录的网站时,但是当我尝试对客户端进行身份验证时,它就无法正常工作 . 它说LDAP凭据是错误的 . 当LDAP附带samba时,如何添加LDAP用户?我只是不知道要使用哪些凭据 . 我将一些用户添加到像“test”这样的samba中,并试图使用他们的凭据进行身份验证,但是它们不能正常工作 . 那么我必须使用哪些凭据用于“binddn”和“binddn_passwd”?我在哪里创建或获取它们?

我的nginx ldap配置:

ldap_server adds {
    url "ldap://192.168.50.131/dc=test,dc=dom?sAMAccountName?sub?";
    binddn "TEST\\USERNAME";
    binddn_passwd "password";
    connect_timeout 5s;
    bind_timeout 5s;
    request_timeout 5s;
    require valid_user;
    satisfy any;
     }

谢谢!

编辑:我试图用命令添加一些用户:

ldapadd -x -D cn=admin,dc=test,dc=dom -W -f add_user.ldif

但它只返回:“输入LDAP密码:ldap_bind:需要强(呃)认证(8)附加信息:BindSimple:需要传输加密 . ”

顺便说一句:我从未设置过LDAP密码,我刚刚安装了samba4 . 就这样!

1 回答

  • 1

    默认情况下,samba4需要start_tls .

    首先,您应该尝试将网址切换为ldaps://

    然后你需要:

    • 如果您没有经过认证的证书

    ssl_check_cert off

    • tls事务的证书

    ssl_ca_file /etc/pki/tls/certs/whatever.crt

    对于ldapXXXXX命令,您需要-Z开关

    您还需要检查ldap.conf文件是否包含URI和BASE:

    URI ldaps://ldap.server.com
    BASE "dc=domain,dc=example,dc=com"
    

    您还需要以下2个:

    • tls事务的客户端证书

    TLS_CACERT=/etc/pki/tls/certs/whatever.crt

    • 如果证书无效,该怎么办

    TLS_REQCERT allow

相关问题