linux(centos7)跳板机/堡垒机 Jumpserver 的环境部署/搭建
Jumpserver 概述
Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产;客户端无需安装agent。
它主要用于运维、开发,以及测试相关人员来利用它连接公司内部网服务器,从而实现集中管理公司内部网服务器。同时跳转服务器还具有权限管理,用户管理以及监控重定向等功能。
功能:
精确记录操作命令
支持批量文件上传下载
支持主机搜索登录
支持批量命令执行(Ansible完成)
支持WebTerminal连接主机
支持Web端批量命令执行
支持录像回放
支持硬件信息如cpu,内存等抓取
支持资产Excel导入导出
支持资产批量更改
支持系统用户的批量推送(Ansible实现)
支持用户,主机,用户组,主机组,系统用户混合细颗粒授权
支持sudo管理
支持命令统计和命令搜索
支持上传下载文件审计
支持终止用户连接
支持各种搜索
其他
Jumpserver 后端主要技术是LDAP,配置了LDAP 集中认证服务器, 所有服务器的认证都是由ldap完成的。其做法是:每个用户一个密码,把密码加密放到了数据库中,当用户输入IP 从跳板机登陆服务器的时候,跳板机系统取出密码,并解密,通过pexpect 模块将密码发送过去,来完成登录。
(LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。)
特色优势:
开源:零门槛,线上快速获取和安装;
分布式:轻松支持大规模并发访问;
无插件:仅需浏览器,极致的 Web Terminal 使用体验;
多云支持:一套系统,同时管理不同云上面的资产;
云端存储:审计录像云端存储,永不丢失;
多租户:一套系统,多个子公司和部门同时使用;
多应用支持:数据库,Windows远程应用,Kubernetes。
官方网址:https://www.jumpserver.org/
JumpServer官网文档:https://docs.jumpserver.org/zh/master/
github 项目网址:https://github.com/jumpserver/jumpserver/releases
环境需求
首先准备一台可以访问互联网的 64 位 Linux 主机;
其次就是部署需要root用户,最好使用新环境来部署,因为会有不是新的环境会有冲突的情况,所以建议使用新环境来部署;
关闭 iptables,关闭 selinux ;
需要wget git curl…几个命令;
yum -y install wget git curl
首先具备这几个条件,就可以开始安装部署。
在线部署Jump server
部署方式有很多种:有在线部署,也有离线部署;也有在linux中部署、在Windows中部署、在macOS中部署的;也有手动部署、一键部署、源码部署、Helm部署、Allinone部署;看自己选哪个,其他部署文档可参考官网:Jumpserver官网部署文档
这里我们选择一键部署就可以,脚本可以直接拉取官网的;
拉取官网脚本并且执行安装操作:
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.25.1/quick_start.sh | bash
中途有的地方需要自己确认,会问你选择默认还是其他,不输入则自动选择默认;配置文件位置: /opt/jumpserver/config/config.txt
脚本安装步骤:
检查配置文件
安装docker和docker-compose
配置dokcer
启动docker并设置开机自启
加载docker镜像(去拉取镜像redis、mariadb、web、core、koko、lion、magnus)
安装Jumpserver
-
- 配置加密密钥
- 配置持久化目录
- 配置 MySQL
- 配置 Redis
- 配置对外端口
- 初始化数据库
安装完成(以及相关信息)
- 页面访问:http://ip:80
- 初始账号密码:admin admin
进入页面之后可查看页面访问操作操作
jumpserver的命令及解析
cd /opt/jumpserver-installer-v2.25.1
# 安装Jump server
./jmsctl.sh install
# 升级Jump server
./jmsctl.sh upgrade [version]
# 监测当前版本号
./jmsctl.sh check_update
# 启动Jump server
./jmsctl.sh start
# 停止Jump server
./jmsctl.sh stop
#关闭Jump server
./jmsctl.sh close
#重启Jump server
./jmsctl.sh restart
#检查Jump server的运行状态
./jmsctl.sh status
# 卸载Jump server
./jmsctl.sh uninstall
# 帮助(查看命令参数详情)
./jmsctl.sh -h