ubuntu-ldap-client+SSL/TLS
一、基本环境Jumpserver :Master1 192.168.20.128 Mysql 主 FQDN:Master1.jumpserver.org Centos6.5 x86Master2 192.168.20.129 Mysql 从 FQDN:Master2.jumpserver.org Centos6.5 x86注:Master1和Master2 相关配置在 http://bbs.jumpserver.org/read/111.htmlClient:Ubuntu:192.168.20.132 Client双主 FQDN:Ubuntu.jumpserver.orgubuntu15.0464位Ubuntu:图片:20151125175152.jpg
二、安装
2.1 安装所需的软件包
apt-get install libpam-ldap libnss-ldap sudo-ldapnscd
2.2配置LDAP
2.2.1输入的URI为LDAP服务器。
图片:1.jpg
2.2.1输入你的搜索基础的DN。使用您作为基础的用户数据库相同的DN。
图片:2.png
2.2.3 您只能使用LDAPv3的,所以选择此屏幕上的默认。
图片:3.png
2.2.4 有没有必要为本地root拥有完全权限在你的LDAP服务器,所以没有在这里回答。
图片:4.png
2.2.5 如果您的LDAP服务器允许匿名绑定,你可以回答“不”也在这里...
图片:5.png
注:可通过dpkg-reconfigure ldap-auth-config重新配置
三、服务器端证书通过scp至客户端:
mkdir -p /etc/openldap/cacerts/
cd /etc/openldap/cacerts/
scp 192.168.20.128:/etc/openldap/cacerts/cacert.pem /etc/openldap/cacerts/cacert.pem
注:如果你的Jumpserver的OpenLDAP 没有使用 SSL/TLS 加密数据通信 ,也就是使用389端口,请忽略这一步。
四、修改配置文件
root@Ubuntu:~# cat /etc/pam.d/common-auth | grep -v ^# | grep -v ^$
auth pam_unix.so nullok_secure
auth pam_ldap.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_ecryptfs.so unwrap
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
common-auth 追加后,登录要求输入LDAP Password ,想取消LDAP Password 就不追加。
图片:@024`_A$F2R~OUBJN1_80@U.png
root@Ubuntu:~# cat /etc/pam.d/common-account| grep -v ^# | grep -v ^$
account pam_unix.so
account pam_ldap.so
account requisite pam_deny.so
account required pam_permit.so
account sufficient pam_ldap.so
account required pam_unix.so
root@Ubuntu:~#cat /etc/pam.d/common-password | grep -v ^# | grep -v ^$
password pam_unix.so obscure sha512
password pam_ldap.so use_authtok try_first_pass
password requisite pam_deny.so
password required pam_permit.so
password optional pam_ecryptfs.so
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5
root@Ubuntu:~# cat /etc/pam.d/common-session | grep -v ^# | grep -v ^$
session pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
ssion optional pam_systemd.so
session optional pam_ecryptfs.so unwrap
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional pam_ldap.so
注:红色部分是追加的
root@Ubuntu:~# cat /etc/nsswitch.conf | grep -v ^# | grep -v ^$
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
sudoers: files ldap
root@Ubuntu:~# cat /etc/ldap/ldap.conf | grep -v ^# | grep -v ^$
BASE dc=jumpserver,dc=org
URI ldaps://Master1.jumpserver.org/ ldaps://Master2.jumpserver.org/
TIMELIMIT 2
TLS_CACERT /etc/openldap/cacerts/cacert.pem
Sudoers_base ou=Sudoers,dc=jumpserver,dc=org
注:客户端的sudo版本会影响 ldap配置文件的位置,通过sudo -V | grep ldap查看,最后显示
ldap.conf path: /etc/ldap/ldap.conf这个来决定
sudo内容(Sudoers_base ou=Sudoers,dc=jumpserver,dc=org ) 在哪个文件上配置的。
root@ubuntu:~# cat /etc/ldap.conf | grep -v ^# | grep -v ^$
base dc=jumpserver,dc=org
uri ldaps://Master1.jumpserver.org/ ldaps://Master2.jumpserver.org/
ssl on
TLS_CACERTDIR /etc/openldap/cacerts
ldap_version 3
pam_password md5
nss_initgroups_ignoreusers backup,bin,daemon,games,gnats,irc,landscape,list,lp,mail,man,messagebus,news,proxy,roo
t,sshd,sync,sys,syslog,systemd-bus-proxy,systemd-network,systemd-resolve,systemd-timesync,uucp,uuidd,www-
注:如果你的Jumpserver是使用389端口通信,请把uri ldaps://xxx全部改成uri ldap://xxxx,就是把s去掉。
#重启服务使配置生效
root@Ubuntu:~# /etc/init.d/nscd restart
[ ok ] Restarting nscd (via systemctl): nscd.service.
五、测试
5.1 测试是否已启用LDAP认证
root@Ubuntu:~# getent passwd xiaowang
xiaowang:x:5034:5034:xiaowang:/home/xiaowang:/bin/bash
root@Ubuntu:~# id xiaowang
uid=5034(xiaowang) gid=5034(xiaowang) groups=5034(xiaowang)
5.2测试用户登录跳板机再登录后端Client
图片:8CQXPE3H5.png
页:
[1]