SVN切换LDAP(AD域)验证

2023-01-06T10:58:00

需求背景

为了最大可能整合公司内部系统,减少账户管理、密码管理成本,我决定将公司的SVN整合进AD域当中。

思路

查阅资料发现SVN的AD域整合一般是通过Apache来实现,把apache和svn绑定,然后通过Apache的ldap插件验证用户名密码,并且可以实现通过http访问svn仓库的需求,但是一些相关的教程都在五六年前,甚至十来年前,一些参数在新版本的apache上已经不再适用了,缺乏新资料,只能刻意安装旧版本来实现,安全性并不高。不符合最初始的需求。认真查找了一番,发现可以通过SASL验证方式来实现ldap整合,svn配置文件中默认就有#user-sasl = ture的相关注释,说明原生支持sasl。

实现步骤:

安装sasl

[root@localhost ~]yum update && yum install -y vim cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
#备份sasl配置
[root@localhost ~]cp /etc/sysconfig/saslauthd /etc/sysconfig/saslauthd.bak
#修改sasl验证方式
[root@localhost ~]sed -i -e 's/MECH=pam/MECH=ldap/' /etc/sysconfig/saslauthd
#配置sasl的ldap配置
[root@localhost ~]vim /etc/saslauthd.conf
ldap_servers: ldap://LDAP服务器    #可以是IP也可以是域名
ldap_default_domain:domain.com  #域名
ldap_search_base: DC=domain,DC=com    #具体允许访问的路径
ldap_bind_dn: cn=test,ou=test,DC=domain,DC=com    #也可以使用test@domain.com形式,或者是domain\test
ldap_password: XXXXXXX
ldap_deref: never
ldap_restart: yes
ldap_scope: sub
ldap_use_sasl: no
ldap_start_tls: no
ldap_version: 3
ldap_auth_method: bind
ldap_mech: DIGEST-MD5
ldap_filter:sAMAccountName=%u    #使用用户名作为验证方式
ldap_password_attr:userPassword
ldap_timeout: 10
ldap_cache_ttl: 30
dap_cache_mem: 32786

上面配置中的注释请记得删除

测试配置

[root@localhost ~]systemctl start saslauthd
[root@localhost ~]testsaslauthd -u AD用户 -p 密码
如果提示 0: OK "Success." 则说明验证成功
如果提示 0: NO "authentication failed" 说明验证失败,请检查配置文件是否有误、AD域防火墙是否拦截,如果ldap服务器是linux,检查下selinux是否关闭。
关闭防火墙:systemctl stop firewalld.service
临时关闭selinux:setenforce 0

新建sasl的svn配置文件

[root@localhost ~]#vim /etc/sasl2/svn.conf
pwcheck_method:saslauthd
mech_list:plain login

设置saslauthd服务开机自启

systemctl enable saslauthd

安装配置svn

[root@localhost ~]yum install -y subversion
#创建版本库
[root@localhost ~]svnadmin create /data/test
#编辑svno配置文件,启用sasl
[root@localhost ~]vim /data/test/conf/svnserve.conf
anon-access = none
auth-access = write
authz-db = authz
use-sasl = true
#设定用户权限
[root@localhost ~]vim /data/test/conf/authz
[test:/]
test = rw

启动svn

[root@localhost ~]svnserve -d --listen-port 3690 -r /data
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »