跳板机JumpServer3.4的搭建"/>
堡垒机/跳板机JumpServer3.4的搭建
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 一、简介
- 二、Jumpserver搭建
- 环境要求⚓︎
- 已有自己的数据的情况下,创建数据库 MySQL
- 一键安装⚓︎
- 标准部署
- 下载离线安装包
- 启动
- 三、Jumpserver添加服务器、人员,以及授权
- 1:用户管理
- 用户组
- 资产管理
- 资产树---各节点
- 创建网域
- 添加资产----主机
- 账号管理
- 授权管理
- 退出web,用创建的用户重新登录web
- 审计
- 配置外部存储存储录像
- 录像文件的播放
- 实施中注意事项
- 连接Websit 、mysql
一、简介
为了保证服务器安全,加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有身份认证,授权,访问控制,审计等功能。
Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。
在公司中,分配人员服务器权限也是相当方便,如:来一个新人,在Jumpserver分配Jumpserver账号即可,人员离职,在Jumpserver删掉人员账号即可。无需担心人员离职留下后门,当然前提是检查防火墙,只允许Jumpserver服务器有其他服务器的ssh的权限。
目前市面上已经有很多jumpserver产品提供使用,这里就介绍最广泛的一款。
官方网址:/
二、Jumpserver搭建
参考官方部署文档:/
这款也是基于docker运行的,不管一键部署,还是手动部署都是docker,手动部署区别主要是改密码、IP、端口自定义之类的。默认的其实已经很好没必要改了。相对来所,搭建还是比较容易的,官方脚本一步到位。
环境要求⚓︎
OS/Arch Architecture Linux Kernel Soft Requirement Minimize Hardware
linux/amd64 x86_64 >= 4.0 wget curl tar gettext iptables python 2Core/8GB RAM/60G HDD
linux/arm64 aarch64 >= 4.0 wget curl tar gettext iptables python 2Core/8GB RAM/60G HDD
linux/loong64 loongarch64 == 4.19 wget curl tar gettext iptables python 2Core/8GB RAM/60G HDD
yum update
yum install -y wget curl tar gettext iptables
JumpServer 需要使用 MySQL 或 MariaDB 存储数据,使用 Redis 缓存数据,
支持 数据库 SSL 连接 和 Redis SSL 连接
Name Version Default Charset Default collation TLS/SSL
MySQL >= 5.7 utf8 utf8_general_ci Y
MariaDB >= 10.2 utf8mb3 utf8mb3_general_ci Y
Name Version Sentinel Cluster TLS/SSL
Redis >= 5.0 Y Y
已有自己的数据的情况下,创建数据库 MySQL
如果没有,就默认安装就好了
mysql> create database jumpserver default charset 'utf8';
Query OK, 1 row affected (0.00 sec)mysql> show create database jumpserver;
+------------+---------------------------------------------------------------------+
| Database | Create Database |
+------------+---------------------------------------------------------------------+
| jumpserver | CREATE DATABASE `jumpserver` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+------------+---------------------------------------------------------------------+
1 row in set (0.00 sec)
一键安装⚓︎
支持主流 Linux 发行版本(基于 Debian / RedHat,包括国产操作系统)。
curl -sSL .28.8/quick_start.sh | bash
标准部署
如果已经安装了docker
下载github上的安装包
cd /opt
wget .28.8/jumpserver-installer-v2.28.8.tar.gz
tar -xf jumpserver-installer-v2.28.8.tar.gz
cd jumpserver-installer-v2.28.8
前面都没法连上 ,只好用离线安装包了
下载离线安装包
离线部署安装包下载地址:
# tar -xf jumpserver-offline-installer-v3.4.1-amd64.tar.gz
# cd jumpserver-offline-installer-v3.4.1-amd64/
# ls
cn-quick_start.sh compose config-example.txt config_init jmsctl.sh LICENSE locale quick_start.sh README.md scripts static.env utils
# 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
cat config-example.txt
# 以下设置如果为空系统会自动生成随机字符串填入
## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
## 完整参数文档 Docker 镜像配置
# 国内连接 docker.io 会超时或下载速度较慢, 开启此选项使用华为云镜像加速
DOCKER_IMAGE_MIRROR=1## 安装配置
# JumpServer 数据库持久化目录, 默认情况下录像、任务日志都在此目录
# 请根据实际情况修改, 升级时备份的数据库文件(.sql)和配置文件也会保存到该目录
VOLUME_DIR=/opt/jumpserver
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR## MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息,, 内置 MySQL 系统会自动处理
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver## Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息,, 内置 Redis 系统会自动处理REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=# JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
DOCKER_SUBNET=192.168.250.0/24## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64## 访问配置
HTTP_PORT=80
SSH_PORT=2222
RDP_PORT=3389
MAGNUS_PORTS=30000-30100## HTTPS 配置, 参考 / 配置
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key## Nginx 文件上传大小
CLIENT_MAX_BODY_SIZE=4096m## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
USE_TASK=1# Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=True# Koko Lion XRDP 组件配置
CORE_HOST=http://core:8080
JUMPSERVER_ENABLE_FONT_SMOOTHING=True## 终端使用宿主 HOSTNAME 标识
SERVER_HOSTNAME=${HOSTNAME}# 额外的配置
CURRENT_VERSION=
# 安装
./jmsctl.sh install# 启动
./jmsctl.sh start
提示的默认选项–直接回车
第一次安装redis老出错,
试了换一个redis 容器,也是一样
# docker pull docker.io/redis
# vim compose/docker-compose-redis.yml redis:image: jumpserver/redis:6.2 -> 改成 docker.io/redis
查了日志 docker logs ,显示特权问题,关掉SELINUX
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config
重启后,查dokcer ps 会显示还在重启,再次初始化安装就正常了
安装完成后配置文件 /opt/jumpserver/config/config.txt
cd /opt/jumpserver-installer-v2.28.8# 启动
./jmsctl.sh start# 停止
./jmsctl.sh down# 卸载
./jmsctl.sh uninstall# 帮助
./jmsctl.sh -h
网络出错,如下,改下docker 容器网段就可以了,可能跟内网段冲突了
Network jms_net Error failed to create network jms_net: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b8ccbeb60528 -j RETURN: iptables: No chain/target/match by that name.
负载均衡 部署查看:
启动
# ./jmsctl.sh start
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e647d60b577 jumpserver/core:v3.4.1 "./entrypoint.sh s..." About a minute ago Up About a minute (healthy) 8080/tcp jms_core
953eea4aae59 jumpserver/redis:6.2 "docker-entrypoint..." 11 minutes ago Up 11 minutes (healthy) 6379/tcp jms_redis
105754161c92 jumpserver/magnus:v3.4.1 "./entrypoint.sh" 10 hours ago Up 44 seconds (healthy) 0.0.0.0:33061-33062->33061-33062/tcp, 0.0.0.0:63790->63790/tcp jms_magnus
c7782e859c73 jumpserver/core:v3.4.1 "./entrypoint.sh s..." 10 hours ago Up 8 minutes (healthy) 8080/tcp jms_celery
241e085c0e9e jumpserver/lion:v3.4.1 "./entrypoint.sh" 10 hours ago Up 19 minutes (healthy) 4822/tcp, 8081/tcp jms_lion
ec52449663be jumpserver/web:v3.4.1 "/docker-entrypoin..." 10 hours ago Up 10 minutes (healthy) 80/tcp, 0.0.0.0:8080->8080/tcp jms_web
830d7dba5ff5 jumpserver/koko:v3.4.1 "./entrypoint.sh" 10 hours ago Up 20 minutes (healthy) 0.0.0.0:2222->2222/tcp, 5000/tcp
访问 http://192.168.118.10:8080/
默认管理员账户admin,密码admin,第一次登录提示会更改密码,更改密码后,重新登录即可进入
三、Jumpserver添加服务器、人员,以及授权
情景:员工ives,服务器192.168.118.。现在需要添加服务器192.168.118.80到jumpserver,并允许员工ives登录。
1:用户管理
添加员工账户ives,系统角色 用户 即可。
用户组
资产管理
资产树—各节点
点击页面左侧的 资产管理 - 资产列表,在根节点 Default 右键新建 SSH Server 和 RDP Server 两个节点
注意:节点最好越好,以免后面授权后使用都窜号其他使用者的资源账号
Defaule
├─ SSH Server
└─ RDP Server
创建网域
添加资产----主机
账号管理
点击账号管理 —账号列表—添加 (注意:目标主机有特权 的账号如root、administrator等超级管理员会自动勾特权用户,普通远程桌面用户不要勾 选特权账号,否则会出现无法连接,另外密码可以不设置,登录时再设置记住密码)
授权管理
退出web,用创建的用户重新登录web
然后可以通过web终端 SSH访问资产服务器了
审计
配置外部存储存储录像
JumpServer 目前支持的外部录像存储有:S3、Ceph、Swift、OSS、Azure、OBS、COS。
点击“系统设置”→“终端设置”→“录像存储”。点击“创建”→“Ceph”。
提交即可。
点击“系统设置”→“终端设置"→“终端管理”。更新每一个组件中的的录像存储为新建的外部存储。
录像文件的播放
查看审计录像可以在线查看,也可以下载之后在 JumpServer 专用的播放器中播放。
1、在线播放
录像文件的在线查看地址位于“审计台”→“会话审计”→“会话记录”→”历史会话“。
选择需要查看的历史会话点击“回放”即可查看。
2、离线播放
①、播放器安装
JumpServer 支持会话录像离线播放,需要安装 JumpServer Video Player。
JumpServer Video Player 的安装地址:.1.5/JumpServer.Video.Player.Setup.0.1.5.exe下载安装。
②、录像文件下载
录像文件下载:
”会话管理“→”历史会话“→”历史会话“,下载需要查看的会话录像。
实施中注意事项
1、资源池尽量细化分节点,如:应用服务器,虚拟化服务器、网络设备、远程桌面服务等;
2、使用者也尽量细各部门,同部会使用时会发现账号会串到其他可见,对于远程桌面权限,信息安全管理 较严的,最好不拖管密码;
3、IT管理部门,拖管的账号,最好也只有授权的可见,没有完全权限的,最好不要在同一个分组里面。
连接Websit 、mysql
注意:发布机需要2012或2016,2016更稳定,另外发布机系统不要提前安装Chrome浏览器,以免冲突
参考:=0&wd=&eqid=a9ddc3e30001122d0000000264c1e2bb
更多推荐
堡垒机/跳板机JumpServer3.4的搭建
发布评论