简介

堡垒机 也叫跳板机,是一种网络安全产品,用来管理和控制服务器的访问权限 ,完成用户身份认证 授权 审计等等一系列的安全保障工作

安装配置虚拟机

打开VMware之后在页面左侧的空白区域点击鼠标右键选择新建虚拟机,然后类型这里选择推荐的典型配置,这里需要选择一下Linux系统的iso镜像文件,然后点击下一步,这里需要配置一下系统的名称 用户名和密码,这些内容都可以随便填写一下,比如系统名称就叫做JumpServer,用户名叫shelter,密码随便填一个,然后点击下一步,这里需要选择一下虚拟机的名称和存储的位置,有一点需要提示的就是下面的虚拟机存储位置需要预留足够的空间,然后下一步,保留20g就行,下一步,这里可以调整一下虚拟机的硬件配置,建议至少调整到4核CPU和8G内存以上,最后点完成

貌似安装过就不需要再安装了

进入后打开终端,输入ifconfig查看虚拟机ip地址192.168.23.128,也可以用xshell通过ssh连接虚拟机

然后模拟企业内部的各种服务器资源,可以右击管理-克隆几台这个虚拟机

安装部署jumpServer

下载地址:https://community.fit2cloud.com/#/products/jumpserver/downloads

JumpServer官网:jumpserver.org

下载完安装包后用xshell的传输,输入快捷键 Ctr+AIt+F打开文件传输窗口,找到刚刚下载的安装包,然后就可以直接传输到虚拟机里面了,或者使用scp命令也是可以的

1
scp jumpserver-ce-v4.5.0-x86_64.tar.gz root@192.168.114.134:~/

传输完成之后就可以开始安装jumpServer了,登录之后首先需要来解压一下这个安装包,输入下面的tar命令来解压一下jumpServer的压缩包

1
tar -xzvf undefined.gz

然后进入到解压出来的目录里面

1
cd jumpserver-ce-v4.10.10-x86_64

我们先来查看一下README文件,一般来说这个文件里面会有一些安装的说明和步骤,使用vi命令后面加上文件名来打开文件,然后往下翻一翻,它提示我们说只要使用这一行命令就可以安装JumpServer了,那我们回到终端来执行一下,这是一个安装脚本,会自动安装jumpServer的所有组件

1
vi README.md

image-20251017214835494

1
2
3
4
5
6
7
8
9
10
:q!强制退出,:wq保存退出 :q退出

# 切换到 root 用户
sudo su -

启动:
# 然后运行安装脚本
cd /home/shelter/jumpserver-ce-v4.10.10-x86_64

./jmsctl.sh install

首先第一步是检查配置文件,然后是安装和配置Docker各种镜像文件包括Redis PostgreSOL数据库,下面就是JumpServer的各个组件

  • 弹出个Configure Persistent Directory,这里是询问我们是否使用默认的持久化目录配置,保持默认就可以

  • 弹出个Configure DB,这一步是询问我们是否想要使用外部的PostgreSOL数据库,如果你想要单独部署数据库的话这里可以选择yes,这里选择了no

  • 弹出个Configure Redis,选择redis还是哨兵模式,默认redis就行,不使用外部redis

  • 弹出是否需要配置 JumpServer 对外访问端口?(y/n)(默认为 n):默认是80端口,选择 y 后,系统通常会询问这些端口,初学者建议这样设置

  • 1
    2
    3
    HTTP 端口 (默认 80): [直接回车]
    HTTPS 端口 (默认 443): [直接回车]
    SSH 端口 (默认 2222): [直接回车]

然后就是数据库初始化,他还提示我们:

  1. http://192.168.23.128:80
  2. 默认用户:admin
  3. 默认密码:ChangeMe

使用./jmsctl.sh可以看到一些命令,然后我们启动docker服务

1
2
./jmsctl.sh start
docker ps 检查容器状态

打开浏览器复制上面的地址,浏览器默认使用的是https的方式,有的时候即便我们输入的是http它也会自动跳转到https,但是我们这里因为没有配置SSL证书,所以只能通过http的方式来访问,如果发现页面访问不到的话确认一下你的地址是不是浏览器自动帮你加上了s,是的话就去掉s。然后就可以看到lumpServer的登录界面表示安装成功

配置和使用jumpServer

首先输入默认的用户名和密码,第一次登录的时候会提示我们修改密码

主界面左侧是一个导航栏,左上角有一个切换按钮,点击之后可以切换到控制台 审计台和工作台,控制台就是用来管理lumpServer的各种配置和设置的,比如添加用户和用户组,配置各种服务器资产,管理账号和权限等等。审计台也就是用来查看和审计用户的各种操作记录和日志的,用户通过jumpServer登录到服务器上的所有操作都会被记录下来。工作台是用来连接到各种服务器资源或者传输和管理文件的

用户列表:

我们先来切换到控制台添加一些用户和服务器,先添加用户比如就叫做shelter,邮箱随便,点击提交之后这个用户就创建好了,注意这里的用户是lumpServer的用户而并不是Linux服务器的用户。

资产列表:

下面再来添加一台服务器,点击左边资产管理的资产列表,在右侧的详细页面上面就有一个创建按钮,点击之后选择一个Linux服务器用户。服务器名称这里可以随便填一个,比如server1,ip地址填一下192.168.23.128,节点选择默认就好,账号这里点击新增来添加一个,名称和用户名这里还是都叫做shelter,然后输入密码点击确认。

这里稍微来说明一下,我们在之前配置的用户和用户组是用来登录到umpServer管理台或者工作台的,而这里的账号是用来连接到这台Linux服务器的。另外如果想要添加特权账号的话,还需要在目标服务器上提前配置这个用户的sudo权限,方法就是在根etc下的sudo配置文件里面添加这样的一行就可以了

image-20251018011143745

geekhour改为shelter

这样我们就添加了一台服务器资源,在资产列表页面 也能够找到这一台服务器,点击最右边的扩展按钮来测试一下,如果能看到这个界面的话就表示连接成功了,连接失败一般都是账号或者密码填写错误或者服务器防火墙没有打开之类的问题

image-20251018011300654

同样的方法 我们再来添加另外几台服务器

资产授权

配置完还需要再来配置一下资产授权,所谓的资产授权就是用来配置哪些用户可以访问哪些服务器资源的。点击左侧授权管理的资产授权,就会来到一个资产授权规则的配置页面,名称就叫做规则1,用户就选择刚刚添加的shelter,资产这里可以把我们刚刚添加的三台服务器都添加进来,节点还是选择默认就好,下面基本上都保持默认就可以然后提交

模拟

然后模拟一下其他用户的情况,重新打开一个这个页面,输入刚刚配置的用户名密码就可以进入。这里可以看到普通用户的话在左侧的切换按钮里面就只有一个工作台,是看不到控制台和审计台面板的,这两个面板只有lumpServer的管理员才能看到。点击一下菜单栏里面的连接资产之后,在界面右侧就可以看到这个用户有权限访问的服务器资源,点击列表右侧的连接按钮就可以连接到这台服务器,点击之后会弹出一个连接设置按钮,连接方式选择SSH,点击连接之后就可以看到成功连接到这台服务器上,在这里执行任何命令 也都是没有问题的,而且在命令面板的背景有水印,可以看到当前是哪个用户正在操作,而且也会作为审计记录被保存下来,这个等到待会我们演示审计功能的时候会再来详细介绍

命令过滤

有的时候我们不希望用户在服务器上执行一些危险的命令,比如强制删除 关机 重启这些可能导致服务器宕机的命令,这个时候就可以在访问控制下面的命令过滤这里来配置,这里上面有两个Tab页,一个是命令过滤的规则,另一个是命令组。我们先来创建一个命令组

image-20251019034932228

1
2
3
rm -rf /
shutdown
rebaot

名称比如就叫做危险命令,内容这里就把刚刚我们提到的删除 关机和重启这三个命令都添加进来,点提交这样一个命令组就创建完成了,再来创建一个命令过滤规则,名称随便起一个,比如就叫做规则1,在命令组这里选择刚刚创建的危险命令,其他都选择默认就可以,然后提交,这样这个命令过滤规则就生效了。接下来我们回到普通用户的界面,注意这里是需要重新连接之后才能生效的,比如我们现在执行一下reboot可以看到还是可以执行的,关掉重连再次输入就会提示禁止。

最后我们再来看一下审计的功能,管理员界面切换审计台,在左侧会话审计里面就可以看到所有的操作记录,会话命令里面也能够看到哪些用户执行了哪些命令,以及这些命令的风险等级,是否被拦截等等,点击对应的转到会话按钮就可以查看这条命令的详细信息,包括哪个用户 哪台服务器,在右边也可以回放这个会话,点击一下回放之后,就可以还原当时用户的操作过程,这样以后如果有人执行了一些不该执行的命令就可以当做证据