2023 年 8 月 21 日,JumpServer 开源堡垒机正式发布 v3.6.0 版本。在这一版本中,用户管理层面,JumpServer 支持用户批量连接资产,通过 Web GUI 方式连接的数据库支持对表名和列名进行自动补全,Web Terminal 页面的会话 Tab 窗口支持手动拖拽位置。作业中心方面,支持对 MySQL、PostgreSQL、SQL Server 数据库进行批量操作,大幅提高了用户的工作效率。
管理员层面,该版本支持管理员对在线会话执行暂停和恢复操作,支持配置会话的最大在线时长,并且支持将长时间未登录的用户重置为 “未激活” 状态。另外,在远程应用方面,JumpServer 支持单个远程应用一键批量部署到多台发布机,增强了管理员对堡垒机上资产的控制能力。
X-Pack 增强包方面,新版 JumpServer 的 “云同步” 模块强化了同步策略,支持以更灵活的配置方式来满足广大用户不同的同步场景。同时,JumpServer 也加强了账号备份的安全机制,备份内容支持拆分分段发送给不同的用户,以提高系统安全性。
另外,新版本 JumpServer 支持对接第三方密钥存储系统,这样一来,堡垒机上的账号密钥信息可以同步至第三方密钥存储系统中。
新增功能
1. 支持批量连接资产(Web Terminal 页面)
在 JumpServer v3.6.0 版本中,JumpServer 支持用户批量连接资产,用户可以通过 “多选” 功能一键连接多个指定资产。
▲图 1 支持批量连接资产(Web Terminal 页面)
2. 对于使用 Web GUI 方式连接的数据库,支持对表名和列名进行自动补全
在 JumpServer v3.6.0 版本中,使用 Web GUI 方式连接数据库后,在查询有关于表和列的操作时,会有相应的字段提醒功能。
▲图 2 对于使用 Web GUI 方式连接的数据库,支持对表名和列名进行自动补全
3. 在线会话支持管理员执行会话暂停和恢复操作
JumpServer v3.6.0 版本中,选择 “审计台 “→ “会话审计”→ “会话记录”,管理员可以对当前在线的会话执行 “暂停” 和 “恢复” 操作,被 “暂停” 的会话将无法操作,直到被管理员选择 “恢复” 选项进行恢复。
▲图 3 在线会话支持管理员执行会话暂停和恢复操作
4. 对于 Web Terminal 页面的会话 Tab 窗口,支持手动拖拽位置
在 JumpServer v3.6.0 版本中,用户在使用 Web Terminal 方式连接资产时,可以对相应的 Tab 窗口进行手动拖拽,重新排列位置。
5. 新增虚拟账号列表,支持查看同名账号、手动输入、匿名账号的相关描述信息,支持设置同名账号的密码使用策略
在 JumpServer v3.6.0 版本中,如果授权的是同名账号,AD/LDAP 用户支持使用其账号密码登录资产,密码优先级为:纳管密码 > 用户登录密码 > 手动代填。
▲图 4 虚拟账号列表支持查看同名账号、手动输入、匿名账号的相关描述信息
6. 支持配置会话最大连接时长,超过最大时长时系统自动强制断开会话
在 JumpServer v3.6.0 版本中,支持在 “系统设置” 页面对会话的最大连接时长进行配置,当会话到达最大连接时长配置项的值后,会话会被强制断开。
▲图 5 支持配置会话的最大连接时长
7. 会话分享支持发送消息通知至被分享者
在 JumpServer v3.6.0 版本中,当一个会话被分享到指定人时,被指定人的站内信将会收到一条分享会话的消息通知。
▲图 6 会话分享支持发送消息通知到被分享者
8. 系统工具新增 Nmap 和 TCPDUMP 工具
在 JumpServer v3.6.0 版本中,选择 “系统设置”→“系统工具”,新增 Nmap(端口扫描)和 TCPDUMP(网络数据采集分析)工具,管理员可以在 Web 页面上进行简单的工具操作,便于排查堡垒机相关问题。
▲图 7 系统工具新增 Nmap 和 TCPDUMP 工具
9. 支持自动禁用长时间未登录的用户
JumpServer v3.6.0 版本新增了一个定时任务,主要的作用是将长时间未登录的用户更改为失效状态,默认时间为 30 天。
▲图 8 支持自动禁用长时间未登录的用户
10. 作业中心支持对 MySQL、PostgreSQL、SQL Server 数据库进行批量命令操作
在 JumpServer v3.6.0 版本中,“作业中心” 新增了执行的命令种类,可以对 MySQL、PostgreSQL、SQL Server 数据库进行批量命令操作,快速对多副本资产进行重复命令操作。
▲图 9 作业中心支持对多种数据库进行批量命令操作
11. 对于 Web Terminal 页面,连接资产时支持 Guide 模式(即显示资产连接密钥字符串)
在 JumpServer v3.6.0 版本中,用户在连接资产后可选择 “Guide 模式”。此模式将会展示详细的操作命令提示,便于用户复制执行。
▲图 10 Web Terminal 页面连接资产支持 Guide 模式
12. 单个远程应用支持一键批量部署到多台应用发布机
在 JumpServer v3.6.0 版本中,支持将单个远程应用批量推送至纳管的远程发布机上。
▲图 11 支持将单个远程应用批量部署到多台应用发布机
13. 重构 JumpServer Client,支持可视化配置和拉起原生客户端工具(升级版本后需要重新安装新版 Client 客户端)
JumpServer v3.6.0 版本重构了 JumpServer Client。从该版本之后,JumpServer Client 就拥有了自己的显示界面,通过本地命令行启动配置项,支持可视化配置和拉起原生客户端工具(升级版本后需要重新安装新版 Client 客户端),未来在使用体验上将会变得更加灵活。
▲图 12 JumpServer Client 支持可视化配置和拉起原生客户端工具
14. “云同步” 模块支持配置多种同步策略(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,“云同步” 模块抛弃了之前固定的属性设置策略,采取了用户可配置的组合同步策略。
根据策略中的属性匹配,“云同步” 可以灵活地将账号、平台、协议、网域网关和节点等信息设置到同步的实例上。
▲图 13 云同步支持配置多种同步策略(X-Pack 增强包内)
15. 应用发布机支持通过网域网关进行连接(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,远程应用发布机支持配置网域网关连接,实现 “跳板机” 的功能。
16. 账号备份支持将密钥分段发送给不同的接收人(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,账号备份的安全模式再次升级,支持将密钥敏感信息通过邮件的方式拆分发送给不同的接收人。
\
▲图 14 账号备份支持将密钥分段发送给不同的接收人(X-Pack 增强包内)
17. 对于 Oracle 数据库,支持通过 Web GUI 方式使用 SYSDBA 角色进行连接(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,用户可以在 “系统平台”→“Oracle” 协议中,点击齿轮按钮设置此平台协议下的 Oracle 数据库在连接时使用 “SYSDBA” 角色进行连接。
▲图 15 对于 Oracle 数据库支持通过 Web GUI 方式使用 SYSDBA 角色连接(X-Pack 增强包内)
18. 账号密钥支持使用 HashiCorp Vault 第三方密钥存储系统(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,账号密钥支持第三方密钥存储系统。用户需要在 “config.txt” 配置文件中修改参数 “VAULT_ENABLED” 为 “true”,然后回到页面进行配置即可。
▲图 16 账号密钥支持使用 HashiCorp Vault 第三方密钥存储系统(X-Pack 增强包内)
19. 资产登录复核工单功能支持审批人对当前会话执行暂停和恢复动作(X-Pack 增强包内)
在 JumpServer v3.6.0 版本中,对于 “登录复核” 连接成功的资产所生成的会话,工单审批者可以在 “工单详情” 页面的右下角处对该连接会话进行控制(包括暂停、恢复、终断和监控操作)。
▲图 17 资产登录复核工单支持审批人对当前会话执行暂停和恢复动作(X-Pack 增强包内)
功能优化
■ 优化飞书信息的消息通知文案 ,感谢 @BoringCat(https://github.com/BoringCat)的贡献;
■ 重构 Kael 组件,提高响应速度(使用 Go 语言);
■ 优化组件监控页面;
■ 优化远程应用页面,增加应用市场链接;
■ 优化工作台的 “最近会话” 列表,支持一键连接资产;
■ 优化资产协议,支持对 SSH 和 SFTP 进行单独配置;
■ 优化应用发布机的创建,支持控制账号的数量和是否自动创建;
■ 创建用户时,默认添加到 “Default” 组织的 “Default” 用户组;
■ 使用 “RDP 文件” 方式连接到 Windows 资产时,支持多屏显示控制选项;
■ 优化组件的操作行为不记录到操作日志列表的问题;
■ 连接 Kubernetes 资产时,支持通过网域网关进行连接;
■ 优化 Telnet 资产平台,支持自定义 Prompt 的提示信息;
■ 优化资产测试可连接和账号改密功能,支持 “sudo” 和 “su” 切换用户(针对 Paramiko 方式);
■ Web 资产平台支持开启和关闭安全模式,用于控制连接 Web 资产后,是否允许打开新的窗口和访问不同域的地址;
■ 优化 Web Terminal 页面左侧用户授权资产树的右击操作,支持展开 / 折叠其子节点和节点下的所有资产;
■ 优化文件管理功能,上传文件时,如果存在同名文件,则使用新名称进行保存;
■ 优化 “资产详情” 页面,通过账号模版添加账号时,支持搜索指定模版;
■ 优化固定 Video-Worker 组件的 CPU 使用数量为 2,解决录像转码过程中资源占用较高的问题;
■ 移除通过 Web CLI 方式连接 MySQL、PostgreSQL、SQLServer、MariaDB 等数据库功能,建议通过 Web GUI 方式进行连接;
■ 优化应用连接的发布机账号选择策略,主机和应用都支持并发时,使用私有账号(jms_account)进行连接;不支持并发时,优先使用私有账号,其次使用公共账号(js_account)进行连接;
■ 优化工单管理功能,支持批量审批功能(X-Pack 增强包内);
■ 优化 SYSTEM 组织不允许被删除(X-Pack 增强包内);
■ 优化账号改密的密码校验逻辑,解决改密成功后可能导致未保存密码的问题(X-Pack 增强包内);
■ 组织角色中增加连接令牌的权限设置,并关联到工作台权限位(X-Pack 增强包内)。
Bug 修复
■ 修复批量更新资产时出现报错的问题;
■ 修复使用同名账号登录 Web 资产时,用户名代填失败的问题;
■ 修复由于资产的名称太长,导致资产连接失败的问题;
■ 修复 “MAX_LIMIT_PER_PAGE” 配置项的默认值和数据类型转换失败的问题;
■ 修复用户 “SSH Public Key” 的校验逻辑,解决用户个人信息页面上传公钥失败的问题;
■ 修复 “忘记密码” 页面发送短信时,手机号包含 “+” 字符显示用户未找到的问题;
■ 修复应用发布机创建同名账号时,包含组件名称用户的问题;
■ 修复连接资产时,删除上次连接的资产协议(例如:VNC),导致连接报错的问题;
■ 移除 Nginx 缓存配置,解决多台发布机之间获取账号列表不准确的问题;
■ 修复 “系统设置” → “消息订阅” →“修改订阅人” 中,用户名显示存在的 XSS 漏洞问题;
■ 修复账号列表添加账号时,会明文显示的问题;
■ 修复资产列表导出筛选的资源不生效的问题;
■ 修复 “标签列表” 页面中,点击 “资产数量” 会跳转到空白页面的问题;
■ 修复通过 Web GUI 方式连接 Windows 资产时,窗口比例不正确的问题;
■ 修复连接 SUSE 操作系统资产失败的问题(KoKo);
■ 修复 Web Terminal 页面登录资产时,“记住密码” 选项未勾选依然生效的问题;
■ 修复通过 XRDP 组件使用远程客户端连接 Windows 资产时,复制 / 粘贴、上传 / 下载权限控制不生效的问题(X-Pack 增强包内)。