Linux Jumpserver跳板机 /堡垒机详细部署
1. 跳板机/堡垒机的介绍
1.1 跳板机的定义
跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作:
1.2 跳板机缺点
没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操作、远规
操作导致的事故,一旦出现操作事故很难快速定位到原因和责任人;
1.3 堡垒机的定义
堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的攻击和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活劢,以便集中报警、及时处理及审计定责。
2. Jumpserver 概述
Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为亏联网企业提供了认证,授权,审计,自动化运维等功能。
2.1 Jumpserver的功能
1、用户组/用户 :添加组方便迚行授权,用户是授权和登陆的主体.
2、资产组/资产/IDC : 主机信息简洁完整,用户自定义备注登录,支持自劢获取主页硬件信息.
3、Sudo/系统用户/授权规则 :支持 sudo 授权,系统用户用亍登陆客户端,授权是将用户、资产和系统用户关联起来.
4、在线/登录历叱/命令记录/上传下载 : 在线实时监控用户操作,统计和录像回放用户操作内容,阻断控制,详细记录上传下载.
5、上传/下载 : 支持文件上传下载,实现 rzsz 方式.
6、默认设置 : 默认管理用户 设置包括用户密码密钥,默认信息为了方便添加资产而设计.
3. 搭建 jumpserver跳板机
//安装网络yum源
[root@zml ~]# curl -o /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1572 100 1572 0 0 4382 0 --:--:-- --:--:-- --:--:-- 4403
[root@zml ~]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@zml ~]# sed -i 's/^enabled=.*/enabled=1/g' /etc/yum.repos.d/CentOS7-Base-163.repo
[root@zml ~]# yum -y install epel-release
//关闭防火墙
[root@zml ~]# systemctl stop firewalld
[root@zml ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zml ~]# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
[root@zml ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
[root@zml ~]# setenforce 0
//安装依赖包
[root@zml ~]# yum -y install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass lrzsz readline-devel
//解压jumpserver
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug jumpserver3.0.tar.gz kernels
[root@localhost src]# tar -zvxf jumpserver3.0.tar.gz
[root@localhost src]# ls
debug jumpserver jumpserver3.0.tar.gz kernels
[root@localhost jumpserver]# ls
connect.py jasset jumpserver keys manage.py service.sh
docs jlog jumpserver.conf LICENSE README.md static
install jperm juser logs run_websocket.py templates
[root@localhost jumpserver]# cd install/
[root@localhost install]# ls
developer_doc.txt install.py requirements.txt
initial_data.yaml next.py zzjumpserver.sh
//执行快速安装脚本
[root@zml install]# pip install -r requirements.txt //如果一次执行失败,可以多尝试执行几次
---------------------------------------------------------------------------------------------------
报错:
Could not find a version that satisfies the requirement django==1.6 (from -r requirements.txt...
解决办法:
# pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
//查看已经安装的所有软件
[root@localhost install]# pip freeze
ansible==1.9.4
backports-abc==0.5
backports.ssl-match-hostname==3.5.0.1
certifi==2019.3.9
configobj==4.7.2
decorator==3.4.0
Django==1.6
django