JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,包括:
项目地址:https://github.com/jumpserver/jumpserver
功能列表:https://www.jumpserver.org/features.html
产品介绍 PPT:https://www.jumpserver.org/documents/introduce-jumpserver_202304.pdf
系统版本:Rocky Linux 8 (关闭 SE Linux 和防火墙)
容器环境:Docker 24.0.6 Docker-Compose v2.21.0
软件版本:JumpServer 3.8.0
4Core/8GB RAM/300G HDD
主机系统建议 Debian 系列或 RHEL 系列
建议不对公网直接开放,通过 SSL VPN 连接到内网访问。
生产建议选择最后一位版本较多的最新版本,如选择 3.7.2 ,而不是 3.8.0 。
yum install -y yum-utils device-mapper-persistent-data lvm2
# 安装依赖包
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 添加源
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 替换 Docker 安装源为清华大学镜像站。
yum makecache fast
yum install docker-ce docker-compose-plugin
# 安装 Docker 和 Compose
systemctl enable --now docker
# 配置开机启动并启动 Docker
yum install -y curl wget tar gettext tree
# 安装所需依赖包
curl -sL https://api.github.com/repos/jumpserver/jumpserver/releases/latest | grep '"tag_name":' | cut -d'"' -f4 | tr -d 'v'
# 获取最新版本号。
cd /opt
# 切换到 opt 目录
VERSION=v3.8.0
# 指定下载版本
DOWNLOAD_URL=https://resource.fit2cloud.com
#DOWNLOAD_URL=https://github.com
# 指定下载地址,中国大陆地区可以使用 fit2cloud.com ,海外使用 github.com 。
#(github 才能下载 v2 版本)
wget -qO jumpserver-installer-${VERSION}.tar.gz ${DOWNLOAD_URL}/jumpserver/installer/releases/download/${VERSION}/jumpserver-installer-${VERSION}.tar.gz
# 下载指定版本的安装包
tar -vxf /opt/jumpserver-installer-${VERSION}.tar.gz -C /opt
# 解压
tree -L 2 /opt # 查看当前文件目录结构
/opt
├── jumpserver-installer-v3.8.0
│ ├── cn-quick_start.sh
│ ├── compose
│ ├── config-example.txt
│ ├── config_init
│ ├── jmsctl.sh
│ ├── LICENSE
│ ├── locale
│ ├── quick_start.sh
│ ├── README.md
│ ├── scripts
│ ├── static.env
│ └── utils
└── jumpserver-installer-v3.8.0.tar.gz
vim /opt/jumpserver-installer-v3.8.0/config-example.txt
# 打开安装配置文件,一般默认即可。
# JumpServer configuration file example.
#
# 如果不了解用途可以跳过修改此配置文件, 系统会自动填入
# 完整参数文档 https://docs.jumpserver.org/zh/v3/guide/env/
################################## 镜像配置 ###################################
#
# 国内连接 docker.io 会超时或下载速度较慢, 开启此选项使用华为云镜像加速
# 取代旧版本 DOCKER_IMAGE_PREFIX
#
# DOCKER_IMAGE_MIRROR=1
# 镜像拉取规则 Always, IfNotPresent
# Always 表示每次都会拉取最新镜像, IfNotPresent 表示本地不存在镜像时才会拉取
#
# IMAGE_PULL_POLICY=Always
################################## 安装配置 ###################################
#
# JumpServer 数据库持久化目录, 默认情况下录像、任务日志都在此目录
# 请根据实际情况修改, 升级时备份的数据库文件(.sql)和配置文件也会保存到该目录
#
VOLUME_DIR=/data/jumpserver
# 加密密钥, 迁移请保证 SECRET_KEY 与旧环境一致, 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 SECRET_KEY
#
SECRET_KEY=
# 组件向 core 注册使用的 token, 迁移请保持 BOOTSTRAP_TOKEN 与旧环境一致,
# 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 BOOTSTRAP_TOKEN
#
BOOTSTRAP_TOKEN=
# 日志等级 INFO, WARN, ERROR
#
LOG_LEVEL=ERROR
# JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
#
DOCKER_SUBNET=192.168.250.0/24
# ipv6 nat, 正常情况下无需开启
# 如果宿主不支持 ipv6 开启此选项将会导致无法获取真实的客户端 ip 地址
#
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
################################# MySQL 配置 ##################################
# 外置 MySQL 需要输入正确的 MySQL 信息, 内置 MySQL 系统会自动处理
#
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver
# 如果外置 MySQL 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/v3/installation/security_setup/mysql_ssl/
#
# DB_USE_SSL=true
################################# Redis 配置 ##################################
# 外置 Redis 需要请输入正确的 Redis 信息, 内置 Redis 系统会自动处理
#
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
# 如果使用外置 Redis Sentinel, 请手动填写下面内容
#
# REDIS_SENTINEL_HOSTS=mymaster/192.168.100.1:26379,192.168.100.1:26380,192.168.100.1:26381
# REDIS_SENTINEL_PASSWORD=your_sentinel_password
# REDIS_PASSWORD=your_redis_password
# REDIS_SENTINEL_SOCKET_TIMEOUT=5
# 如果外置 Redis 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/v3/installation/security_setup/redis_ssl/
#
# REDIS_USE_SSL=true
################################## 访问配置 ###################################
# 对外提供服务端口, 如果与现有服务冲突请自行修改
#
HTTP_PORT=80
SSH_PORT=2222
MAGNUS_MYSQL_PORT=33061
MAGNUS_MARIADB_PORT=33062
MAGNUS_REDIS_PORT=63790
MAGNUS_POSTGRESQL_PORT=54320
MAGNUS_ORACLE_PORTS=30000-30030
################################# HTTPS 配置 #################################
# 参考 https://docs.jumpserver.org/zh/v3/installation/proxy/ 配置
#
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key
#
# Nginx 文件上传下载大小限制
#
CLIENT_MAX_BODY_SIZE=4096m
################################## 组件配置 ###################################
# 组件注册使用, 默认情况下向 core 容器注册, 集群环境需要修改为集群 vip 地址
#
CORE_HOST=http://core:8080
PERIOD_TASK_ENABLED=true
# Core Session 定义,
# SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期,
# SESSION_EXPIRE_AT_BROWSER_CLOSE=true 表示关闭浏览器即 session 过期
#
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=true
# 可信任 DOMAINS 定义,
# 定义可信任的访问 IP, 请根据实际情况修改, 如果是公网 IP 请改成对应的公网 IP,
# DOMAINS="demo.jumpserver.org:443"
# DOMAINS="172.17.200.191:80"
# DOMAINS="demo.jumpserver.org:443,172.17.200.191:80"
DOMAINS=
# 配置不需要启动的组件, 默认所有组件都会开启, 如果不需要某个组件可以通过设置 {组件名称}_ENABLED 为 0 关闭
# CORE_ENABLED=0
# CELERY_ENABLED=0
# KOKO_ENABLED=0
# LION_ENABLED=0
# MAGNUS_ENABLED=0
# CHEN_ENABLED=0
# KAEL_ENABLED=0
# Lion 开启字体平滑, 优化体验
#
JUMPSERVER_ENABLE_FONT_SMOOTHING=true
################################# XPack 配置 #################################
# XPack 包, 开源版本设置无效
#
RDP_PORT=3389
XRDP_PORT=3390
################################## 其他配置 ##################################
# 终端使用宿主 HOSTNAME 标识, 首次安装自动生成
#
SERVER_HOSTNAME=${HOSTNAME}
# 使用内置 SLB, 如果 Web 页面获取到的客户端 IP 地址不正确, 请将 USE_LB 设置为 0
# USE_LB 设置为 1 时, 使用配置 proxy_set_header X-Forwarded-For $remote_addr
# USE_LB 设置为 0 时, 使用配置 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
USE_LB=1
# 当前运行的 JumpServer 版本号, 安装和升级完成后自动生成
#
CURRENT_VERSION=
cd /opt/jumpserver-installer-v3.8.0/
# 进入安装目录
./jmsctl.sh install
# 执行安装,一直默认选项即可。(安装期间会加载 Docker 镜像,会比较慢)
# 默认安装会使用 Docker 部署的内置 Mariadb 数据库和 Redis 数据库.
# 默认安装情况下会把数据和配置文件目录存放在 /data/jumpserver
./jmsctl.sh start
# 安装后执行启动,默认为开机启动,但安装或升级后,需要手动启动。
# 启动
./jmsctl.sh start
# 停止
./jmsctl.sh down
# 卸载
./jmsctl.sh uninstall
# 重启
./jmsctl.sh restart
# 帮助
./jmsctl.sh -h
端口 | 作用 | 说明 |
---|---|---|
22 | SSH | 安装、升级及管理使用 |
80 | Web HTTP 服务 | 通过 HTTP 协议访问 JumpServer 前端页面 |
443 | Web HTTPS 服务 | 通过 HTTPS 协议访问 JumpServer 前端页面 |
3306 | 数据库服务 | MySQL 服务使用 |
6379 | 数据库服务 | Redis 服务使用 |
3389 | Razor 服务端口 | RDP Client 方式连接 Windows 资产 |
2222 | SSH Client | SSH Client 方式使用终端工具连接 JumpServer ,比如 Xshell 、PuTTY 、MobaXterm 等终端工具 |
33061 | Magnus MySQL 服务端口 | DB Client 方式连接 MySQL 数据库资产 |
33062 | Magnus MariaDB 服务端口 | DB Client 方式连接 MariaDB 数据库资产 |
54320 | Magnus PostgreSQL 服务端口 | DB Client 方式连接 PostgreSQL 数据库资产 |
63790 | Magnus Redis 服务端口 | DB Client 方式连接 Redis 数据库资产 |
30000-30100 | Magnus Oracle 服务端口 | DB Client 方式连接 Oracle 数据库资产,该端口范围可自定义 |
安装后可访问 http://ip:80 访问,也可以通过 SSH:2222 默认安装端口通过 SSH 访问资产。
用户名: admin 密码: admin
官方视频教程:https://jumpserver.org/video.html
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.