红联Linux门户
Linux帮助

FreeBSD下利用ACI/SSL安全使用OpenLDAP

发布时间:2006-03-10 00:39:52来源:红联作者:uu
一、使用访问控制(Access Control),实现用户认证
  
  关于它,在OpenLDAP 2.1 Administrator's Guide里有详细说明。这里只管应用。
  
  修改OpenLDAP的配置文件,增加控制块
  
  access to attr=userPassword
  by anonymous auth
  by self write
  by * none
  
  access to *
  by self write
  by users read[/quote]
  
  此控制块用于禁止匿名查询,而认证用户可以修改自己的所有属性,允许查询它人的信息条目,但除了userPassword属性。基本上上面的每一行都是必须的,经过反复删除恢复,终于对访问控制块的认识有了质的飞跃。特别是对于“by anonymous auth”的理解,没有了它,需要认证的用户不能完成认证,因为它查询不到密码呀!所以“auth”在这里的作用就是允许匿名用户可以读到密码,但只能用于验证,而不能用于其它的用途,这就保证了密码属性的安全。
  
  重启ldap服务
  
  
引用:
# /usr/local/etc/rc.d/slapd.sh restart

  
  查询测试
  
  1、如果还使用LDAP Browser 2.6的话,这次就可以使用其它的用户bind了,如使用用户:
  
  uid=abc,ou=people,dc=example,dc=com
  
  它的密码是:abcabc(见前面的例子)
  
  2、在命令行完成
  
  # ldapsearch -x -b 'dc=example,dc=com' 'objectClass=*'
  
  匿名查询结果:(显然没有任何条目)
  
  
引用:
# extended LDIF
  #
  # LDAPv3
  # base with scope sub
  # filter: objectClass=*
  # requesting: ALL
  #
  
  # search result
  search: 2
  result: 0 Success
  
  # numResponses: 1
  
  # ldapsearch -x -b 'dc=example,dc=com' -D 'uid=abc,ou=people,dc=example,dc=com' -w abcabc 'uid=a*'

  
  通过指定用户查询的结果:
  
  
引用:
# extended LDIF
  #
  # LDAPv3
  # base with scope sub
  # filter: uid=a*
  # requesting: ALL
  #
  
  dn: uid=abc,ou=people,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  uid: abc
  sn: zhangs
  cn: zs
  userPassword:: YWJjYWJj
  
  dn: uid=aaa,ou=people,dc=example,dc=com
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  uid: aaa
  sn: aaaa
  cn:: YWFkQSA=
  
  # search result
  search: 2
  result: 0 Success
  
  # numResponses: 3
  # numEntries: 2

  
  如果过滤条件还是用'objectClass=*'的话,产生的条目数很多,所以这里就必为了'uid=a*'。从结果中我们可以看到“uid=abc,ou=people,dc=example,dc=com”的userPassword属性显示了出来,而另一个用户则没有显示。上面执行的命令中红色部分分别是查询时使用的用户名和密码,其中密码就是条目“uid=abc,ou=people,dc=example,dc=com”中所存放的userPassword的值。
  
  二、使用SSL/TLS
  
  通过认证授权(Certificate Authority)中心发行的证书签发证书或自签发证书,这里用的是自签发证书。
文章评论

共有 0 条评论