zabbix配置ldap认证

环境:
centos6.6
zabbix3.0.3
域控服务器:windows-active server 2008

需求:
公司越来越大,人越来越多,配置人员的账号密码很麻烦。
为了集中管理,整合公司的用户密码,所以把zabbix系统也通过域认证登录。

描述:
LDAP 的作用:通过LDAP验证,将zabbix 和windows 域控联系在一起,只有域控中有的用户才能登录zabbix

依赖:
zabbix配置ldap认证需要zabbix server这个服务器的php安装ldap插件。
服务器执行命令:
php -m|grep ldap
如果有输出 说明安装了,否则需要单独安装。

如果需要细节,可以先看方法一配置。
# 方法一可以帮助你理解zabbix的ldap认证过程。
建议实际配置的时候看方法二进行配置。

###################################################################################################################

方法一:通过zabbix管理员配置,需要知道域控的同名Admin账号的账号密码,如果没有该账号还需要创建账号,很不方便。

###################################################################################################################
方法一:
系统管理员直接配置
通过Admin用户登录zabbix的web页面,点击Administrator,点击Authentication,点击LDAP
然后填写相关配置信息
配置界面:
zabbix配置ldap认证_第1张图片
注意:
LDAP host :域控ip #例10.12.3.30
Port :端口 # 默认不要动,你可以telnet 域控ip 这个端口是否通
Base DN :OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmigongsi,DC=com,DC=cn       #这里就是base域,定义域控的范围
Search attribute : sAMAccountName   #域控服务器里面有该字段             
Bind DN : CN=张三,OU=运维技术部,OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmigongsi,DC=com,DC=cn #此处 “张三” 为一个域账号(你在配置的时候用任意域控账号都可以,我是直接用自己的域账号,因为我叫张三,哈哈)
Bind password :张三对应的域账号密码 #我的图 显示change password ,是因为我已经验证通过
Login :Admin #这里显示的帐号是当前浏览器登录zabbix的用户,我是用Admin用户在配置,所以这里显示的是Admin用户,如果你也是通过Admin用户添加的,则你的域控服务器中需要有同名的Admin这个域账号,否则会配置失败。
#此处建议你把你自己的域账号“张三”也设置成超级管理员,然后登录“张三”配置ldap认证,这样就不用在域控中添加Admin用户了,因为此时Login显示的就是张三这个用户了。
User password: 这里填写的是Login处的这个账号对应的域控中的这个账号的密码 #在域控中Admin用户 的密码

然后Test 就可以看到 测试成功的返回信息
然后点击Update 就设置完毕了。

这里有一个至关重要的一个说明,如果你想域控中已有的帐号登录zabbix ,就必须手动在zabbix 新建一个域里面的同名帐号
建议通过数据库的方式直接导入域控账号。
##################################################################################################################


方法2:
简单靠谱的方式配置:
准备工作:
1.公司里面我的域控账号叫张三,有权限访问域控
2.在zabbix平台添加了该同名账号,而且设置为了超级管理员。
3.通过超级管理员张三配置域控登录。(注意如果php服务没有安装ldap扩展是会配置失败的,开始卡了很久就是不知道是这个问题)
zabbix配置ldap认证_第2张图片
注意:
LDAP host :10.12.3.30
Port :389
Base DN :OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmigongsi,DC=com,DC=cn
Search attribute : sAMAccountName       
Bind DN : CN=张三,OU=运维技术部,OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmigongsi,DC=com,DC=cn
Bind password :张三的域账号密码
Login :张三 #这里显示的帐号是当前浏览器登录zabbix的用户,我是用“张三”用户在配置,所以这里显示的是张三
User password: 张三的域账号密码

然后Test 就可以看到 测试成功的返回信息
然后点击Update 就设置完毕了。

这里有一个至关重要的一个说明,如果你想域控中已有的帐号登录zabbix ,就必须手动在zabbix 新建一个域里面的同名帐号。
###########################################################################################################
建议通过数据库的方式直接导入域控账号。
插入用户的SQL如下:
insert into users(userid,name,alias) values ('%s','%s','%s');" % (n,$name,$name)

需要用到组管理的话,可以组的映射信息

插入关联用户组的SQL:
"insert into users_groups (id,usrgrpid,userid) values ('%s','%s','%s');" % (n,grouplist[group_name],userlist[name])
users           用户表
users_groups    用户组的表
usrgrp          用户-组,映射关系表

#ldap查询命令,获取用户的用户名,和组名
# 先从ldap服务器把用户数据导入文件
 ldapsearch -x -LLL   -D "CN=张三,OU=运维技术部,OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmi,DC=com,DC=cn"   -b "OU=运维技术部,OU=信息技术中心,OU=神秘公司,DC=corp,DC=shenmi,DC=com,DC=cn"   givenName  -H ldap://10.12.3.30:389 -w asdfasdfa sAMAccountName | egrep -v '^$|givenName' 

你可能感兴趣的:(zabbix配置ldap认证)