跳转至

05-jumpserver部署手册-3.0v

理论知识篇

JumpServer 是什么

JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。

JumpServer 堡垒机帮助企业以更安全的方式管控和登录各种类型的资产

image-20250702104027040

image-20250702103244348

JumpServer 堡垒机支持的资产类型包括:

  • SSH (Linux / Unix / 网络设备 等)
  • Windows (Web 方式连接 / 原生 RDP 连接)
  • 数据库 (MySQL / MariaDB / Oracle / SQLServer / PostgreSQL / ClickHouse 等)
  • NoSQL (Redis / MongoDB 等)
  • GPT (ChatGPT 等)
  • 云服务 (Kubernetes / VMware vSphere 等)
  • Web 站点 (各类系统的 Web 管理后台)
  • 应用 (通过 Remote App 连接各类应用)

JumpServer产品特色

JumpServer 的产品特色包括:

  • 开源:零门槛,线上快速获取和安装;
  • 分布式:轻松支持大规模并发访问;
  • 无插件:仅需浏览器,极致的 Web Terminal 使用体验;
  • 多云支持:一套系统,同时管理不同云上面的资产;
  • 云端存储:审计录像云端存储,永不丢失;
  • 多租户:一套系统,多个子公司和部门同时使用;
  • 多应用支持:数据库,Windows 远程应用,Kubernetes。

image-20250702104056762

JumpServer产品功能

分类 功能项 功能描述
身份验证 (Authentication) 登录认证 LDAP / AD 认证;CAS 认证;Passkey 认证;RADIUS 认证;支持单点系统对接 (OpenID、OAuth 认证、SAML2 认证);SSO 对接;支持扫码登录 (企业微信、钉钉和飞书);X-Pack
MFA 认证 OTP 认证;RADIUS 二次认证;短信认证 (阿里云、腾讯云、华为云、CMPP v2.0);X-Pack
登录复核 用户登录 JumpServer 系统行为受管理员的监管与控制;X-Pack
登录限制 用户登录来源 IP 受管理员控制 (支持黑/白名单);自定义控制用户登录时间段;控制 (复核) 用户登录时间段;X-Pack
角色管理 用户行为支持基于角色的访问控制 (RBAC);X-Pack
授权控制 (Authorization) 多维度授权 支持对用户、用户组、资产、资产节点以及账号进行授权;
资产授权 资产以树状结构进行展示;资产和节点均可灵活授权;节点内资产自动继承授权;子节点自动继承父节点授权;
动作授权 实现对授权资产的文件上传、下载以及连接动作的控制;支持 RDP 协议剪贴板复制/粘贴控制 (Windows 资产);
时间授权 实现对授权资产使用时间段的限制;
命令过滤 实现对授权账号所执行的命令进行控制;
文件管理 支持 SFTP 文件上传/下载;支持 Web SFTP 文件管理;
协议授权 实现对授权资产的连接协议进行访问控制;
工单管理 支持对用户登录行为进行控制;支持资产授权工单申请;支持二级审批流程;X-Pack
组织管理 实现多组织管理与权限隔离;全局组织功能;X-Pack
访问控制 支持用户登录资产时的访问控制,包括接受、拒绝和复核;X-Pack
账号管理 (Accounting) 账号列表 支持查看所有账号信息;
账号模版 针对用户名和认证信息相同的账号,可以抽象为一个账号模版,快速和资产进行关联并生成账号;
账号推送 自定义任务定期推送账号到资产;
账号存储 支持使用外部账号密文存储系统 (HashiCorp Vault);X-Pack
账号收集 自定义任务定期收集主机用户;X-Pack
账号改密 定期批量修改资产账号密码;支持多种密码策略;X-Pack
账号备份 定期备份资产账号信息,并以邮件附件的形式发送备份文件 (加密);X-Pack
安全审计 (Auditing) 会话审计 支持在线会话内容审计;历史会话内容审计;支持会话附加水印信息;
录像审计 支持对资产操作的录像进行回放审计;支持将审计录像上传至公有云;
命令审计 支持对资产操作的命令进行审计;支持高危命令告警;
文件传输 支持对文件的上传/下载记录进行审计;
实时监控 支持管理员/审计员实时监控用户的操作行为,并可进行实时中断,以提升用户操作的安全性;
登录日志 支持对用户的登录行为进行审计;支持将审计信息同步至 Syslog 日志系统;
操作日志 支持对用户的操作行为进行审计;
改密日志 支持对用户修改密码的行为进行审计;
作业日志 支持对自动化任务的执行记录进行审计;
活动日志 支持按照时间线记录每一种资源的活动日志;
其他 (Other) 资产同步 支持对公有云、私有云资产的自动同步 (支持包括阿里云、腾讯云、华为云、AWS中国、AWS国际、Azure中国、Azure国际、谷歌云、VMware等在内的23种云平台);支持对局域网内资产的自动发现;X-Pack
远程应用 全新的远程应用设计体系,支持自动管理远程应用 (MySQL Workbench8、Navicat Premium 16 (X-Pack)) 和一键部署远程应用发布机;
虚拟应用 全新的虚拟远程应用设计体系,支持使用 Linux 系统作为远程应用发布机;X-Pack
作业中心 支持对批量资产执行快捷命令、命令脚本以及 Playbook 脚本;
个性化设置 支持自定义 LOGO 与主题;X-Pack
数据库资产连接 MariaDB、MySQL、Redis、MongoDB;Oracle、SQL Server、PostgreSQL、ClickHouse、DB2、达梦数据库;X-Pack
高清晰度 RDP 连接 支持高清晰度 RDP 客户端连接;X-Pack
录像云端存储 录像云端存储,支持 Amazon S3、腾讯云 COS、阿里云 OSS、华为云 OBS、Ceph、Swift、Azure;
Kubernetes管理 支持对 Kubernetes 进行运维审计;
批量传输 支持对批量资产传输文件;
智能问答 支持在线智能问答功能 (基于GPT 模型);

JumpServer应用架构

  • JumpServer 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层。
  • JumpServer 应用架构图如下:

image-20250702104807872

JumpServer组件说明

  • Core 组件是 JumpServer 的核心组件,其他组件依赖此组件启动。
  • Koko 是服务于类 Unix 资产平台的组件,通过 SSH、Telnet 协议提供字符型连接。
  • Lion 是服务于 Windows 资产平台的组件,用于 Web 端访问 Windows 资产。
  • XRDP 是服务于 RDP 协议组件,该组件主要功能是通过 JumpServer Client 方式访问 windows 2000、XP 等系统的资产。
  • Razor 是服务于 RDP 协议组件,JumpServer Client 默认使用 Razor 组件访问 Windows 资产。
  • Magnus 是服务于数据库的组件,用于通过客户端代理访问数据库资产。
  • Kael 是服务于 GPT 资产平台的组件,用于纳管 ChatGPT 资产。
  • Chen 是服务于数据库的组件,用于通过 Web GUI 方式访问数据库资产。
  • Celery 是处理异步任务的组件,用于执行 JumpServer 相关的自动化任务。
  • Video 是专门处理 Razor 组件和 Lion 组件产生录像的格式转换工作,将产生的会话录像转化为 MP4 格式。
  • Panda 是基于国产操作系统的应用发布机,用于调度 Virtualapp 应用。

JumpServer优缺点

优点 缺点
1. 开源免费:完全开源,无需额外支付许可费用。
2. 多协议支持:覆盖 SSH、RDP、VNC、Telnet、SFTP、Kubernetes 等多种协议。
3. 细粒度权限控制:基于 RBAC 和 ABAC 模型,支持时间、IP 限制,确保安全访问。
4. 全面审计:提供会话录像、命令审计、文件传输审计等功能,满足合规需求。
5. 多云管理:支持混合云环境,统一管理公有云、私有云及本地资产。
6. 扩展性强:通过插件和 API 支持功能扩展,易于集成其他系统。
7. Web 终端:浏览器直接访问资产,提升用户体验。
1. 学习成本高:功能丰富但复杂,初次使用需投入时间学习。
2. 资源消耗大:高并发或大规模部署时,对服务器资源要求较高。
3. 社区版功能有限:部分高级功能仅在企业版提供,社区版受限。
4. 维护复杂:需定期更新和维护,确保系统安全稳定。
5. 依赖外部组件:如数据库、Redis 等,增加部署和维护难度。

JumpServer架构图

  • JumpServer 分为多个组件,大致的架构如下图所示,其中 LinaLuna 为纯静态文件,最终由 Nginx 整合。

image-20250702104948042

JumpServer未来趋势

  • 功能定位:作为VPN后的二次安全验证节点,实现运维操作审计和权限控制
  • 核心功能:
  • 操作审计:完整记录所有操作过程,支持录像回放
  • 命令管控:对危险命令进行实时拦截或警告(如rm -rf等)
  • 权限隔离:通过特权用户机制实现最小权限分配
  • 产品形态:
  • 开源方案:JumpServer/Cobbler等
  • 商业产品:物理设备或云服务版本
  • 发展趋势:功能模块持续迭代(如JumpServer每季度界面更新)

实战部署篇

JumpServer环境说明

  • 支持主流 Linux 发行版本(基于 Debian / RedHat,包括国产操作系统)

  • 技术栈:

  • 开发框架:基于Django框架开发
  • 部署模式:支持单机/集群/K8s等多种部署方案
  • 版本选择:
  • 当前稳定版:v3.1.1
  • 大版本兼容:v3.x系列功能差异较小
  • 部署建议:
  • 单机部署:推荐测试环境使用,需2核8G以上配置
  • 集群部署:适用于生产环境,需配合HAProxy实现负载均衡

  • 环境要求:

  • 系统架构:支持x86_64/arm64/loongarch等架构
  • 内核版本:Linux kernel ≥4.0(x86平台)
  • 依赖组件:需预装tar等基础工具
  • 安装流程:
  • 下载离线包(约3GB)至/opt目录
  • 解压安装包:tar -xf jumpserver-offline-installer-v3.1.1-amd64-264.tar.gz
  • 按需修改config-example.txt配置文件
  • 执行安装脚本
  • 注意事项:
  • 国内用户建议使用华为云镜像加速
  • 数据库目录默认持久化在/data/jumpserver
  • SECRET_KEY需妥善保管且迁移时保持一致

JumpServer环境准备

一:硬件设备准备

电脑一台,内存>=16G,可用磁盘空间大于 80G。

安装 VMware Workstation Pro 虚拟机软件,用于创建虚拟机。

创建二台虚拟机,安装 CentOS-7.9-x86_64 系统。

二:实验环境详情

主机名称 IP地址(NAT) 系统版本 描述
linux-node1 eth0: 192.168.1.11 centos7.9 2VCPU,4G内存,一块系统盘sda100G
linux-node2 eth0: 192.168.1.12 centos7.9 2VCPU,4G内存,一块系统盘sda100G

备注: 安装的时候将网卡命名为 eth0,eth1格式

三:虚拟机环境准备

安装操作系统 CentOS-7-x86_64。

l基本系统: 2VCPU+4096M 内存+100G

  1. 网络选择:使用网络地址转换( NAT)。

  2. 软件包选择: Minimal Install。

  3. 关闭 iptables 和 SELinux。

四:系统环境初始化

参考文档: 01-实验环境准备-centos7.x

五:使用现成的虚拟机vmware模版

当然我们也可以使用现成的已经做好的vmware虚拟机模版这样可以事半功倍,虚拟机模版下载地址

链接:https://pan.baidu.com/s/1eRmDwzOBEYM7cZlNA6kFYw 提取码:gurv

目录结构: 00-运维之旅文件汇总/Chrisjing的底层运维之旅/00-入门学习所需工具/00-入门学习所需工具/centos79-template/centos79-template-mima123456

JumpServer安装部署:

安装方式
1. Docker 容器化安装:通过 Docker 和 Docker Compose 快速部署,适合快速搭建测试或小型环境。
2. Kubernetes 部署:利用 Helm Chart 或手动配置在 Kubernetes 集群上部署,适合生产环境或需要高可用的场景。
3. 手动安装:在 Linux 服务器上手动安装依赖项并配置服务,灵活适应特殊环境需求。
4. 云市场镜像:通过云平台提供的 JumpServer 镜像一键部署,简化安装流程。
5. 在线安装:需要消耗网络带宽 下载相关的docker镜像和依赖的软件包
6. 离线安装(新手推荐):直接下载离线包上传到linux机器上 一键安装,非常方便
7.1Panel:飞至云旗下的一款开源linux面板,里面提供了快速安装jumpserver的功能
8.源码包安装:使用源码编译的方式进行安装,优点可以定制化,缺点是安装非常繁琐,步骤很多及其容易报错