参考:
https://www.escapelife.site/posts/db231b23.html
https://www.cnyunwei.cc/archives/1769
Jumpserver
是全球首款完全开源的堡垒机,采用 Python/Django
进行开发的,是符合 4A
的专业运维审计系统。并且采纳分布式架构,支持多机房跨区域部署,中心节点提供 API
接口,各机房部署登录节点,可横向扩展、无并发访问限制。
1. 软件功能概述
1.1 结构框架
- 官网画的图都点不够清晰,我这里进行补充下,O(∩_∩)O 哈哈~
1.2 组件说明
-
Jumpserver
- Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理、用户管理、资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作;
- 核心组件,使用
Django Class Based View
风格开发,支持Restful API
- Jumpserver 的 Github 地址
-
Coco
- 实现了
SSH Server
和Web Terminal Server
的组件,提供SSH
和WebSocket
接口,用户可以使用自己的账户通过 SSH 或者 Web Terminal 访问 SSH 协议和 Telnet 协议资产 - Coco 的 Github 地址
- 实现了
- Koko 是 Go 版本的 coco;重构了 coco 的 SSH/SFTP 服务和 Web Terminal 服务
- Lina
- Lina 是 JumpServer 的前端 UI 项目, 主要使用 Vue, Element UI 完成, 名字来源于 Dota 英雄 Lina
- Lina的Github地址
-
Luna
- 现在是
Web Terminal Server
前端,计划前端页面都由该项目提供,Jumpserver
只提供API,用户使用 Web方式登录受控服务器所需要的组件;
- Luna 的 Github 地址
- Luna架构改变 https://github.com/jumpserver/luna/issues/10
- 现在是
-
Guacamole
Apache
跳板机项目,Jumpserver
使用其组件实现RDP
功能,支持Jumpserver
调用- Guacamole 为 RDP 协议和 VNC 协议资产组件, 用户可以通过 Web Terminal 来连接 RDP 协议和 VNC 协议资产 (暂时只能通过 Web Terminal 来访问),简单说就是受控服务器为Windows时需要安装;
- 由于我们没有Windows服务器,全部都是Linux服务器,所以只安装jumpserver、coco和luna 三个组件
-
Jumpserver-Python-SDK
Jumpserver API Python SDK
,Coco
目前使用该SDK
与Jumpserver API
交互- Jumpserver-Python-SDK 的 Github 地址