运维堡垒机(跳板机)系统部署

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

一、安装ldapserver

1. yum安装openldap server

yum install -y openldap openldap-servers openldap-clients 

2. 准备配置文件

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

3. 修改配置文件

vim /etc/openldap/slapd.conf 

1) 设置目录树的后缀 
suffix "dc=dianping,dc=com" 
2) 设置管理员DN 
rootdn "cn=admin,dc=dianping,dc=com" 
3) 设置管理员密码 
rootpw redhat 
或机密格式, 加密格式可通过 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. 查看启动情况

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

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

为了测试,我们先在服务器上建立一个测试账号

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

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

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

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

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

3). 导入到ldap中

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

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

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

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

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

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

3. 自动创建目录设置

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

4. 设置LDAP启用

#centos6 
authconfig --savebackup=auth.bak 
authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --disablesssd --disablesssdauth --ldapserver=192.168.2.130 --ldapbasedn="dc=dianping,dc=com" --update 

#centos5 
authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.2.130 --ldapbasedn="dc=dianping,dc=com" –-update 

5. 从主上测试连接服务器

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

三、 让ldap server负责sudo管理

主:

1. 拷贝sudo schema

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

2. 配置文件导入schema

vim /etc/openldap/slapd.conf # 增加一项一项 
include /etc/openldap/schema/sudo.schema 
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 

3. 将sudo base导入到ldap

1) 建立数据库ldif文件

vim sudo.ldif 

dn: ou=Sudoers,dc=dianping,dc=com 
objectClass: top 
objectClass: organizationalUnit 
ou: Sudoers 

dn: cn=defaults,ou=Sudoers,dc=dianping,dc=com 
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中

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

测试服务器:

4. 测试服务器设置,让ldap代理sudo

vi /etc/sudo-ldap.conf 
uri ldap://192.168.2.130 # 如果有备用后面跟备用的 
Sudoers_base ou=Sudoers,dc=dianping,dc=com 
vi /etc/nsswitch.conf 增加 
Sudoers: ldap files 

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

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

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

四、 部署jumpserver

1). 下载代码

https://github.com/ibuler/jumpserver 下载代码,git clone不知为何下载不下来

2. 解压后放到/opt中,为/opt/jumpserver

mv jumpserver-master /opt/jumpserver

3. 下载建立数据库, 并授权

yum -y install mysql-server 
serivce mysqld start 
mysql 
mysql> create database jumpserver charset=’utf8’; # 否则中文可能乱码 
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'redhat'; 

4. 编辑配置文件

1) 修改jumpserver的配置文件, 主要是修改一下db和key,下面的不动

vim jumpserver.conf 
#coding:utf-8 

[db] 
host = 127.0.0.1 
port = 3306 
user = jumpserver 
password = redhat 
db = jumpserver 
10 
11 [jumpserver] 
12 log_dir = /opt/jumpserver/logs/ 
13 user_table = UserManage_user 
14 assets_table = Assets_assets 
15 assets_user_table = Assets_assetsuser 
16 key = 88aaaf7ffe3c6c04 #此key需要是16位 
17 useradd_shell = /opt/jumpserver/useradd.sh 
18 userdel_shell = /opt/jumpserver/userdel.sh 
19 sudoadd_shell = /opt/jumpserver/sudoadd.sh 
20 sudodel_shell = /opt/jumpserver/sudodel.sh 
21 keygen_shell = /opt/jumpserver/genkey.sh 
22 chgpass_shell = /opt/jumpserver/chgpass_shell.sh

2) 修改bash调用的配置文件 shell.conf

vim shell.conf 

#!/bin/bash 

host=127.0.0.1 
ldapassword=redhat 
domain=dianping 
suffix=com 
#host2=172.16.2.74 
10 #host2_port=2001 

3) 添加一个admin用户

useradd admin 
echo 'redhat' | passwd --stdin admin 

4) 安装依赖的python库

yum -y install python-devel # MySQLdb也就是也就是mysql-python依赖依赖 
pip install django paramiko pam mysql-python pexpect -i http://pypi.douban.com/simple 

5) 初始化库

cd webroot/AutoSa/ 
python manage.py syncdb 
no 

6) 测试运行

chmod +x manage.py 
chmod +x runserver 
chmod +x *.sh 
chmod 777 logs 
./runserver #默认监听80 

浏览器查看 


8) 登录测试

cd /opt/jumpserver 
python jumpserver.py 
试试各种功能 


9) 查看日志

10) 最终没确认没问题将目录下面的jumpserver.sh移动到 /etc/profile.d/中,来让登录运行堡垒机脚本

mv jumpserver.sh /etc/profile.d/ 











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1541849,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
66 3
|
2月前
|
运维 监控 安全
高效运维管理:提升系统稳定性的策略与实践
【10月更文挑战第2天】 在当今数字化时代,运维管理成为企业IT部门的重要任务。本文将探讨如何通过高效的运维管理策略和最佳实践,提升系统的稳定性,确保业务持续平稳运行。通过分析常见问题、预防措施以及应对策略,我们将揭示高效运维的关键要素,助您打造一个可靠的IT环境。
|
1月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
50 3
|
1月前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
56 4
|
2月前
|
运维 监控 安全
高效运维管理:提升系统稳定性的策略与实践
【10月更文挑战第13天】 本文探讨了高效运维管理的关键策略和实践,旨在帮助运维团队提升系统的稳定性。通过分析常见问题,提出具体的解决方案,包括监控与告警、自动化工具的应用、故障排查与恢复、性能优化以及安全防护等方面。通过这些策略和实践,可以帮助企业构建一个稳定、可靠且高效的IT系统。
89 1
|
1月前
|
运维 监控 网络协议
自动化运维的魔法——打造高效、可靠的系统
【10月更文挑战第32天】在数字化时代的浪潮下,运维不再是简单的硬件维护和故障排除。它已经演变成一场关乎效率、稳定性和创新的技术革命。自动化运维,作为这场革命的核心,正引领着企业走向更加智能和高效的未来。本文将带你探索自动化运维的世界,揭示其背后的原理和实践,让你领略到自动化带来的无限可能。
28 0
|
2月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
2月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
2月前
|
运维 监控 大数据
高效运维管理:提升系统稳定性的策略与实践
在当今信息技术飞速发展的时代,运维管理作为保障系统稳定运行的关键环节,其重要性不言而喻。本文将深入探讨如何通过优化运维流程、引入自动化工具和建立完善的监控体系等策略,来有效提升系统的稳定性。同时,结合具体实践案例,分析这些策略在实际工作中的应用效果,为运维人员提供有益的参考和启示。
108 6
|
2月前
|
运维 负载均衡 监控
提升系统性能:高效运维的秘密武器——负载均衡技术
在当今数字化时代,系统的高可用性和高性能成为各类企业和组织追求的目标。本文旨在探讨负载均衡技术在运维工作中的关键作用,通过深入分析其原理、类型及实际应用案例,揭示如何利用这项技术优化资源分配,提高系统的响应速度和可靠性,确保用户体验的稳定与流畅。无论是面对突如其来的高流量冲击,还是日常的运维管理,负载均衡都展现出了不可或缺的重要性,成为现代IT架构中的基石之一。
136 4