JumpServer 企业完整实操手册

适用场景: 中小型企业正式上堡垒机、等保合规、收敛运维入口、全程审计;架构采用 官方一键安装包 All-in-One(先落地,后期平滑升级集群)

架构说明:JumpServer = Core (核心 API) + Koko (SSH 网关) + Lina (Web 前端) + Lion (RDP/VNC) + MariaDB + Redis 企业核心目标:最小权限、统一入口、会话录像、高危命令拦截、账号生命周期管理、日志留存

一、前期规划(企业必做,避免后期重构)

1.1 服务器资源规划(CentOS Stream9 )

环境 推荐配置 用途
生产堡垒机 4C8G / 系统盘 100G + 数据盘 500G(录像存储) 正式环境
测试堡垒机 2C4G 预演、功能测试

建议:录像单独挂载数据盘,不要存在系统盘;并发 > 200 会话建议拆分数据库 / Redis 独立部署。

1.2 网络规划(核心安全原则)

  1. JumpServer 部署在内网业务 VPC(Virtual Private Cloud),不建议直接公网暴露;公网访问通过阿里云 SLB + 白名单
  2. 安全组放行端口(仅入方向)
    • 堡垒机本机:443 (HTTPS)、2222 (SSH 客户端接入)、22 (本机运维 ssh)
  3. 目标资产安全组只允许堡垒机内网 IP 访问 22/3389,禁止任何人直连服务器!
  4. 域名规划:jumpserver.company.com,申请免费 SSL 证书(Let's Encrypt)

1.3 账号分层设计(4A 标准)

  • 平台用户(登录堡垒机的人):开发、运维、DBA、审计员(自然人账号)
  • 系统用户(堡垒机登录服务器使用的账号):root、op、dev、dbuser(服务器侧账号)
  • 角色:平台管理员、资产管理员、审计员、普通运维
  • 资产树划分 :按环境划分 /生产/业务A/测试/业务B,严格隔离

二、生产环境部署(官方 installer 稳定版 v4.10)

2.1 系统初始化(CentOS Stream9)

复制代码
# 关闭防火墙/selinux(云服务器可保留防火墙,按需放行端口)
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 更新系统
dnf update -y
dnf install -y wget curl vim zip unzip openssl

2.2 下载安装包

复制代码
cd /opt
# 官方稳定包
wget https://resource.fit2cloud.com/jumpserver/installer/releases/download/v4.10.1/jumpserver-installer-v4.10.1.tar.gz
tar -xf jumpserver-installer-v4.10.1.tar.gz
cd jumpserver-installer-v4.10.1

2.3 安装 & 自定义关键参数

复制代码
./jmsctl.sh install

交互式重点配置:

  1. Web 端口:443(后续开启 HTTPS),http 端口 80(内网过渡)
  2. 数据库密码、Redis 密码:使用高强度随机密码
  3. 录像存储目录:修改至挂载的数据盘 /data/jumpserver/video

安装完成后启动服务

复制代码
./jmsctl.sh start
# 查看组件状态
./jmsctl.sh status

2.4 首次登录 & 初始安全加固

访问:http://堡垒机IP

  • 默认账号:admin,密码:ChangeMe登录第一件事:立刻修改管理员密码!

三、后台系统全局配置(企业标准化配置)

左侧菜单:系统设置

3.1 基础设置

  1. 站点 URL SITE_URL :填写 https://jumpserver.company.com(开启 HTTPS 必须配置)
  2. 会话超时:web 终端闲置超时 30 分钟
  3. 会话录像保留时长:等保要求 ≥6 个月,设置 180 天

3.2 HTTPS 证书部署(禁止裸 HTTP 生产运行)

复制代码
# 将 fullchain.pem privkey.pem 上传到 /opt/jumpserver/config/ssl
# 修改 config.txt
vim /opt/jumpserver/config/config.txt

HTTPS_ENABLE=true
HTTP_ENABLE=false
SSL_CERT=/opt/jumpserver/config/ssl/fullchain.pem
SSL_KEY=/opt/jumpserver/config/ssl/privkey.pem

重启生效

复制代码
./jmsctl.sh restart

3.3 开启全局 MFA 多因素认证(重中之重)

路径:系统设置 - 安全设置 - 多因素认证

  1. 认证器:TOTP(推荐:Authenticator、微软验证器)
  2. 强制策略:所有用户登录必须启用 MFA
  3. 管理员账号优先绑定 MFA,防止账号泄露

3.4 邮件通知配置(审批、告警、密码重置)

SMTP 配置企业邮箱,用于:用户找回密码、访问申请审批通知、异常登录告警

3.5 LDAP/AD 域集成(大企业统一账号)

系统设置 → LDAP 认证 对接公司 Windows AD / OpenLDAP,实现员工域账号直接登录堡垒机,无需重复创建账号

四、资产完整上线实操(核心业务流程)

标准链路:创建平台用户 → 创建资产节点树 → 添加资产 → 创建系统用户 → 资产授权

4.1 用户与用户组(用户管理)

  1. 创建用户组:运维组、开发组、DBA 组、审计组
  2. 创建自然人用户(一人一号,禁止共享账号)
    • 姓名、邮箱、手机号完整录入(审计溯源)
  3. 用户角色分配
    • 平台管理员:完整后台权限
    • 审计员:仅允许查看审计日志,禁止连接资产
    • 普通运维:仅我的资产权限

4.2 资产节点(资产树)

资产管理 → 节点管理 创建层级目录示例:

复制代码
/Default
├─/生产环境
│  ├─业务A服务器
│  └─数据库集群
└─/测试环境
   ├─测试web
   └─测试数据库

权限可以按节点批量授权,减少重复操作

4.3 添加资产(Linux 服务器演示)

资产管理 → 资产列表 → 创建资产 Linux 服务器

  • 名称:业务 A-web01
  • IP:172.16.10.10
  • 协议组:ssh:22
  • 平台:Linux
  • 节点:/ 生产环境 / 业务 A 服务器
两种凭证方案(推荐方案 2:密钥免密)

方案 1:密码登录(简易) 系统用户 → 创建系统用户 root,填写服务器 root 密码

方案 2:SSH 密钥(企业最佳实践)

  1. JumpServer 生成密钥对
  2. ssh-keygen -t rsa
  3. 公钥 推送至目标服务器 /root/.ssh/authorized_keys
  4. ssh-copy-id root@172.16.10.10
  5. 粘贴私钥到文本框

优势:服务器关闭密码登录,仅允许堡垒机密钥接入,安全性大幅提升

4.4 Windows 资产添加(RDP)

资产类型:Windows 协议组:rdp:3389 系统用户填写 Administrator 或域账号

注意:Windows 服务器需要开启远程桌面,防火墙放行 3389

4.5 MySQL 数据库资产(数据库网关)

  1. 创建数据库资产 → MySQL
  2. 部署数据库网关组件(容器方式)
  3. 授权 DBA 用户,支持 Web 端直接连接数据库、SQL 审计、SQL 拦截

4.6 资产授权【最关键步骤!最小权限落地】

权限管理 → 资产授权 → 创建授权 授权四要素:

  1. 用户 / 用户组(谁访问)
  2. 资产 / 资产节点(访问哪些机器)
  3. 系统用户(用什么账号登录:root/op/dev)
  4. 动作权限:连接、上传下载文件、会话分享

✅ 企业规范示例:

开发组 → 仅授权【测试环境】资产,系统用户使用普通 dev 账号,禁止分配 root 运维组 → 生产 + 测试,可使用 root 账号
禁止:一次性授权全部资产给所有人!

五、安全策略进阶配置(等保必备)

5.1 命令过滤(高危命令实时拦截)

路径:权限管理 → 命令过滤 新建黑名单命令组,阻断:

复制代码
rm -rf *, reboot, halt, init *, mkfs, dd, drop database

绑定到资产授权规则:用户执行匹配命令直接阻断,并记录告警日志

5.2 访问时段限制

资产授权内配置:仅工作日 9:00~21:00 允许登录生产服务器,下班禁止登录生产

5.3 源 IP 限制

仅允许公司办公网、VPN IP 访问堡垒机,外部陌生 IP 拒绝登录

5.4 文件传输管控

可以限制:禁止普通用户上传可执行文件(sh、elf、exe)

六、终端接入方式实操

方式 1:Web 终端(最常用,无需客户端)

用户登录堡垒机 → 我的资产 → 点击资产名称打开 web 终端

  • 支持文件上传 / 下载
  • 会话全程录像自动开启

方式 2:Xshell / SecureCRT 客户端 SSH 接入

复制代码
ssh 平台用户名@jumpserverIP -p 2222

登录后会列出自身有权限的资产,数字选择服务器连接

七、审计功能实操(事后追溯、等保检查核心)

菜单:会话审计

  1. 历史会话:查看所有人登录记录,时间、资产、登录账号
  2. 会话回放:完整录像回放所有操作(支持倍速、关键词搜索命令)
  3. 命令记录:所有执行命令文本日志
  4. 导出审计报告:支持 CSV 导出,用于等保测评

重点:所有操作不可删除、不可篡改,满足操作留痕要求

八、备份、运维、升级方案(生产生命线)

8.1 自动备份脚本(建议 crontab 每日凌晨执行)

新建 /opt/jumpserver/backup_jms.sh

复制代码
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=/data/jumpserver/backup
mkdir -p $BACKUP_DIR
# 数据库备份
/opt/jumpserver/bin/mysqldump -ujumpserver -p数据库密码 jumpserver > $BACKUP_DIR/jms_db_$DATE.sql
# 打包配置文件
tar zcvf $BACKUP_DIR/jms_config_$DATE.tar.gz /opt/jumpserver/config
# 保留30天备份
find $BACKUP_DIR -type f -mtime +30 -delete

加入定时任务

复制代码
crontab -e
0 1 * * * bash /opt/jumpserver/backup_jms.sh

8.2 日常运维命令汇总

复制代码
# 启停服务
./jmsctl.sh start
./jmsctl.sh stop
./jmsctl.sh restart
# 查看日志
./jmsctl.sh tail
# 版本升级(升级前必须先备份!)
cd jumpserver-installer-xxx
./jmsctl.sh upgrade

8.3 日志持久化对接 ELK

JumpServer 支持 syslog 输出,可以将审计日志统一推送到 Filebeat→Elasticsearch,实现集中日志检索。

九、阿里云公网访问安全方案(避坑重点)

❌ 禁止堡垒机直接绑定 EIP 暴露公网 ✅ 标准方案:阿里云 SLB (CLB) → 后端堡垒机 ECS

  1. SLB 监听 443,上传 SSL 证书,强制跳转 HTTPS
  2. SLB 访问控制:仅公司公网出口 IP 白名单
  3. 源地址保留开启(保证堡垒机日志看到真实客户端 IP)
  4. 安全组拒绝所有陌生公网源段

十、常见企业故障排查清单

  1. Web 终端连接资产立刻断开

    • 排查:堡垒机与目标资产网络互通?目标服务器防火墙是否放行堡垒机 IP?系统账号密码 / 密钥是否正确
  2. 会话录像无法播放

    • 排查:录像存储目录磁盘满、目录权限不足
  3. 用户 SSH 2222 端口无法登录

    • 安全组放行 2222 端口;检查 koko 组件是否正常运行
  4. MFA 绑定丢失无法登录 admin

    复制代码
    # 关闭指定用户MFA
    cd /opt/jumpserver
    ./jmsctl.sh shell
    from users.models import User
    u = User.objects.get(username='admin')
    u.mfa_enabled = False
    u.save()
    exit

十一、落地推行流程(给运维落地使用)

  1. 部署堡垒机、完成 HTTPS、MFA 基础配置
  2. 批量导入所有服务器资产
  3. 通知所有运维人员注册账号、绑定 MFA
  4. 逐步封堵服务器直连 22/3389 端口,只允许堡垒机访问
  5. 试运行 1~2 周,调整权限策略
  6. 正式切断所有直连服务器通道,统一堡垒机入口
相关推荐
BullSmall13 小时前
Anolis OS 8.10 Docker 部署 PostgreSQL 15 完整实操
docker·postgresql·容器
java_logo17 小时前
Docker 部署 CUPS Web:浏览器即可管理打印机与打印任务
docker·容器·打印机·轩辕镜像·cups web·cups web 镜像部署·cups web 部署教程
数据知道19 小时前
容器安全入门:Docker 逃逸原理与 5 个经典 CVE
安全·网络安全·docker·容器
run21professional20 小时前
Windows 11 + WSL + Docker Desktop 开发环境设置
运维·docker·容器
张忠琳21 小时前
【NPU】Ascend Docker Runtime v26.0.1 之三 runtime/dcmi/ — 超深度逐行分析
云原生·容器·kubernetes·npu·docker-runtime
giaming0231 天前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
自强的小白1 天前
Docker命令
java·docker·容器
暗影凋落1 天前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
极客先躯1 天前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统