设为首页 收藏本站
查看: 2888|回复: 0

[经验分享] ldap+ssl

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2015-12-31 08:36:51 | 显示全部楼层 |阅读模式
一.基本环境:
   
ldap server:   192.168.8.236 Centos6.5_x86_64
   
ldap client1:  192.168.8.237 Centos6.5_x86_64
   
ldap client2:  192.168.8.238 Centos5.4_x86_64
二.安装ldap server:
  2.1 安装ldapserver
   
# yum install -y vim automake autoconf gcc xz ncurses-devel \
   
  patch python-devel git python-pip gcc-c++  
# 安装基本环境,后面依赖
   
# yum install -y openldap openldap-servers openldap-clients openldap-devel

  2.2 准备配置文件
   
# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
   
  ## 该文件是slapd的配置文件
   
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
   
  ## 数据库的配置文件

  2.3 修改配置文件# vim /etc/openldap/slapd.conf
    ...
   
loglevel        1
    ...
   
allow bind_v2
   
disallow bind_anon
    ...
   
TLSCACertificatePath /etc/openldap/cacerts/cacert.pem
   
TLSCertificateFile /etc/openldap/cacerts/server.cert
   
TLSCertificateKeyFile /etc/openldap/cacerts/server.key
   
TLSVerifyClient allow
    ...
   
access to *
   
by dn.exact="uid=jumpserver,ou=People,dc=jumpserver,dc=org" read
   
by * none
    ...
   
suffix          "dc=jumpserver,dc=org"
   
rootdn          "cn=admin,dc=jumpserver,dc=org"
   
rootpw          secret234
    ...
    #说明:
   
loglevel: 设置日志级别  suffix:其实就是BaseDN
   
disallow: 关闭匿名查询
   
TLS*: 设置证书文件路径
   
access: 设置ACL策略,允许uid为jumpserver的cn读取ldap信息
   
rootdn: 超级管理员的dn
   
rootpw: 超级管理员的密码

  2.4 修改系统日志配置文件
   
# vim /etc/rsyslog.conf
   
  local4.*          /var/log/ldap.log
   
  # local7.*下添加一行
   
# service rsyslog restart

  2.5 建立CA及生成服务端证书
   
2.5.1 安装openssl
   
  
# yum -y install openssl openssl-devel openssl-perl
   
2.5.2 生成ca证书  
   
  # rm -rf /etc/pki/CA/*  
   
  # cd /etc/pki/tls/misc
      
# ./CA.pl -newca

图片:1.png

3_47_7e1ddbd43bf0d0b.jpg

2.5.3 生成ldap server证书  

   
  # ./CA.pl -newreq-nodes
图片:2.png

3_47_d025089839e0d5c.jpg

2.5.4 为ldap server证书签名  

   
  # ./CA.pl -sign

图片:3.png

3_47_64ff0a471140378.jpg

2.5.5 更改证书名字,移至配置路径,修改权限  
   
  # mv newcert.pem server.cert
   
  # mv newkey.pem server.key
   
  # mkdir /etc/openldap/cacerts
   
  # mv server* /etc/openldap/cacerts/
   
  # cp ../../CA/cacert.pem /etc/openldap/cacerts
   
  # cd /etc/openldap/cacerts
   
  # chown ldap.ldap *
      
# chmod 644 server.cert
   
  # chmod 600 server.key

   
2.6 启动slapd, 查看启动情况
   
  # service slapd start
   
  # rm -rf /etc/openldap/slapd.d/*
   
  
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
   
  # chown -R ldap:ldap /etc/openldap/slapd.d/
   
  # service slapd restart
   
  # netstat -tulnp | grep slapd
   
    #说明:第一次启动生会初始化ldap数据库,在/var/lib/ldap中,如果想删除ldap数据库就删除该目录,保留DB_CONFIG配置文件。新版的ldap使用的是/etc/openldap/slapd.d 下的配置文件,删除原来的配置文件,slaptest是重新生成新的配置文件

   
2.7 导入ldif数据库框架和测试用户,可以使用migrationtools导出框架,也可以用我导出好的.
   
  base.ldif,group.ldif,passwd.ldif 将其中的dc=jumpserver,dc=org替换成你的baseDN,然后导入,密码是rootpw设置的 secret234  这些文件百度云中下载  http://pan.baidu.com/s/1i3kne6p
   
  
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f base.ldif
   
  
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f group.ldif
   
  
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f passwd.ldif
   
    #说明:测试用户是testuser, 密码是testuser123
   
          acl用户是jumpserver, 密码是jumpserver234

三.安装ldap client:

--- CentOS6设置 ---
  2.1 安装LDAP客户端
   
# yum -y install openldap openldap-clients nss-pam-ldapd pam_ldap
  2.2 设置自动创建目录
   
# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth
  2.3 把服务器端证书通过scp至客户端:
   
# scp 192.168.8.237:/etc/openldap/cacerts/cacert.pem /etc/openldap/cacerts/cacert.pem
  2.3 备份原来authconfig,然后设置使用LDAP认证
   
# authconfig --savebackup=auth.bak
   
# authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --enableldaptls --enableldapstarttls --disablesssd --disablesssdauth --ldapserver=ldap.jumpserver.org --ldapbasedn="dc=jumpserver,dc=org" --update
  2.4 修改/etc/nslcd.conf:
   
    uid nslcd
   
    gid ldap
   
    uri ldaps://ldap.jumpserver.org/
   
    base dc=jumpserver,dc=org
   
    ssl on
   
    binddn uid=jumpserver,ou=People,dc=jumpserver,dc=org
   
    bindpw jumpserver234
   
    tls_cacertdir /etc/openldap/cacerts

   
  修改/etc/pam_ldap.conf:
   
    base dc=jumpserver,dc=org
   
    uri ldaps://ldap.jumpserver.org
   
    ssl on
   
    binddn uid=jumpserver,ou=People,dc=jumpserver,dc=org
   
    bindpw jumpserver234
   
    tls_cacertdir /etc/openldap/cacerts
   
    pam_password md5

   
  修改/etc/openldap/ldap.conf:
   
    TLS_REQCERT allow
   
    TLS_CACERT /etc/openldap/cacerts/cacert.pem
   
    TLS_CACERTDIR /etc/openldap/cacerts
   
    URI ldaps://ldap.jumpserver.org/
   
    BASE dc=jumpserver,dc=org

   
  修改/etc/sudo-ldap.conf:
   
    uri ldaps://ldap.jumpserver.org
      
  binddn uid=jumpserver,ou=People,dc=jumpserver,dc=org
   
    bindpw jumpserver234
   
    Sudoers_base ou=Sudoers,dc=jumpserver,dc=org  

   
  重启nslcd服务 /etc/init.d/nslcd restart
   
  添加开机启动  chkconfig nslcd on


--- CentOS5设置 ---
  2.1 安装LDAP客户端
   
# yum -y install openldap openldap-clients nss_ldap
  2.2 设置自动创建目录
   
# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth
   
# scp cacert.pem 192.168.8.237:/tmp/
  2.3 把服务器端证书通过scp传至客户端:
   
# scp 192.168.8.237:/etc/openldap/cacerts/cacert.pem /etc/openldap/cacerts/cacert.pem
  2.3 设置使用LDAP认证
   
# authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=ldap.jumpserver.org --ldapbasedn="dc=jumpserver,dc=org" --update
  2.4 修改/etc/ldap.conf:
   
    base dc=jumpserver,dc=org
   
    timelimit 120
   
    bind_timelimit 120
   
    idle_timelimit 3600
   
   
nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm,mysql,nagios,zabbix,admin
   
    uri ldaps://ldap.jumpserver.org/
   
    ssl on
   
    binddn uid=jumpserver,ou=People,dc=jumpserver,dc=org
   
    bindpw jumpserver234
   
    tls_cacertdir /etc/openldap/cacerts
   
    pam_password md5
   
    Sudoers_base ou=Sudoers,dc=jumpserver,dc=org

   
  修改/etc/openldap/ldap.conf:
   
    TLS_REQCERT allow
   
    TLS_CACERT /etc/openldap/cacerts/cacert.pem
   
    TLS_CACERTDIR /etc/openldap/cacerts
   
    URI ldaps://ldap.jumpserver.org/
   
    BASE dc=jumpserver,dc=org

   
  重启nscd服务 /etc/init.d/nscd restart
   
  添加开机启动  chkconfig nscd on

  2.4 从jumpserver连接testuser测试

   
# 密码是testuser123 如果连接成功则证明OK.


  • 图片:3_47_7e1ddbd43bf0d0b.png

    3_47_2a7d6c688575058.jpg
  • 图片:7.png

    3_47_83d4f9e9ed1f480.jpg




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158649-1-1.html 上篇帖子: jumpserver keys&user同步 下篇帖子: ubuntu-client-ldap
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表