开源堡垒机 Jumpserver V3.0

广宏伟

Jumpserver项目发起者,资深运维工程师,毕业于著名的新东方烹饪学校,精通八大菜系.

1、为何开始git

犹记得当初刚到新的公司,公司里面没有批量管理工具,新来程序猿同事,须要手动为它们在服务器一个个添加帐号。github

过了一段时间,经理说服务器上的部署的应用没了,查了半天history没发现谁删的。痛定思痛后决定购买堡垒机产品,经理咨询报价后,说:老广,据说你在学习Python,要不你来写一个吧,后来就有了Jumpserver。web

至于为何叫 Jumpserver,个人英语水平告诉我“跳”是’jump’, “机”是’server’, 因而取名叫 Jumpserver。数据库

2、功能介绍服务器

Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。框架

支持常见系统:运维

Redhat CentOS
Debian
SUSE Ubuntu
FreeBSD
其余ssh协议硬件设备

功能:ssh

精确记录操做命令

支持批量文件上传下载

支持主机搜索登陆

支持批量命令执行(Ansible完成)

支持Web Terminal链接主机

支持Web端批量命令执行

支持录像回放

支持硬件信息如cpu,内存等抓取

支持资产Excel导入导出

支持资产批量更改

支持系统用户的批量推送(Ansible实现)

支持用户,主机,用户组,主机组,系统用户混合细颗粒受权

支持sudo管理

支持命令统计和命令搜索

支持上传下载文件审计

支持终止用户链接

支持各类搜索

其余

3、设计思路:工具

设计一个跳转网关,全部登陆操做都从网关经过
网关具备模拟终端的功能,透明的中转ssh命令,以支持Tab,Ctrl+A,Ctrl-E等快捷键,网关既能够记录操做日志,又能够审计操做命令。

设计一个认证模块
为了实现认证功能,须要有个认证模块,认证信息存到数据库,用户使用跳板机首先须要认证。

设计一个受权框架
受权是跳板机不可缺乏的部分,受权就是用户和资产的关系,将关系保存的数据库,用户登陆主机须要先查受权。

设计审计模块
审计是为了追踪,咱们支持了在线监控,命令统计,录像回放功能,供管理员审查。

用户和主机模块
跳板机脱离不了用户和主机,因此这两个部分是基本的模块,另外咱们将主机模块扩展,实现基本CMDB功能。

Web Terminal
如今都流行Web操做一切,因而咱们又实现了Web Terminal,供用户直接在线连接服务器,这里实现是用了Tornado来完成的,Tornado实现WebSocket特别简单。

其它

4、功能截图学习

登录页面

首页

录像回放

批量命令

web terminal

5、愿景

咱们身为运维er中的一员,运维工做让咱们有了饭,有了衣,有了本身的家庭。咱们应当为此作些微不足道的贡献,哪怕就那么一点点。

咱们但愿各位在开发运维工做的朋友们也加入到开源的队列中,分享本身的代码。

咱们对项目的一直保持不变的热情,咱们将来会在稳定性、实用性、文艺性方面作出努力,咱们也很是欢迎志同道合的朋友加入。

6、其它

Git地址:

https://github.com/ibuler/jumpserver

快速开始:

https://github.com/ibuler/jumpserver/wiki/Quickinstall

Wiki:

https://github.com/ibuler/jumpserver/wiki

Demo:

http://demo.jumpserver.org

交流群:

399218702

7、感谢

感谢 广宏伟,王墉,陈尚委,喻茂峻,刘正,柯连春 对项目的付出!感谢 马哥教育 对项目指点!感谢 高效运维群 对 项目的支持!感谢 小伙伴们 对项目的承认!

相关文章
相关标签/搜索