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

这里写图片描述

名词解释

Web管理

1、用户管理:

用户组

多个用户可以组合成用户组,为了方便进行授权,可以将一个部门或几个用户组建成用户组,在授权中使用组授权,该组中的用户拥有所有授权的主机权限

用户

用户是授权和登陆的主体,将来为每个员工建立一个账户,用来登录跳板机,将资产授权给该用户,查看用户登陆记录命令历史等

设置:

默认设置

默认管理用户 设置包括用户密码密钥,默认信息为了方便添加资产而设计,添加资产时如果选择使用默认管理账号,则会使用这里设置的信息,端口是资产的SSH端口,添加资产时,默认会使用该端口

2、资产管理:

资产组

主机组 同用户组,是资产组成的集合,为了方便授权

资产

资产通常是我们的服务器、网络设备等,将资产授权给用户,用户则会有权限登录资产,执行命令等

管理账号

添加资产时需要添加一个管理账户,该账户是该资产上已有的有管理权限的用户,如root,或者有 NOPASSWD: ALL sudo权限的用户,该管理账户用来向资产推送系统用户,为系统用户添加sudo,获取资产的一些硬件信息

机房

又称IDC,不解释

3、授权管理:

Sudo

这里的sudo其实是Linux中的sudo命令别名,一个sudo别名包含多个命令,系统用户关联sudo就代表该系统用户有权限sudo执行这些命令

系统用户

系统用户是服务器上建立的一些真实存在的可以ssh登陆的用户,如 dev,sa, dba等,系统用户可使用jumpserver推送到服务器上,也可以利用自己公司的工具进行推送,授权时将用户、资产、系统用户关联起来,则表明用户有权限登陆该资产的这个系统用户 如:用户 小明 以 dev 系统用户登录 172.16.1.1资产,简单理解就是 将某个资产上的某个系统用户映射给这个用户登录

推送系统用户

添加完系统用户,需要推送,推送操作是使用ansible,把添加的系统用户和系统用户管理的sudo,推送到资产上,具体体现是在资产上useradd该系统用户,设置它的key,然后设置它的sudo,为了让用户可以登录它

授权规则

授权规则是将 资产 系统用户 和 用户 关联起来,用来完成授权。这样用户就可以以某个系统用户账号登陆资产。大家对这好像不是很理解,其实也是对系统用户,用户这里没有搞清楚。我们可以把用户当做虚拟的用户,而系统用户是真实再服务器上存在的用户,系统用户可以使用jumpserver推送,也可以自己手动建立,但是推送的过程一定要有,哪怕是模拟推送(不选择秘钥和密码推送,如网络设备),因为添加授权规则会检查推送记录。为了简化理解,我们暂时 以 用户 资产 系统用户 来理解,暂时不考虑组,添加这样的规则意思是授权 用户 在这个资产上 以这个系统用户来登陆, 系统用户是一组具有通用性,具有sudo的用户,不同的用户授权不同的 系统用户,比如 dba可能有用数据库的sudo权限

4、日志审计

在线 查看当前在线的用户(非web在线),可以监控用户的命令执行,强制结束用户登录

实时监控 实时监控用户的操作

登录历史 查看以往用户的登录历史,可以查看用户登陆操作的命令,可以回放用户执行命令的录像

命令记录 查看用户批量执行命令的历史,包含执行命令的主机,执行的命令,执行的结果

上传下载 查看用户上传下载文件的记录

用户作用简述 :

登录web(使用用户)

登陆跳板机(使用用户)

跳转登陆Client端(使用系统用户)

系统用户 关联sudo(就是sudo授权),该系统用户就拥有sudo权限

推送系统用户(使用管理用户,管理用户是Client端上已有的用户并且有sudo权限)
特点:

完全开源,GPL授权
python编写,容易再次开发
实现了跳板机基本功能,认证、授权、审计
集成了Ansible,批量命令等
支持WebTerminal
Bootstrap编写,界面美观
自动收集硬件信息
录像回放
命令搜索
实时监控
批量上传下载

官网地址:http://www.jumpserver.org/
Github地址:https://github.com/ibuler/jumpserver/wiki


适用于版本:v0.3.0-2

I. 使用Jumpserver前要理解清楚这三个用户关系:

用户:是指你在web上创建的用户,会在跳板机上创建这个用户,作用就是用于登录跳板机

管理用户:是指客户端上的如root等高权限账号(或普通用户拥有NOPASSWD: ALL sudo权限), 作用用于推送系统用户

系统用户:是指要在客户端上创建这个系统用户,通过推送来实现,作用就是登录客户端

II. 管理用户和系统用户的关系:

两者都是客户端上的用户,后者涉及到一个推送动作,

比如推送test系统用户,也就是在客户端上创建test用户,那么创建用户需要有权限,

有没有权限创建就要看你是用客户端的root用户还是普通用户做为管理用户,

如果后者做为管理用户就需要添加sudo权限又是NOPASSWD: ALL,

这样推送系统用户,就可以成功在客户端上创建test用户

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐