JumpServer 2:JumpServer 应用框架搭建

利用JumpServer实现对公司资产的权限管理,使相应服务器只能被指定的用户访问,并且仅可以执行允许的操作命令。

通俗点讲,JumpServer在应用过程中主要涉及三种对象:

  • 被管理的资产(服务器)
  • 被管理的用户
  • 规则(用户和资产的对应关系、操作权限等)

拓扑图

假设公司有三条业务线,分别对应app1、app2、app3,分别由王一、李二、赵三这3名开发负责,这3个app的数据库均由DBA张库负责维护,现在要通过JumpServer堡垒机实现如下功能:

  • 王一只能连接app1相关的服务器,服务器代表为node101(192.168.1.101);
  • 李二只能连接app2相关的服务器,服务器代表为node102(192.168.1.102);
  • 赵三只能连接app3相关的服务器,服务器代表为node103(192.168.1.103);
  • 张库只能连接数据库相关的服务器,服务器代表为node100(192.168.1.100)node111(192.168.1.111);
  • 四名人员均不能在服务器执行危险指令。

在这里插入图片描述

2.1:用户管理

使用管理员账号登录,进行用户组和用户的创建。

2.1.1:创建用户组

为JumpServer创建两个用户组:DevDBA,分别对应开发人员和数据库管理人员。

点击用户管理-用户组-创建,进行用户组的创建:

在这里插入图片描述

创建用户组时,因为还没有创建用户,所以用户先不指定,等创建用户时指定用户组即可。

创建Dev用户组:

在这里插入图片描述

创建DBA用户组:

在这里插入图片描述

创建完成:

在这里插入图片描述

2.1.2:创建用户

为JumpServer添加王一、李二、赵三、张库这四名用户,并分配到对应的用户组。

可以点击用户管理-用户列表-创建,逐个进行用户的创建;

也可以下载用户导入模板,录入用户信息后批量导入,下面采用批量导入的方式进行。

点击用户管理-用户列表-导入,在弹出窗口中选择下载模板:

在这里插入图片描述

在这里插入图片描述

在导入模板中填写每个用户的信息,并保存。

在这里插入图片描述

*号为必填项。

官方的字段填写说明:

表单说明
名称姓名, 标识用, 可以重复
用户名登录时使用, 具有唯一性, 不可以重复
密码密码策略设置为 1 时需要在此处输入密码
邮件邮件地址, 具有唯一性, 不可以重复
SSH 公钥选填, 可以上传用户自己的 ssh 公钥
微信选填, 仅标识
手机选填, 仅标识
多因子认证0 关闭, 1 开启, 2 强制开启, 动态口令认证
备注选填, 仅标识
有效True 有效, False 无效, 无效的用户无法登录
密码策略0 表示自动生成密码, 1 需要在上面输入密码
失效日期用户过期时间
用户组选填, 用户组的名称, 请先在用户组里面创建
角色角色有 Admin, User, Auditor
组织角色名称组织角色名称有 [‘Admin’], [‘User’]

点击用户管理-用户列表-导入,导入刚才编辑好的csv文件:

在这里插入图片描述

导入成功:

在这里插入图片描述

2.1.3:验证用户登录

使用zhaosan登录JumpServer:

在这里插入图片描述

在这里插入图片描述

2.2:资产管理

2.2.1:创建管理用户

管理用户是资产(被控服务器)上的 root,或拥有 NOPASSWD: ALL sudo 权限的用户, JumpServer 使用该用户来 推送系统用户获取资产硬件信息 等。

管理用户和系统用户的概念:

  • 创建或导入资产时需要指定管理用户
    管理用户是为JumpServer本身创建的,JumpServer通过管理用户,从被管理服务器上获取系统、硬件等信息的。
  • 创建资产授权规则时需要指定系统用户
    系统用户则是为各用户创建的,用户通过JumpServer远程连接服务器时,使用的就是指定的系统用户。

由于五台服务器都为root用户,密码也一致,所以此处仅创建了一个管理用户。

实际中,各服务器的超级管理员用户及密码应该都是不同的,需要创建多个,以分配给相应的资产。

点击资产管理-管理用户-创建,创建管理用户。

在这里插入图片描述

官方的管理用户字段填写说明:

表单说明
名称名称, 具有唯一性
用户名资产的登录账号
密码资产登录账号的密码
SSH密钥私钥, 如果私钥有密码, 在上面的密码栏输入
SSH公钥选填
备注选填, 仅标识

创建成功:

在这里插入图片描述

点击相应管理用户,进入用户详情页,记录管理用户ID,以备导入资产时使用。

  • root_通用的ID:ef1acee6-8a25-4458-8379-aad0f5c89e82

在这里插入图片描述

2.2.2:创建系统用户

系统用户是 JumpServer 跳转登录资产时使用的用户,可以理解为登录资产用户,如 web,sa,dba(ssh web@some-host),而不是使用某个用户的用户名跳转登录服务器(ssh xiaoming@some-host); 简单来说是用户使用自己的用户名登录 JumpServer,JumpServer 使用系统用户登录资产。 系统用户创建时,如果选择了自动推送,JumpServer 会使用 Ansible 自动推送系统用户到资产中,如果资产(交换机)不支持 Ansible,请手动填写账号密码。

实际中,系统用户都是使用资产服务器上已存在的业务用户,如www等;当此处创建的系统用户在资产服务器上不存在时,JumpServer会自动在该服务器上创建用户。

因为是测试,本次实验直接让JumpServer为资产服务器创建用户,而不事先在资产服务器上创建用户。

这里通过批量导入的方式,创建四个用户,app1、app2、app3、db,分别对应四名用户的管理需要。

点击资产管理-系统用户-导入,点击下载按钮,下载系统用户导入模板。

在这里插入图片描述

在这里插入图片描述

填写相关系统用户的信息,保存。

下图隐藏了选填选项。

自动推送的

在这里插入图片描述

导入系统用户。

在这里插入图片描述

导入成功:

在这里插入图片描述

2.2.3:创建节点

左侧是资产树,右击可以新建、删除、更改树节点,授权资产也是以节点方式组织的,右侧是属于该节点下的资产。

节点可以理解为对资产进行分组,按应用程序、或者业务类型进行划分。

这里创建应用程序数据库两个节点,分别对应app和数据库服务器。

点击资产管理-资产列表,在左侧资产树的Default上右击,选择创建节点

在这里插入图片描述

创建两个节点:

在这里插入图片描述

右击相应节点,选择显示节点详情,记录节点ID,以备导入资产时使用:

  • 应用程序的节点ID:0098b2c5-8932-494d-ade9-3205ae67a427
  • 数据库的节点ID:fab372db-4aee-48b1-9838-a14c490cb92e

在这里插入图片描述

2.2.4:创建资产

采用批量导入的方式,将node101、102、103、111、100五台服务器导入。

点击资产管理-资产列表-导入,点击下载模板:

在这里插入图片描述

在这里插入图片描述

在资产导入模板中填写服务器信息,并保存。

下图已隐藏空的选填项。

在这里插入图片描述

官方的字段填写说明:

表单说明
主机名主机名, 具有唯一性
IP资产 IP, 可以重复
协议该项不需要填写
端口该项不需要填写
协议组必填, 多个协议 [‘ssh/22’, ‘rdp/3389’]
激活TRUE或FALSE,False 时该资产对用户不可见
公网IP选填, 仅标识
资产编号选填, 仅标识
制造商选填, 仅标识
型号选填, 仅标识
序列号选填, 仅标识
CPU型号选填, 仅标识
CPU数量选填, 仅标识
CPU核数选填, 仅标识
CPU总数选填, 仅标识
内存选填, 仅标识
硬盘大小选填, 仅标识
硬盘信息选填, 仅标识
操作系统选填, 仅标识
系统版本选填, 仅标识
系统架构选填, 仅标识
主机名原始选填, 仅标识
备注选填, 仅标识
管理用户必填, 管理用户的 id
网域选填, 如果使用网域请填写网域的 id
系统平台必填, Linux, macOS, Windows, Unix 等
节点资产节点的 id
节点名称对应节点 id 的名称,如[’/Default/Test’]
标签管理选填, 仅标识

导入资产列表:

在这里插入图片描述

导入成功:

在这里插入图片描述

资产创建成功后,JumpServer就会通过指定的管理用户(root)来获取资产信息,点击相应主机名,即可看到获取到的资产信息:

在这里插入图片描述

2.2.5:命令过滤

系统用户可以绑定一些命令过滤器,一个过滤器可以定义一些规则 当用户使用这个系统用户登录资产,然后执行一个命令 这个命令需要被绑定过滤器的所有规则匹配,高优先级先被匹配, 当一个规则匹配到了,如果规则的动作是允许,这个命令会被放行, 如果规则的动作是禁止,命令将会被禁止执行, 否则就匹配下一个规则,如果最后没有匹配到规则,则允许执行。

2.2.5.1:创建命令过滤器

先创建命令过滤器。然后在命令过滤器中添加命令过滤规则

点击资产管理-命令过滤-创建,创建一个名为禁止危险命令的命令过滤器:

在这里插入图片描述

点击提交,完成创建:

在这里插入图片描述

2.2.5.2:创建命令过滤器规则

点击相应的命令过滤器,点击命令过滤器规则-创建,创建禁止如下命令的规则:

reboot
rm
poweroff
ssh
bash
.
mv

在这里插入图片描述

点击提交:

在这里插入图片描述

创建成功:

在这里插入图片描述

2.2.5.3:系统用户添加命令过滤器

转到系统用户界面,点击相应系统用户操作列的更新按钮,分别添加命令过滤器。

在这里插入图片描述

在这里插入图片描述

2.3:权限管理

在创建好用户和资产的基础上,就要进行用户和资产之间的规则创建,即哪个用户可以访问哪些服务器,以及可以对这些服务器进行什么样的操作等。

2.3.1:创建资产授权规则

可以点击权限管理-资产授权-创建,进行资产授权规则的创建。

在这里插入图片描述

app1、app2、app3通过指定用户资产进行授权;

db是通过指定用户组节点进行授权的。

2.3.1.1:app1授权规则

在这里插入图片描述

2.3.1.2:app2授权规则

在这里插入图片描述

2.3.1.3:app3授权规则

在这里插入图片描述

2.3.1.4:db授权规则

在这里插入图片描述

2.3.1.5:创建完成

在这里插入图片描述

2.3.2:验证资产授权规则和命令过滤

2.3.2.1:wangyi用户验证

使用wangyi用户登录jumpserver,验证对node101的访问:

查看用户资产:

在这里插入图片描述

连接资产:

点击Web终端,打开luna窗口,单机左侧资产树中的资产,进行连接。

wangyi用户登录jumpserver后,jumpserver是使用app1这个系统用户连接node101的。

在这里插入图片描述

2.3.2.2:lier用户验证

查看lier用户资产:

在这里插入图片描述

lier用户登录jumpserver后,jumpserver是使用app2这个系统用户连接node102的。

在这里插入图片描述

2.3.2.3:zhaosan用户验证

查看zhaosan用户资产:

在这里插入图片描述

zhaosan用户登录jumpserver后,jumpserver是使用app3这个系统用户连接node103的。

在这里插入图片描述

2.3.2.4:zhangku用户验证

查看zhangku用户资产,zhangku用户有两个资产,node100和node111:

在这里插入图片描述

zhangku用户登录jumpserver后,jumpserver是使用db这个系统用户连接node100和node111的。

在这里插入图片描述

在这里插入图片描述

2.3.2.5:命令过滤验证

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值