从零搭建JumpServer

简介

堡垒机是网络安全产品,用来管理服务器,完成服务器的认证、授权、账号管理和审计。

JumpServer,是一款开源免费的堡垒机产品,本文介绍如何搭建 JumpServer。

准备

我在本地使用 VMWare,创建三台虚拟机,其中一台用来搭建 JumpServer,另外两台作为服务器资产用于管理。

需要注意,搭建 JumpServer 的服务器硬件要求 4核8G,下面是我 jumpserver 服务器的硬件配置。

虚拟机启动后,关闭防火墙,避免产生网络问题。

shell 复制代码
# 关闭防火墙
systemctl stop firewalld
# 关闭防火墙自启动
systemctl disable firewalld

搭建

准备工作完成后,开始搭建。

(1)下载安装包

访问官网(https://www.jumpserver.org/)下载最新的安装包(https://community.fit2cloud.com/#/products/jumpserver/downloads)。

下载下来,上传到需要搭建 JumpServer 的服务器上,解压。

(2)安装

进入根目录,查看 README.md 文档,可见安装命令是 ./jmsctl.sh install

执行,完成 JumpServer 所需环境的搭建。

JumpServer 是用 docker 容器运行的,这一步甚至会帮你搭个 Docker 环境。

期间会询问你是否需要支持IPv6?是否需要扩展数据库?是否要更换页面端口等等选项,可根据需要自行选择。

(3)启动

安装完成后,贴心地提示我们启动命令和页面访问地址及账号密码。

执行启动命令。

打开浏览器,输入服务器地址访问 JumpServer 后台。出现登录界面表明部署完成。

如果无法访问,依次检查以下:

  • 服务器防火墙是否未关闭;

  • 浏览器地址是否以"https"访问了,如果是,需去掉"s";

  • 默认端口是80,如果安装期间更换了,需指定端口访问,如 http://192.168.101.12:8090;

使用

(1)登录

使用默认账户 admin/ChangeMe 登录。

登录成功后,需重置密码。

重置密码后成功登录。

(2)添加用户

添加一个 JumpServer 用户,如下,填写完击 提交

(3)添加资产

把虚拟机中的两台服务器添加到 JumpServer 中。

填写完,点 提交

添加完成后,可点右侧的 测试,试下网络是否连通。

把另外一台服务器也添加进来。

(4)资产授权

将这两台服务器的访问权限分配给前面创建的 xiaohe 账户,填写完点 提交

接下来,用 xiaohe 账户登录 JumpServer,登录后提示需重置密码,使用重置后的密码登录后,如下。

菜单比管理员账户的少很多,且只有控制台模块。

打开 连接资产,选择某台服务器进行连接。下面这里直接点击 连接

进入命令终端。

可以在左侧资产列表,点击,连接新的服务器。

(5)命令过滤

有时需要保护服务器,避免运维或程序员敲危险命令。我们可以在这里做命令过滤,过滤危险命令。

如下,点 提交,先创建一个命令过滤的命令组。

再创建一个命令过滤规则,关联刚刚创建的命令组。

在此之后连接(资产服务器)的用户,如果敲了被标记的危险命令,就会被拒绝执行(拒绝执行还是警告可在上面的过滤规则中设置)。

(6)审计

我认为 JumpServer 最牛逼的功能在于审计,这里记录了用户对资产的所有操作。

如下,是管理员账户才能查看到的审计台。

值得注意的是,这里记录了刚刚 xiaohe 用户敲了一条 危险命令

点击 会话命令 可查看详情。

点击会话,甚至可以对该会话进行快速干预,很牛逼了。

  • 终断:强制让该会话断开;

  • 监控:实时查看该用户的动作;

当该会话断开后,也就是使用者那边断开连接,没在用了。还能回放该会话,留下"犯罪证据"。

参考

https://www.bilibili.com/video/BV1jDrBYmEjo

相关推荐
攒了一袋星辰3 小时前
JVM类加载过程
运维·服务器·jvm
嘎嘎NULL5 小时前
Gitea配置邮箱
运维·服务器·gitea
xiaoliuliu123457 小时前
Kylin V10 安装 compat-gcc-44-4.4.7-8.el7.x86_64.rpm 详细步骤
linux·运维·服务器
峰顶听歌的鲸鱼7 小时前
Kubernetes-Pod
linux·运维·云原生·容器·kubernetes·云计算
敲代码的哈吉蜂7 小时前
haproxy——socat热更新工具
linux·运维·服务器
小庄梦蝶8 小时前
宝塔使用nodejs管理器下载nodejs版本失败解决方式之一
linux·运维·前端
何中应8 小时前
解决Jenkins界面操作非常慢的问题
java·运维·jenkins
was1728 小时前
轻量级多服务器监控:Beszel 的安装与实战部署
运维·服务器·状态监控
小王C语言8 小时前
【进程概念】————进程切换、环境变量
linux·运维·服务器