05-jumpserver部署手册-3.0v¶
理论知识篇¶
JumpServer 是什么¶
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。
JumpServer 堡垒机帮助企业以更安全的方式管控和登录各种类型的资产
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。
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 应用架构图如下:
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未来趋势¶
- 功能定位:作为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
-
网络选择:使用网络地址转换( NAT)。
-
软件包选择: Minimal Install。
-
关闭 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.源码包安装:使用源码编译的方式进行安装,优点可以定制化,缺点是安装非常繁琐,步骤很多及其容易报错 |