OneTerm 开源堡垒机 | 历时三个月重构大更新

前言

首先介绍一下 OneTerm, 是一个基于 Go + Vue 开发的 Web 端开源堡垒机, 基于4A理念,即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)设计开发。

在现代运维体系中, 堡垒机是一道重要的安全防护。它位于内外网之间,作为所有访问的唯一入口,负责对访问行为进行统一认证、授权和审计。堡垒机不仅能有效防止未经授权的访问,还能对运维操作进行全程记录和回溯,是保障信息系统安全合规的关键角色。

堡垒机的出现,解决了传统运维中账号分散、权限混乱、操作不可追溯等问题。通过堡垒机,可以实现对核心资产的集中管控,提升安全性和运维效率。

OneTerm 之前一直是只有堡垒机的核心功能, 较为单一。然后最近几个月我们将主要精力投入到了这个项目的开发, 从最初收集了不少朋友的建议和社群的反馈, 然后经历大概三个月断断续续的打磨和重构, 迭代了几个版本, 目前不仅功能完备, 交互体验和性能皆有提升

项目地址: github.com/veops/onete...

如果体验后觉得不错, 欢迎点一个 Star ⭐️. Star 就是对我们最大的鼓励. Thanks!

接下来我介绍一下主要更新的功能

功能更新

工作台

  • 工作台整体UI界面升级, 调整了较多交互细节, 无论是状态的刷新还是各个资产和终端的实时提示, 满足用户更好的操作
  • 增加了侧边工具栏, 方便快捷操作, 并新支持了以下辅助功能
    • 全屏切换: 一键切换工作台为全屏模式,专注当前页面内容
    • 最近会话: 展示了当前用户最近会话登录信息,支持直接登录和切换账号登录
    • 批量执行: 支持通过选择多个资产进行命令批量执行, 提升运维效率
    • 显示设置: 自定义终端和远程桌面显示设置
    • 主题设置: 内置 100+ 终端主题, 一键切换
    • 快捷命令 : 可在 系统设置 - 快捷命令 页面预设常用命令,一键执行,减少重复输入
    • 文件管理: 针对 SSH 与 RDP 协议提供可视化文件管理功能
    • 剪贴板: 便捷管理远程桌面会话内外内容复制与粘贴
    • 远程桌面分辨率设置: 提供灵活的分辨率自定义配置,适配不同屏幕尺寸和使用需求
    • 资产分享: 快速创建当前资产临时连接, 用于临时访问

多协议支持

新增 Database 和 Web 协议,现已支持:

协议类型 认证方式 会话录制 文件传输 多用户支持
SSH 密码/密钥
RDP 密码
VNC 密码
Telnet 密码
Redis 密码
MySQL 密码
MongoDB 密码
PostgreSQL 密码
HTTP / HTTPS 密码

访问控制重构

  • 单独重构设计了访问控制系统, 现支持节点, 资产, 帐号三个维度, 提供六种操作权限(连接、分享、上传、下载、复制、粘贴), 结合时间模版(多时区多时间段), 命令模版, IP白名单等安全策略, 满足不同场景需求
  • 新增 资源管控 - 访问控制 模块, 增加访问授权, 命令拦截, 访问时段三个子页面

访问授权

用于集中管理所有节点、资产及账号的访问权限, 用户可以在此页面进行详细的批量授权配置,也可在 资源管控 - 资产管理资源管控 - 帐号管理 页面进行快捷授权配置, 无论哪种配置方式, 所有授权数据都会在此页面统一展示

命令拦截

  • 配置命令拦截规则,支持单条命令和命令模板的灵活配置
  • 当用户在终端执行高危或敏感命令时,系统可根据配置规则自动阻断执行,有效防止误操作与风险行为

访问时段

统一管理访问授权所需的时间模版, 支持多时区多时间段灵活配置

系统设置

  • 新增系统设置模块, 支持以下系统默认配置
    • 我的公钥: 用于配置命令终端登录堡垒机SSH服务时的免密认证公钥
    • 快捷命令: 预设常用命令,用户在终端操作或批量执行时可一键调用
    • 终端显示: 用于配置终端界面的展示效果,包括字体样式、配色主题、分辨率等,满足不同用户的操作习惯与视觉偏好
    • 访问控制: 设置默认访问控制配置
    • 存储配置: 目前用于配置会话录像的存储方式,便于定期清理、归档及路径管理
      • tip: 会话录像是所有在 OneTerm 中进行的会话都会被记录下来, 方便后面播放回放. 谁在何时哪台服务器上执行什么命令和进行什么操作, 都会记录

总结

除了上面更新的功能外, 还有性能优化和代码重构等细节就不叙述了, 可以查看最近的 CHANGELOG

如果你有任何问题和建议,无论是功能上的,还是文档、交互体验方面的,欢迎随时提出来,或者直接联系我!让我们一起把这个项目做大做强!

相关推荐
wanhengidc4 小时前
巨 椰 云手机稳定挂机 搬砖
运维·服务器·游戏·智能手机·云计算
考虑考虑4 小时前
springboot中yml、yaml、properties加载顺序
spring boot·后端·spring
想用offer打牌4 小时前
seata的JacksonUndoLogParser回滚SerialArray类型的序列化和反序列化解析
后端·开源·github
武子康4 小时前
大数据-153 Apache Druid 实时接入 Kafka:从摄取到查询的完整实战
大数据·后端·nosql
kyle~4 小时前
C++20--- concept 关键字 为模板参数提供了编译期可验证的约束机制
运维·c++
草莓熊Lotso4 小时前
Git 本地操作入门:版本控制基础、跨平台部署与仓库核心流程
开发语言·人工智能·经验分享·git·后端·架构·gitee
百锦再5 小时前
大话Rust的前生今世
开发语言·后端·rust·go·内存·时间·抽象
序属秋秋秋5 小时前
《Linux系统编程之进程基础》【进程入门】
linux·运维·c语言·c++·进程·系统编程·fork
隐形喷火龙5 小时前
Springboot集成OnlyOffice
java·spring boot·后端
晨非辰5 小时前
【数据结构】排序详解:从快速排序分区逻辑,到携手冒泡排序的算法效率深度评测
运维·数据结构·c++·人工智能·后端·深度学习·排序算法