前言
随着企业 IT 基础设施规模的不断扩大,运维安全和合规监管变得愈发重要。堡垒机作为统一的访问入口,承担着认证、授权、审计等关键职责。
OneTerm 是维易开源矩阵之一的 Web 端堡垒机系统,通过 Go + Vue 开发,基于 4A 理念(认证 Authen、授权 Authorize、账号 Account、审计 Audit)设计。它的核心价值是通过对 IT 人员操作行为的控制和审计,帮助企业提升内部管控能力和安全合规性。
这是 《OneTerm 开源堡垒机实战》系列文章的第一篇 —— 从整体认识和核心特性切入,带你快速了解 OneTerm 的价值与优势。
Github: github.com/veops/onete…
在线体验: term.veops.cn/oneterm/wor…
👉 如果体验之后觉得不错,欢迎点一个 Star ⭐️,Star 就是对我们最大的鼓励!
核心优势
相比传统堡垒机,OneTerm 拥有以下优势:
- 开源社区驱动: 核心代码完全开源,社区积极参与,开发过程透明,持续迭代。
- 广泛的协议支持: 支持 SSH、Telnet、RDP、VNC、Redis、MySQL、PostgreSQL、MongoDB 等主流协议,满足混合基础设施的多样化接入需求,操作便捷,接入即用。
- 强大的安全审计: 全面记录用户登录行为与操作轨迹,生成可追溯的审计日志,助力企业快速响应安全事件,满足合规审计、权限监管等关键需求。
- 丰富的辅助功能: 集成文件管理、偏好设置、批量操作等工具,简化日常运维流程,减少重复劳动。
- 便捷的交互体验: 无需复杂安装,仅通过浏览器即可使用,现代化交互设计和单一直观的操作流程显著提高工作效率。
- CMDB 集成: Oneterm 原生支持与维易CMDB(已开源)深度集成,资产可一键导入,帮助企业构建统一的资源视图,实现从资产管理到权限控制的全流程打通
架构设计
OneTerm 由六大核心组件构成:
- MySQL: 后端存储组件,主要存储配置类和审计类的数据
- Redis: 数据缓存
- guacd: 开源组件,用于实现RDP和VNC协议
- ACL: 数据权限管理模块,这是我们另外的一个开源项目 github.com/veops/acl
- API: 整个业务逻辑的后端,Golang 开发实现
- UI: 前端界面,vue2开发实现
功能模块
仪表盘
仪表盘通过各个图表直观反映整个平台用户、资产以及账号登录情况的概览统计。
工作台
工作台是用户登录 OneTerm 后默认进入的主操作页面, 整体分为三个区域
- 左侧资产树: 展示当前用户可访问的资产目录, 底部区域实时显示当前已连接的资产数和会话数,方便用户查看资源使用情况
- 中间主操作区: 用于资产登录、会话管理及操作控制, 以 Tab 标签页形式分为我的资产和当前已连接的资产
- 右侧功能操作栏: 在不同 Tab 页下提供了多种不同的辅助功能, 提升操作效率
- 比如文件管理(批量上传下载, 权限控制, 日志审计), 主题切换, 偏好设置, 全屏切换, 最近会话, 连接分享, 快捷命令等等
支持协议
| 协议类型 | 认证方式 | 会话录制 | 文件传输 | 多用户支持 |
|---|---|---|---|---|
| SSH | 密码/密钥 | ✅ | ✅ | ✅ |
| RDP | 密码 | ✅ | ✅ | ✅ |
| VNC | 密码 | ✅ | ❌ | ✅ |
| Telnet | 密码 | ✅ | ✅ | ✅ |
| Redis | 密码 | ✅ | ❌ | ✅ |
| MySQL | 密码 | ✅ | ❌ | ✅ |
| MongoDB | 密码 | ✅ | ❌ | ✅ |
| PostgreSQL | 密码 | ✅ | ❌ | ✅ |
| HTTP / HTTPS | 密码 | ❌ | ✅ | ✅ |
资源管控
资源管控分为两大类, 基础资源和访问控制
- 基础资源:
- 资产管理: 统一管理平台内所有资产,支持资产的新增、编辑、删除、目录维护及访问授权等操作,帮助管理员高效组织和管控资源
- 帐号管理: 统一管理平台内所有资产账号
- 网关管理: 网关功能是用于解决部分环境无法直接连接的问题,通过将网关作为跳板,实现从平台到目标资产的安全访问链路. 此模块是统一管理平台内所有网关
- 访问控制:
- 访问授权: 用于集中管理节点、资产及账号的访问权限,实现统一、规范的授权体系
- OneTerm主要是通过六项权限控制(连接、分享、上传、下载、复制、粘贴),结合访问时间、敏感命令拦截、IP白名单等安全策略,可高效制定和调整授权规则,满足不同业务场景下的合规与安全需求
- 命令拦截: 用于配置命令拦截规则,支持单条命令和命令模板的灵活配置. 当用户在终端执行高危或敏感命令时,系统可根据配置规则自动阻断执行,有效防止误操作与风险行为
- 访问时段: 访问时段模块用于统一管理访问授权所需的时间模板,支持多时区和多时间段的灵活配置
- 访问授权: 用于集中管理节点、资产及账号的访问权限,实现统一、规范的授权体系
审计中心
审计中心分为两大类, 会话审计和日志审计
-
会话审计:
- 在线会话: 在线会话可以查看所有当前正在使用 OneTerm 登录资产的会话,支持实时监控和直接中断会话操作
- 历史会话: 历史会话展示了所有通过 OneTerm 登录资产的会话,支持在线回放操作录像、下载录像文件、查看命令记录等操作
-
日志审计
- 登录日志: 登录日志记录了所有用户在 OneTerm 平台的用户登录日志,包括网页端和客户端的登录详情信息,在此页面可以查看用户登录类型、登录地址、登录浏览器、登录状态和描述、登录时间和登出时间等信息
- 操作日志: 操作日志用于追溯在平台上对资源的操作详情,可以查看操作的用户、操作类型、资源类型以及操作前属性的值和操作后属性的值等信息
- 文件日志: 文件日志记录了所有用户在 OneTerm 平台文件管理模块的上传下载操作
系统设置
系统设置模块支持以下系统默认配置
- 我的公钥: 用于配置命令终端登录堡垒机SSH服务时的免密认证公钥
- 快捷命令: 预设常用命令,用户在终端操作或批量执行时可一键调用
- 终端显示: 用于配置终端界面的展示效果,包括字体样式、配色主题、分辨率等,满足不同用户的操作习惯与视觉偏好
- 访问控制: 设置默认访问控制配置
- 存储配置: 目前用于配置会话录像的存储方式,便于定期清理、归档及路径管理
- 会话录像是所有在 oneterm 中进行的会话都会被记录下来, 方便后面播放回放. 谁在何时哪台服务器上执行什么命令和进行什么操作, 都会记录
客户端免密登录
OneTerm 支持用户使用自己熟悉的终端连接工具(xshell、mobaxterm等),然后通过ssh登录到客户端.
结尾
OneTerm 不仅仅是一款堡垒机产品,更是一个现代化的企业安全运维平台。它将复杂的安全管控需求转化为简单易用的操作体验,真正做到了安全与效率的完美平衡。
在接下来的系列文章中,我们将详细介绍 OneTerm 的部署安装、实际使用场景以及高级配置技巧。如果你对企业安全运维感兴趣,或者正在寻找一款优秀的开源堡垒机解决方案,请持续关注我们的更新!
如果你有任何问题和建议,无论是功能上的,还是文档、交互体验方面的,欢迎随时提出来,或者直接联系我!让我们一起把这个项目做大做强!