视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
运维堡垒机(跳板机)系统Jumpserverv1.0.0部署篇
2020-11-09 16:25:22 责编:小采
文档


更新:新版已发见http://laoguang.blog.51cto.com/6013350/1576729 ---------------------------------------------------------- 更新:有疑问qq群 399218702 更新:建议大家第一遍做的时候,所有的都与文档一致,由于笔者懒把所有的密码设置成redhat了,所

更新:新版已发见 http://laoguang.blog.51cto.com/6013350/1576729

----------------------------------------------------------

更新:有疑问qq群 399218702

更新:建议大家第一遍做的时候,所有的都与文档一致,由于笔者懒把所有的密码设置成redhat了,所以导致好多小伙伴部署的时候遇到问题,抱歉,笔者正在努力码代码,修改一下bug,更新一些功能,另如果有小伙伴对该项目有兴趣,可以一起做做,笔者水平确实有限。


环境:系统CentOS6.4 iptables, selinux已关闭

jumpserver ldapserver : 192.168.2.130

测试服务器: 192.168.2.132

mysql数据库: 192.168.2.130

一、安装ldapserver

1. yum安装openldap server

1 yum install -y openldap openldap-servers openldap-clients


2. 准备配置文件

1 cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
2 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG


3. 修改配置文件 注意:rootpw后面的密码前面最好有3个tab,配置文件严格,每行后面不能有空格

1 vim /etc/openldap/slapd.conf
2
3 1) 设置目录树的后缀
4 suffix "dc=dianping,dc=com"
5 2) 设置管理员DN
6 rootdn "cn=admin,dc=dianping,dc=com"
7 3) 设置管理员密码
8 rootpw redhat
9 或机密格式, 加密格式可通过 slappasswd命令来生成
10 rootpw {SSHA}j6OO++o76F2yhww2Cg/+Hy8oDPixx6C3
11 4) 设置ldap日志,在argsfile下面添加
12 loglevel 1
13 修改系统日志配置文件
14 vim /etc/rsyslog.conf # centos5版应该是syslog.conf
15 local4.* /var/log/ldap.log
16 service rsyslog restart
17 5) 修改完配置文件后用以下命令生成新的配置文件,以后不再特殊说明
18 service slapd start # 第一次需要启动一下
19 rm -rf /etc/openldap/slapd.d/*
20 slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
21 chown -R ldap:ldap /etc/openldap/slapd.d/
22 service slapd restart


4. 查看启动情况

1 [root@localhost openldap]# netstat -tulnp | grep slapd
2 tcp 0 0 0.0.0.0:3 0.0.0.0:* LISTEN 48776/slapd
3 tcp 0 0 :::3 :::* LISTEN 48776/slapd


5. 安装migrationtools,迁移本地账户密码到ldap

为了测试,我们先在服务器上建立一个测试账号,这个账号是为了测试ldap是否成功的

1 useradd guanghongwei
2 echo 'redhat' | passwd --stdin guanghongwei

1). 安装并修改配置文件

1 yum -y install migrationtools
2 cd /usr/share/migrationtools/
3 vim migrate_common.ph # 71行左右
4 $DEFAULT_MAIL_DOMAIN = "dianping.com";
5 $DEFAULT_BASE = "dc=dianping,dc=com";

2). 使用脚本导出ldif文件

1 ./migrate_base.pl > /tmp/base.ldif
2 ./migrate_passwd.pl /etc/passwd > /tmp/passwd.ldif
3 ./migrate_group.pl /etc/group > /tmp/group.ldif

3). 导入到ldap中,会提示输入密码,密码slapd.conf配置文件中设置的那个rootpw

1 ldapadd -x -W -D "cn=admin,dc=dianping,dc=com" -f /tmp/base.ldif
2 ldapadd -x -W -D "cn=admin,dc=dianping,dc=com" -f /tmp/passwd.ldif
3 ldapadd -x -W -D "cn=admin,dc=dianping,dc=com" -f /tmp/group.ldif


二、测试服务器安装ldap客户端

1. 安装LDAP客户端及依赖组件

1 yum -y install openldap openldap-clients nss-pam-ldapd pam_ldap #centos6
2 yum -y install openldap openldap-clients nss_ldap #centos5

2. 增加BIND策略,避免LDAP无法连接时无法开机

1 echo "bind_policy soft" >> /etc/openldap/ldap.conf

3. 自动创建目录设置

1 echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth

4. 设置LDAP启用,后面的ldapserver改为实际中的

1 #centos6
2 authconfig --savebackup=auth.bak
3 authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --disablesssd --disablesssdauth --ldapserver=192.168.2.130 --ldapbasedn="dc=dianping,dc=com" --update
4
5 #centos5
6 authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.2.130 --ldapbasedn="dc=dianping,dc=com" –-update

5. 从主上测试连接服务器,该用户是刚才添加的那个

1 ssh guanghongwei@192.168.2.132 #132上没有useradd该用户哦,如果能连接上证明ldap使用ok


三、 让ldap server负责sudo管理

1. 拷贝sudo schema,centos版本不一样,可能sudo的版本不是1.8.6,其他的也可以

1 cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema ## 拷贝schema

2. 配置文件导入schema,切记 配置文件比较敏感,行尾不要有多余空格

1 vim /etc/openldap/slapd.conf # 增加一项一项
2 include /etc/openldap/schema/sudo.schema
3 rm -rf /etc/openldap/slapd.d/*
4 slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
5 chown -R ldap:ldap /etc/openldap/slapd.d/*
6 service slapd restart

3. 将sudo base导入到ldap

1) 建立数据库ldif文件,切记该数据文件每行最后也不允许有空格,并删掉注释,可以用群共享里那个

1 vim sudo.ldif
2
3 dn: ou=Sudoers,dc=dianping,dc=com
4 objectClass: top
5 objectClass: organizationalUnit
6 ou: Sudoers
7
8 dn: cn=defaults,ou=Sudoers,dc=dianping,dc=com
9 objectClass: top
10 objectClass: sudoRole
11 cn: defaults
12 sudoOption: !visiblepw
13 sudoOption: always_set_home
14 sudoOption: env_reset
15 sudoOption: requiretty
16
17 dn: cn=guanghongwei,ou=Sudoers,dc=dianping,dc=com ## dn, 使用时 请删除注释,并不能有空格
18 objectClass: top
19 objectClass: sudoRole
20 cn: guanghongwei ## 对应的是用户名或者组
21 sudoCommand: ALL ## 可以执行的命令
22 sudoHost: ALL ## 可以登录的Host
23 sudoOption: !authenticate ## 是否需要输入密码
24 sudoRunAsUser: ALL ## 以哪个用户执行
25 sudoUser: guanghongwei ## 用户或者组


2) 导入到ldap中,如果报错很有可能是空格的原因

1 ldapadd -x -W -D "cn=admin,dc=dianping,dc=com" -f sudo.ldif


测试服务器:

4. 测试服务器设置,让ldap代理sudo,行尾不能有空格

1 vi /etc/sudo-ldap.conf
2 uri ldap://192.168.2.130
3 Sudoers_base ou=Sudoers,dc=dianping,dc=com
4 vi /etc/nsswitch.conf 增加
5 Sudoers: ldap files

5. 测试,用户并没在服务器的sudoer file中,如果sudo成功,证明已使用ldap的sudo

1 [root@localhost tmp]# ssh guanghongwei@192.168.2.132
2 guanghongwei@192.168.2.132's password:
3 Last login: Mon Mar 10 02:27:50 2014 from 192.168.2.130
4 [guanghongwei@2namenode ~]$ sudo su
5 [root@2namenode guanghongwei]#


上面这部分其实是ldap配置的过程,如果用过的朋友应该很熟悉,再部署个phpldapadmin才算完整,不过我们先不用,下面进入主题,讲讲如何部署跳板机 http://laoguang.blog.51cto.com/6013350/1540793

四、 部署jumpserver

1). 下载代码

1 cd /opt/

2 git clone https://github.com/ibuler/jumpserver

如果克隆不下来去https://github.com/ibuler/jumpserver 下载代码

2.

下载本文
显示全文
专题