认识JumpServer

认识JumpServer

Scroll Down

1、什么是堡垒机?

堡垒机的另一个名字叫运维安全审计系统,它主要解决两方面的问题,一个是运维,一个是安全。

2、为什么要使用堡垒机?

image.png
从图中可以看到,管理者对于整体的运维管理都会有很高的期望,例如统一入口、批量管理、自动运维、安全运营等等,但是实际的场景是异常复杂的( 即图中中间的部分 )。实际企业中有相当多的运维资产集需要去管理,例如常见的服务器、网络设备、数据库等等,同时企业中来使用这些资产集的用户也是多样复杂的,包括系统管理员、外包人员、普通用户、临时访客等,需要与前面提到的这些企业资产进行交互。

在这个过程中,就会有多种风险存在,比如账号复用、账号冒用等权限倾斜的情况,那堡垒机的作用其实就是让这样的一个过程能实现安全、清晰化。从运维的角度,它可以提升效率、提升管理能力,从安全的角度,它让整个的管理过程变的更加安全可靠。

3、堡垒机的4个核心能力

身份鉴别、授权控制、账号管理、安全审计
image.png

4、Jumpserver的发展历程

image.png

5、组件介绍

CORE:

管理后台模块,是核心组件,使用Django Class Based View风格开发,支持Restful API

LINA:

前端模块,负责页面的展现

Luna:

Web Terminal前端

Lina 和 Luna 在功能上有部分重叠,后期可能会被合并

CoCo/Koko:

CoCo是老版本,通过Python实现。KoKo是基于Go语言实现的版本。实现 SSH Server 和 Web Terminal 的组件,提供 SSH 和 WebSocket 接口,这个模块主要实现的功能就是去连接Linux的资产,将连接返回给 Core 和 前端的 Luna去使用。

Guacamole:

由Apache创建的跳板机项目,主要提供的功能是Windows的RDP连接功能。

6、JumpServer核心架构
image.png

使用者可以通过 http 或 ssh 两种方式来进行访问:

① http 方式的话,请求通过 nginx 到达JumpServer的前端组件Luna,然后再去使用具体的资产。

② ssh 客户端的方式,该请求则会到达CoCo组件

不管是哪种方式,JumpServer都会通过相应的组件去实现相应的一个调度,然后这些所有的认证,请求的数据,变更的信息都会以API的方式通过JumpServer落实到数据库DB中。
其中JumpServer的数据库这一块是非常重要的,数据库一定要做好备份和保护,因为这个数据库是最终需要重构、恢复系统时最核心的内容。

7、JumpServer产品层面的优势
image.png

image.png

参考来源:
JumpServer官方