JumpServer 介绍及安装部署
JumpServer 介绍及安装部署
JumpServer 介绍
一、为什么需要堡垒机
以更安全的⽅式管控和登录各种类型的资产。
堡垒机的 4A 能力
- 身份鉴别 Authentication 防⽌ 身份冒⽤ 和 复⽤
- 授权控制 Authorization 防止内部误操作和权限滥用
- 账号管理 Accounting 人员和资产的管理
- 安全审计 Auditing 追溯的保障和事故分析的依据
二、什么是 JumpServer
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 堡垒机帮助企业以更安全的方式管控和登录各种类型的资产,包括:
类型 | 内容 |
---|---|
SSH | Linux / Unix / 网络设备 等 |
Windows | Web 方式连接 / 原生 RDP 连接 |
数据库 | MySQL / MariaDB / PostgreSQL / Oracle / SQLServer / ClickHouse 等 |
NoSQL | Redis / MongoDB 等 |
GPT | ChatGPT 等 |
云服务 | Kubernetes / VMware vSphere 等 |
Web 站点 | 各类系统的 Web 管理后台 |
应用 | 通过 Remote App 连接各类应用 |
身份鉴别 Authentication | 授权控制 Authorization | 账号管理 Accounting | 安全审计 Auditing |
---|---|---|---|
登录认证 | 多维度授权 | 账号列表 | 会话审计 |
MFA认证 | 资产授权 | 账号模板 | 录像审计 |
登录复核 | 动作授权 | 账号推送 | 命令审计 |
登录限制 | 时间授权 | 文件传输 | |
命令过滤 | 实时监控 | ||
文件管理 | 登录日志 | ||
协议授权 | 操作日志 |
三、JumpServer 系统架构
JumpServer 采用分层架构,分别是负载层、接入层、核心层、数据层、存储层。
应用架构图如下:
其中,多个组件间大致的架构如下图所示:
JumpServer 安装部署
支持 Linux单机部署、Linux集群部署、k8s模式部署
一、环境要求
- 支持主流 Linux 发行版本(基于 Debian / RedHat,包括国产操作系统)
操作系统 | 架构 | Linux 内核 | 软件要求 | 最小化硬件配置 |
---|---|---|---|---|
linux/amd64 | x86_64 | >= 4.0 | wget, curl, tar, gettext, iptables, python | 2 Core / 8GB RAM / 60G HDD |
linux/arm64 | aarch64 | >= 4.0 | wget, curl, tar, gettext, iptables, python | 2 Core / 8GB RAM / 60G HDD |
二、部署演示(Linux单机部署)
1.从官网https://community.fit2cloud.com/#/products/jumpserver/downloads下载最新的离线安装包,并上传至部署服务器/opt
目录;
2.解压缩;
# 进入 /opt 目录
cd /opt
# 解压缩安装包
tar -xf jumpserver-ce-v4.0.2-x86_64.tar.gz
# 进入安装包目录
cd jumpserver-ce-v4.0.2-x86_64
3.安装;
# 安装
./jmsctl.sh install
# 启动
./jmsctl.sh start
4.访问登录
地址: http://<JumpServer服务器IP地址>:<端口默认80>
用户名: admin
密码: ChangeMe
JumpServer远程应用部署
一、功能简介
远程应用(RemoteApp)功能是微软在 Windows Server 2008之后,在其系统中集成的一项服务功能,使用户可以通过远程桌面访问远端的桌面与程序,客户端本机无须安装系统与应用程序的情况下也能正常使用远端发布的各种的桌面与应用。
二、应用发布机
- 远程应用(RemoteApp)功能需准备应用发布机环境来进行支持。
- 应用发布机是用来运行 Web 页面资产或者使用远程应用 Navicat 等连接数据的程序运行主体。
- 版本要求
应用发布机为 Windows Server 服务器:
Windows Server 2016 | Windows Server 2019 |
---|---|
- 创建应用发布机
- 系统管理员身份登录
- 点击右上角,进入系统设置
- 点击
远程应用
-应用发布机
页面的创建
按钮即新建一个应用发布机 - 支持通过 WinRM 和 OpenSSH 的协议进行应用发布机的部署(推荐使用 Windows-Server 自带的 WinRM 服务)
- 通过 WinRM 协议部署应用发布机,在创建应用发布机页面新增 WinRM 协议即可。
参数说明:
参数 | 说明 |
---|---|
名称 | 远程应用发布机的名称,识别信息。 |
IP/主机 | 远程应用发布机的IP信息。 |
协议组 | 远程应用发布机支持的协议族以及协议组的端口。 |
账号列表 | 远程应用发布机的连接账号信息,例如 Administrator 用户。 |
自动创建帐号 | 该选项创建的帐号用于连接发布的应用。 |
创建帐号数量 | 公用帐号创建的数量。 |
Core服务地址 | 远程应用发布机的 Agent 与 JumpServer 后端 Core 组件服务的通信地址。 |
RDS 许可证 | RDS 许可证启用选项。 |
RDS 许可服务器 | RDS 许可服务器信息。 |
RDS 授权模式 | 选择"设备"或"用户"设置授权模式。 |
A.设备:允许一台设备(任何用户使用的)连接到远程应用发布机。 | |
B.用户:授予一个用户从无限数目的客户端计算机或设备访问远程应用发布机。 | |
RDS 单用户单会话 | 选择"禁用"或"启用"设置单用户单会话模式。 |
A.禁用:允许每个用户可以同时多台客户端电脑连接服务器远程桌面。 | |
B.启用:禁止每个用户可以同时多台客户端电脑连接服务器远程桌面。 | |
RDS 最大断开时间 | 如果某个会话连接达到了此最大时间,连接即断开。 |
RDS 远程应用注销时间限制 | 远程应用会话断开后的注销时间。 |
- 通过 OpenSSH 协议部署需要安装 OpenSSH ,可以在 JumpServer 页面 -
帮助
-关于
-下载中心
页面找到 OpenSSH 安装包。
- 下载 OpenSSH 安装包后,传到应用发布机桌面,双击进行安装
- 安装完成后,在创建应用发布机页面选择 OpenSSH 协议进行配置即可
参数说明:
参数 | 说明 |
---|---|
名称 | 远程应用发布机的名称,识别信息。 |
IP/主机 | 远程应用发布机的IP信息。 |
协议组 | 远程应用发布机支持的协议族以及协议组的端口。 |
账号列表 | 远程应用发布机的连接账号信息,例如 Administrator 用户。 |
自动创建帐号 | 该选项创建的帐号用于连接发布的应用。 |
创建帐号数量 | 公用帐号创建的数量。 |
Core服务地址 | 远程应用发布机的 Agent 与 JumpServer 后端 Core 组件服务的通信地址。 |
RDS 许可证 | RDS 许可证启用选项。 |
RDS 许可服务器 | RDS 许可服务器信息。 |
RDS 授权模式 | 选择"设备"或"用户"设置授权模式。 |
A.设备:允许一台设备(任何用户使用的)连接到远程应用发布机。 | |
B.用户:授予一个用户从无限数目的客户端计算机或设备访问远程应用发布机。 | |
RDS 单用户单会话 | 选择"禁用"或"启用"设置单用户单会话模式。 |
A.禁用:允许每个用户可以同时多台客户端电脑连接服务器远程桌面。 | |
B.启用:禁止每个用户可以同时多台客户端电脑连接服务器远程桌面。 | |
RDS 最大断开时间 | 如果某个会话连接达到了此最大时间,连接即断开。 |
RDS 远程应用注销时间限制 | 远程应用会话断开后的注销时间。 |
- 部署应用发布机
- 点击应用发布机名称进入应用发布机详情页中,选择
发布机部署
页签,点击初始化部署
按钮,初始化应用发布机 - 查看日志,确保部署成功
- 点击应用发布机名称进入应用发布机详情页中,选择
三、远程应用
添加远程应用
- 系统管理员身份登录
- 点击右上角,进入系统设置
- 点击
远程应用
-远程应用
页面 - 点击
应用市场
,下载所需远程应用 - 点击
上传
,上传远程应用
部署远程应用
- 点击
应用发布机
页签 - 点击应用发布机名称进入应用发布机详情页中,选择
远程应用
页签 - 点击所需应用的
部署
按键进行远程应用部署,发布状态为成功
即部署成功
- 点击
四、创建 Web 资产
JumpServer管理员手册
该章节包含JumpServer堡垒机管理员基础功能配置
一、页面说明
- 控制台:管理员操作入口,通过控制台,管理员可进行用户管理、资产管理、应用管理、账号管理、权限管理、访问控制等配置。
- 审计台:审计员操作入口,通过审计台,审计员可查看各会话的连接详细信息及各类型日志,组织审计员只能够看到该组织下的相关数据。
- 工作台:普通用户操作入口,通过工作台,普通用户可以通过工作台看到自己有权限操作运维的资产。
二、用户管理
- 创建用户
- 进入
控制台
- 点击
用户管理
-用户列表
页面的创建
按钮,进入用户详细创建页面。
参数 | 说明 |
---|---|
名称 | 用户识别名称,可重复。 |
用户名 | 登录 JumpServer 的登录账号,不可重复。 |
邮箱 | 登录账号对应的邮箱地址,不可重复。 |
用户组 | 将用户按组进行管理,主要用于资产授权,当某个资产对某个用户组授权时,这个用户组所有的用户都对这个资产有相应的权限。 |
密码策略 | 密码在管理员创建用户的过程中可以自主设置;也可以生成密码连接,通过邮件发送给用户。JumpServer 会发送一条“设置用户密码”的邮件到所填写的用户邮箱。 |
MFA | 多因子身份认证。启用 MFA 后,用户登录时需输入用户名、密码(第一安全要素)及 MFA 设备的动态验证码(第二安全要素),提高账户安全保护。 |
来源 | 指定该用户的来源,如手动创建则为“数据库”,如从 LDAP 中导入则为 “LDAP”。 |
系统角色 | 系统角色决定用户在系统层面的权限(如系统管理员、审计员、用户/其他自定义角色)。 |
组织角色 | 组织角色决定用户在组织层面的权限(如组织管理员、审计员、用户/其他自定义角色)。 |
激活 | 表示用户状态是否正常可登录,非激活状态用户不可登录。 |
失效日期 | 指用户可进行登录的最后日期,失效后不可登录。 |
手机 | 非必填项,配置用户的手机号,用于 “MFA” 手机短信的接收。 |
备注 | 非必填项,管理员配置该用户的备注信息。 |
- 创建用户组
- 进入
控制台
- 点击
用户管理
-用户组
页面的创建
按钮,进入用户组创建页面。
参数 | 说明 |
---|---|
名称 | 用户组名称。 |
用户 | 将用户添加到该用户组中。 |
三、资产管理
- 手动创建资产
- 进入
控制台
- 点击
资产管理
-资产列表
进入页面 - 点击页面左上角的
创建
按钮,选择资产类型(以 Linux 主机为例),进入资产创建页面,填写资产详细信息。
参数 | 说明 |
---|---|
名称 | 必填项,该资产在 JumpServer 中的名称,与资产本身计算机名无关,不可重名。 |
IP/主机 | 必填项,资产的真实 IP 或 VIP 或域名。允许重名。 |
资产平台 | 默认项,资产的资产平台,各个平台可以设置不同的字符编码及连接参数以及改密命令。 |
节点 | 必填项,该资产所属于的节点。 |
协议组 | 必填项,资产访问时用到的协议,可选一个或多个。 |
账号列表 | 必填项,该资产的账号,可创建多个账号。账号与资产绑定。 |
网域 | 可选项,针对某些跨网段资产,需要以网域网关(sshpass)为代理进行访问。 |
标签 | 可选项,给该资产添加的标签, 方便管理。 |
激活 | 必选项,该资产是否可使用。 |
- 通过 Excel 批量导入资产
- JumpServer 提供两种模板信息,csv 与 xlsx
- 进入
控制台
- 点击
资产管理
-资产列表
点击资产分类进入具体的分类页面 - 首次导入资产,可点击资产列表的右上角导入按钮,下载导入模板后根据模板提示填写需要导入或更新的信息,填写完成后在导入页面导入文件即可。
- 创建 Web 资产
- 进入
控制台
- 点击
资产管理
-资产列表
进入页面 - 点击页面左上角的
创建
按钮,选择资产类型(Web - Website),进入资产创建页面,填写资产详细信息 - 其中
选择器
参数,需要根据目标 Url 页面中的代码参数中获取,正确配置起到密码代填及自动登录的功能 - 通过 F12 打开目标 Url 的开发者工具页面,步骤如下图:
- 依次获取“用户名”、“密码”、“登录按钮”对应的选择器id与参数
- 把获取到的参数填写至创建的目标 Website 资产,如下图:
- 完成其他信息填写后,点击
提交
完成 Web 资产创建
四、权限管理
- 授权简述
- 资产的授权规则通过三个维度确定用户拥有什么样的权限;
- 资产授权规则三个维度分别如下:
维度 | 说明 |
---|---|
用户 | 用户维度主要包括用户与用户组(代表该用户组下所有的用户) |
资产 | 资产维度主要包括资产、节点(资产组的概念,代表该节点下的所有资产)、账号(登录资产的账号) |
动作 | 动作维度主要包括连接权限、上传下载权限、复制粘贴权限(仅支持SSH协议、RDP协议和VNC协议) |
- 创建资产授权规则
- 进入
控制台
- 点击
授权管理
-资产授权
进入页面 - 点击
创建
按钮,进入资产授权创建页面
如示例图,创建了user组
用户授权/DEFAULT/Linux主机
节点的权限
参数 | 说明 |
---|---|
名称 | 授权规则的名称。 |
用户 | JumpServer 登录用户,即给该用户授权后续资产的连接或其它权限。 |
用户组 | JumpServer 登录用户组,即给该用户组授权后续资产的连接或其它权限。 |
资产 | 授权的资产,即用户需求连接的资产。 |
节点 | 授权的节点,即用户需求连接的资产组。 |
账号 | 授权资产登录的账号。 |
A. 所有账号:资产上添加的所有账号都授权; | |
B. 指定账号:手动输入需要授权的账号名称; | |
C. 手动输入:授权用户连接时自行输入用户名/密码; | |
D. 同名账户:授权用户连接时使用与用户同名的账号。 | |
协议 | A. 所有:所有协议均可使用; |
B. 指定: 指定用户使用 SSH、SFTP、RDP 等协议。 | |
权限 | 授权的动作,即用户对资产可以做什么。 |
注:剪贴板权限控制目前仅支持 RDP/VNC 协议的连接。 | |
开始日期 | 该授权规则开始的时间,默认为该授权规则创建的时间。 |
失效日期 | 该授权规则失效的时间。 |
JumpServer用户手册
该章节包含JumpServer堡垒机用户基础操作
一、连接资产
1. Web终端
- 点击页面右上角图标,跳转到 Web 终端页面,并在跳转后的页面发起资产访问。
- 选择资产 - 连接协议 - 登录账号 - 连接方式
Web SSH连接效果如下:
Windows RDP连接效果如下:
Web 资产连接效果如下:
2. 本地SSH客户端
- JumpServer客户端,用来唤起特定客户端程序连接资产,在 JumpServer 页面 -
帮助
-关于
-下载中心
页面下载 JumpServer 客户端安装包。
- 安装JumpServer客户端
- 配置JumpServer客户端
运行JumpServer客户端,按需配置本地SSH、SFTP等客户端,用于连接资产时唤醒
- 连接资产时,连接方式选择客户端 - 启用SSH Client
本地SSH客户端连接效果如下:
JumpServer审计员手册
该章节包含JumpServer堡垒机审计员基础操作
以审计员身份登录JumpServer
一、仪表盘
- 切换至审计台
- JumpServer 审计台初始页面参考下图,可以查看当前组织的日志详情。
- 仪表盘页面可查看日志数量、会话数量、会话登录趋势、用户登录趋势等。
二、会话审计
1. 会话记录
会话记录包含在线会话与历史会话两部分,主要展示的信息有登录资产的会话详细记录,包含用户、协议、远端地址、会话时间以及会话录像等。
- 在线会话
在线会话可以查看到所有目前正在使用 JumpServer 登录资产的会话。并且可以实时监控,在出现不合规操作时,可直接终断会话。
- 历史会话
历史会话可以查看所有 JumpServer 连接资产的详细信息以及操作录像,方便进行回溯与追责。
JumpServer 可以在线浏览器查看录像或者下载录像到本地通过 JumpServer 离线录像播放器播放录像。
会话审计回放效果如下:
2. 命令记录
命令记录主要显示用户在资产连接后执行的命令,单击某一行记录,可以查看命令执行的详细结果。
- 点击图示下拉框,可以展示命令执行结果的部分内容输出。
3. 文件传输
文件传输可以查看所有上传/下载文件到资产上的历史记录。
4. 在线用户
在线用户可以查看当前系统在线用户,可进行强制离线操作。
三、日志审计
1. 登录日志
- 登录日志是指 JumpServer 平台的用户登录日志,可以查看到用户登录 JumpServer 的详细信息
- 包括用户的登录类型、登录IP、登录城市、登录日期、登录失败的原因等信息。
2. 改密日志
- 改密日志是针对于 JumpServer 平台用户的改密日志,即 JumpServer 用户的账号改密。
- 主要记录信息为改密用户、修改者、日期等信息。
3. 操作日志
- 操作日志是指整个 JumpServer 平台的管理操作日志,在此页面可以查看操作的用户、资产类型、操作的日志等信息。
- 具体的操作变更可以点击操作日志后方的
查看
按钮。
4. 作业日志
- 作业任务是针对于用户的作业中心功能中任务执行的日志信息记录。
- 主要记录信息为任务创建者、执行命令、是否完成/成功、日期等信息,并且可以输出执行任务记录。