引言
堡垒机是企业网络安全和运维管理的核心工具,用于集中控制运维权限、监控操作行为并保障数据安全。需要进行三级等保的网络运营环境中,必须搭建堡垒机,保证网络资产安全。
环境准备
为堡垒机至少配置两张网卡,一张访问外部网络,一张管理内部资产。

发现该堡垒机的第二张网卡,没有启动。

查看Netplan配置,发现只对第一张网卡enp6s18,未对第二张网卡enp6s19进行配置。

对网卡enp6s19进行配置,开启dhcp4。

应用Netplan配置。
sudo netplan apply再次查看ip,发现网卡enp6s19配置成功。

服务部署
使用官方提供的离线包:JumpServer - 开源堡垒机 - 官网

#下载后解压
sudo tar -zxvf 文件名
阅读README.md,直接执行命令。
./jmsctl.sh install #安装服务,安装过程中保持默认即可/全程回车。(内置 MySQL 和 Redis)。
./jmsctl.sh start #启动服务
浏览器输入外网ip访问服务。

因为是安装脚本一键安装部署,不知道具体密码,具体配置又在容器内,所以我们需要进入容器修改。
sudo docker exec -it jms_core bash #进入容器
cd /opt/jumpserver/apps #进入配置目录
利用manage.py修改管理员密码。(JumpServer 是基于 Django(Python Web 框架) 开发的,而 manage.py 是所有 Django 项目的标配文件,它的核心作用就是提供 Django 项目的命令行管理能力,包含框架内置的、覆盖日常运维的所有核心命令,其中就包括用户密码管理。
python manage.py changepassword admin #修改管理员密码
资产管理
浏览器再次访问JumpServer,输入用户名与修改的密码。

第一次登录需要同意条款与条件,点击提交进入管理界面。

创建用户组与用户
在真正的生产环境中,我们不可能将管理员账号分发给所有人用,权限过高并且会丧失堡垒机保护资产的效果,所以我们需要创建专门的用户组与用户。
创建用户组
进入用户管理,选择用户组点击创建,设置用户组名称,有必要设置备注。

添加用户
进入用户管理,选择用户列表点击创建。

认证
密码可以通过邮件发送给用户(需与邮箱服务器建立好联系),也可以设置密码,务必勾选下次登录须修改密码,保证密码只被用户自己知晓,保障用户权益。

MFA两次认证按需求启用。
来源根据网络环境进行选择:数据库,域控,单点认证。
安全
系统角色根据想要添加角色的权限进行设置。
用户:基础业务操作权限,仅能访问与自身相关的功能。。
系统管理员:最高级系统管理权限,负责系统整体运维与配置。。
系统审计员:查看系统操作日志、登录日志、权限变更记录。导出审计报表、核对用户行为与数据访问记录

导入资产
在管理资产前,我们需要先将资产导入到JumpServer服务中。
进入资产管理,选择资产列表点击创建。我们这里添加的是一个Kali,所以选择Linux主机。

设置好资产名称,对应IP地址与节点与连接协议。

设置账号名称与对应账号用户名与密码或密钥。

设置好后点击提交,发现导入资产成功。

资产授权
资产虽然已经导入,但用户需要利用资产进行生产工作前,我们需先进行资产授权,该用户才能使用该资产。

设置该次授权的名称,授权的用户与用户组,所授权的资产。

根据情况给授权用户所需要的资产账号,协议,运作,授权时间。

访问控制
为了防止一些用户意外对资产造成影响,需要进行命令过滤,过滤一些非法命令。
进入权限管理,选择命令过滤,命令组点击创建。

点击命令过滤添加过滤。

模拟普通用户
登录运维部用户zhangsan。

跟设置一样需要修改密码。

重置密码后登录。同一条款和条件并提交。

进入我的资产,选择连接资产,点击右侧的电脑图标。

选择Web连接方式,点击连接。

发现拥有赋予的所有权限,但被命令过滤的所有命令都无法执行。

模拟审计员
同样方式登录系统审计员lisi。进入审计台。

可以对其他普通用户的所有会话,日志,作业进行审计。
会话命令可以看到用户所做的所有命令与风险等级。

在绘画审计中的会话记录可以对历史会话进行回放。

也能看到所有历史命令。
