在运维的日常工作中,登陆服务器操作不可避免,为了更安全的管控服务器,但凡有点规模的公司都会上线堡垒机系统,堡垒机能够做到事前授权、事中监控、事后审计,同时也可以满足等保合规要求。提到堡垒机,大伙第一时间能够想到的可能是JumpServer,JumpServer经过了多年的发展已经十分的稳定和成熟,是非常优秀的开源项目,被大家广泛所熟知,所以我今天就不写JumpServer了,介绍另一个最近体验到的亮点颇多的开源堡垒机:OneTerm

OneTerm基于4A理念,即认证(Authen)、授权(Authorize)、账号(Account)、审计(Audit)设计开发,是维易科技开源的第二款运维自动化产品,之前开源的CMDB系统就广受好评,我也深入体验了,收获颇多,在我自己收获的同时也专门写了篇文章「灵活多变功能强大的CMDB」介绍分享,以回馈开源社区。这一次看维易又开源了堡垒机系统OneTerm,我也体验了一下,虽然项目开源不久,有一些不尽完善的地方,但整体完整度很高,无论是生产使用还是自己学习都比较合适

关于堡垒机,我之前也有开发过,还写过一系列的文章来介绍堡垒机的实现方式和技术要点,这篇文章就结合我之前的堡垒机开发和使用经验,来介绍下这个开源的堡垒机系统

系统介绍

资产管理

堡垒机主要就是对服务器进行操作,资产管理主要是对服务器的增删改查和授权等管理,是堡垒机的基础。支持基于资产树来管理,支持批量授权,支持批量修改连接协议

接入时间的限制更是十分的灵活,不仅支持指定生效日期,同时也可以按照星期来配置生效时间,还支持选择某一天的某个时间段,非常强大

支持与自家的CMDB联动,可以同步CMDB的数据到堡垒机,这个就很实用了,基础资源数据保存在CMDB,堡垒机作为上层应用只是使用,不仅降低了配置的复杂度,同时也能确保CMDB数据的权威。这个同步操作很贴心

更为贴心的是你在添加资产树节点时设置的连接协议、账号授权、接入限制等配置可以直接作为节点下资源的默认配置,当在节点下新建资产时,会自动继承该节点的授权配置,从而简化添加资产时的配置,这个考虑也是十分人性化

可以看得出来开发团队还是用心的,资源添加可以手动添加,也可以与CMDB同步,授权不仅支持单个资源授权,也支持批量授权和默认授权,点赞

网关

OneTerm支持配置网关,网关功能解决了部分环境无法直接连接的问题,连接会将网关作为跳板连接到目标资产,这样可以覆盖一些复杂的网络环境,很有用

安全

OneTerm支持会话超时时间设置,也支持设置过滤命令,危险命令无法执行,这样提高了终端操作的安全,避免一些无意的或人为的破坏,增加会话安全

终端

对于堡垒机来说最重要的就是终端操作了,OneTerm已经支持了SSH、VPC和RDP多种协议的终端连接,支持命令行模式连接主机,也支持web终端连接主机,操作比较丝滑,该有的终端命令自动补全等功能也都有,体验就跟其他客户端无异

终端直接连接

网页Web登陆终端

会话审计

堡垒机除了能够终端登陆操作外,还有个比较重要等功能,那就是需要支持终端会话审计,包括查看当前在线会话连接,实时监控当前在线会话,以及在发现当前会话有危险和不当操作时对当前在线会话下达强制断开的指令,这些OneTerm也都是支持的

同时OneTerm也支持查看历史回话,对历史回话进行回放、下载以及执行命令查看等审计操作

命令查看很有用,可以直接对用户对会话操作进行快速检索,不用去看录像了,同时这个命令操作还会判定命令的风险等级,也很实用

日志审计

资产授权和会话审计保障了主机连接操作的安全,除此之外,OneTerm也提供基础的用户登陆日志记录和完善的后台操作记录,所有操作均有记录,全面保障系统安全

大盘

除了这些以上这些堡垒机必须的基础的功能外,OneTerm也提供了个Dashboard大盘,可以全面掌握系统情况,包括连接、资产、会话、用户、网关等信息,还是图表好看

推荐使用

我深入体验了OneTerm,尽管它不是很完美,我也发现了还有一些有待优化提升的地方,但基于以下几点我还是想推荐给你试试

  1. 简洁且完善,专注堡垒机,堡垒机该有的都有,例如终端登陆,会话录像、实时监控、强制断开、网关、危险命令阻断等都是堡垒机必要等核心功能,没有其他乱七八糟跟堡垒机无关的功能,小巧易用

  2. GO语言开发,代码简单易懂,项目初期的代码是宝藏,功能不是很复杂,代码编写也都按照规范严格执行,结构和质量都比较高,没有太多的技术债,比较适合想要学习GO或者是想要了解堡垒机是如何实现的伙伴去读源码

  3. 社区比较活跃,尤其是微信群几乎是有问必答,项目发版节奏也比较固定,几乎每周都有优化更新或新功能上线,注重用户体验,微信群里大伙提到的问题官方基本都有安排实现

  4. 与CMDB数据互通,统一平台,打破数据孤岛,一份数据多个系统使用,确保CMDB数据的权威,同时也简化了堡垒机的配置和应用。项目维护主题为公司,相对来说比个人开发者更可靠和稳定

  5. 开源,这个无需多说,向开源致敬

在线体验

最后附上项目Github地址:https://github.com/veops/oneterm

官方还提供有在线Demo可以体验,README有地址和账号密码,如果想要进社区微信群也可以直接私信我或者加README里的微信

觉得不错的话请不要吝惜star,好项目值得被更多的人发现,同样的希望维易OneTerm发展的越来越好,造福更多的运维同行

开源推荐|简洁且强大的开源堡垒机OneTerm的更多相关文章

  1. 开源推荐 - CoDo开源一站式DevOps平台

    一群有梦想的年轻人开源了一个云管理平台,他们的口号是:让天下没有996的运维 有幸参与到CoDo项目的开发,这是一个非常棒的一站式开源运维平台,分享给大家 平台介绍 CODO是一款为用户提供企业多混合 ...

  2. 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架

    20 个顶尖的 Python 机器学习开源项目 机器学习 2015-06-08 22:44:30 发布 您的评价: 0.0 收藏 1收藏 我们在Github上的贡献者和提交者之中检查了用Python语 ...

  3. 分享一款开源堡垒机-jumpserver

    本文主文章地址为:https://blog.csdn.net/KH_FC JumpServer是由FIT2CLOUD(飞致远)公司旗下一款开源的堡垒机,这款也是全球首款开源的堡垒机,使用 GNU GP ...

  4. 推荐GitHub上10 个开源深度学习框架

    推荐GitHub上10 个开源深度学习框架   日前,Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚 ...

  5. 强大的开源企业级数据监控利器Lepus安装与配置管理

    开篇介绍 官方网站:http://www.lepus.cc 开源企业级数据库监控系统 简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库 ...

  6. 强大的开源企业级数据库监控利器Lepus

    Lepus监控简单介绍 官方网站:http://www.lepus.cc 开源企业级数据库监控系统 简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能 ...

  7. 10 个强大的开源 Web 流量分析工具(转帖)

    Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足.本文收集并介绍 ...

  8. CentOS7 开源跳板机(堡垒机) Jumpserver

    开源跳板机(堡垒机)Jumpserver 环境 CentOS 7   x64       关闭 selinux  firewalld jumpserver: 172.24.0.14 testserve ...

  9. 全球首款完全开源的堡垒机,符合 4A 的专业运维审计系统Jumpserver

    Jumpserver是全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统. http://www.jumpserver.org https://github.com/jumpserver/ju ...

  10. centos 6.5 搭建开源堡垒机 Teleport 遇到的问题解决

    几款开源的堡垒机 下面进行 teleport 的安装: https://docs.tp4a.com/install/#11 异常1:libc.so.6: version `GLIBC_2.14' no ...

随机推荐

  1. SpringBoot-MyBatis - Java枚举类型 <---> MySQL Int,建立 类型处理器(typeHandlers)

    场景: MySQL里的某一个字段,比如:status状态,一共有5个状态,我们会在MySQL里 建立 status(int)字段,1.2.3.4.5 来标记5种状态:利用MyBatis在自动代码生成器 ...

  2. Oracle迁移到MySQL时数据类型转换问题

    最近在做"去O"(去除Oracle数据库)的相关工作,需要将Oracle表结构转换成MySQL的表结构.这里面最重要的一点就是字段数据类型的变化. 1.ORACLE常用的数据类型与 ...

  3. 使用 Etcd 快照文件恢复 Etcd 数据:应对单节点及高可用集群情况

    1.概述 在 Kubernetes 集群中,所有操作的资源数据都存储在 Etcd 数据库上.为了确保在节点故障.集群迁移或其他异常情况下能够尽快恢复集群数据,我们需要定期对 Etcd 数据进行容灾备份 ...

  4. Pandas 人口密度案例分析

    from turtle import left import pandas as pd """ 需求: 1.导入文件,查看原始数据 2.将人口数据和各州简称数据进行合并 ...

  5. 【学习笔记】Tarjan

    更好的阅读体验 前言 凡事都得靠自己 --bobo 催隔壁 @K8He n 天了让他写 \(Tarjan\) 的学习笔记,但貌似还没有动静,所以决定自己写一个. 正文 本文配套题单:14.图论-tar ...

  6. mysql 外键索引入门介绍,为什么工作中很少有人使用?

    背景 以前工作学习中,一直被告诫不要使用外键,所以也没有仔细整理过. 这里记录一下笔记. 外键 是什么? MySQL 的外键(Foreign Key)是一种关系型数据库中用于建立表与表之间关联关系的重 ...

  7. 基于tensorflow的RBF神经网络案例

    1 前言 在使用RBF神经网络实现函数逼近中,笔者介绍了使用 Matlab 训练RBF神经网络.本博客将介绍使用 tensorflow 训练RBF神经网络.代码资源见:RBF案例(更新版) 这几天,笔 ...

  8. Js中Symbol对象

    Js中Symbol对象 ES6引入了一种新的基本数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一属性名,Symbol()函数会返回symbol类型的值,该类型具有静态属性和静态方 ...

  9. Swoole从入门到入土(3)——TCP服务器[基本配置项]

    在这一节的开篇,让我们先解决上一节的"配置"话题.对于server对象,有很多配置项决定了服务端的行为,可以用set的函数进行配置的设置. 1.函数set:用于设置运行时的各项参数 ...

  10. win32 - EnumDisplayDevices和EnumDisplayMonitors的使用

    EnumDisplayDevices枚举适配器 EnumDisplayMonitors枚举监视器 #pragma comment(lib, "dxva2.lib") #includ ...