JumpServer部署使用

1. 简介

JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v3.0 开源协议,是符合 4A 规范的运维安全审计系统,使用 Python 开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好,同时采纳分布式架构,支持多机房跨区域部署以及横向扩展,无资产数量及并发限制。

跳板机和堡垒机概念

跳板机:
跳板机就是一台服务器而已,运维人员在使用管理服务器的时候,必须先连上跳板机,然后才能去操控内网中的服务器,才能登录到目标设备上进行维护和操作。跳板机他是属于内网堡垒机的范畴,是一种用于单点登陆的主机应用系统。跳板机缺点,仅仅实现服务器登陆的安全,但是没有实现对于运维开发人员行为操控和审计。使用跳板机可能会对服务器进行错误操作,很难定位到操作人。
堡垒机:
结合了跳板机的优点,并且可以记录操作人员和记录,堡垒机能够创建系统账号,该系统账号功能是属于角色区分的作用,但是也无法确认该账号的执行人。
堡垒机的作用:
由于跳板机的不足,企业需要更新,更好,更安全的技术理念去管理服务器的运维操作,需要一种能够满足角色管理,角色授权,信息资源访问控制,操作记录和审计,系统更变和维护控制等等需求,且还能生成服务器资产统计报表等功能的一个it堡垒机。
1、核心系统运维和安全审计管理。
2、过滤和拦截非打请求访问,恶意攻击,拒绝不合法命令,进行审计口监控,报警和责任追踪。
3、报警,记录,分析,处理。

架构图

1668064461613.jpg

image.png

JumpServer 的功能

  • 身份认证: 提供运维人员集中身份认证功能,使得运维人员仅需一次身份认证,就可以直接访问多台目标设备;
  • 账号管理: 包括集中管理资产账号、应用账号、自定义任务定期收集主机用户,以及定期批量改密功能;
  • 授权控制: 支持对资产、应用等进行多维度授权,包括用户、用户组、资产、资产节点、应用以及系统用户等,同时也支持对动作、时间和特权指令进行独特控制;
  • 安全审计: 包括对运维操作会话的实时阻断、对资产和应用等操作的指令审计,以及会话录像的下载和离线回放。

JumpServer 的优势

  • 开源开放: 零门槛,线上快速获取和安装;
  • 无需插件: 仅需浏览器,极致的 Web Terminal 使用体验;
  • 云端存储: 审计录像云端存储,永不丢失;
  • 多云纳管: 一套系统,同时管理不同云上面的资产;
  • 分布式部署: 轻松支持大规模并发访问;
  • 多租户管理: 一套系统,多个子公司和部门同时使用;
  • 多应用支持: 数据库,Windows远程应用,Kubernetes。

2. 安装部署

2.1 一键在线安装

快速安装 JumpServer:

  1. 最低配置:2核4G,可以访问互联网的 64 位 Linux 主机;
  2. 以 root 用户执行如下命令一键安装 JumpServer。

curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.27.0/quick_start.sh | bash
由于是国外的地址,所以经常会下载失败,无法安装成功。
image.png

2.2 离线安装

社区版官网下载地址:
https://community.fit2cloud.com/#/products/jumpserver/downloads
官方安装文档:
https://docs.jumpserver.org/zh/master/install/setup_by_fast/#_4
安装环境:新系统,不要安装任何软件,防止端口占用。
特别注意:如果系统中有原来安装的 docker 一定要卸载删掉。

2.2.1 设置安装环境与目录

修改镜像源为阿里云源vim /etc/apt/sources.list
将阿里云镜像源加到最后

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新软件索引apt update
安装windows上传下载工具apt install lrzsz
将下载好的 JumpServer 安装包导入到 /opt/。

2.2.2 解压安装

将安装包解压 tar -xvf jumpserver-offline-installer-v2.27.0-amd64-113.tar.gz
cd 到解压的目录下。
根据需要修改配置文件模板, 如果不清楚可以跳过修改 cat config-example.txt

# 以下设置如果为空系统会自动生成随机字符串填入
## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/

## Docker 镜像配置
# DOCKER_IMAGE_MIRROR=1

## 安装配置
VOLUME_DIR=/opt/jumpserver
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR

##  MySQL 配置, 如果使用外置数据库, 请输入正确的 MySQL 信息
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver

##  Redis 配置, 如果使用外置数据库, 请输入正确的 Redis 信息
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

# JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
DOCKER_SUBNET=192.168.250.0/24

## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64

## 访问配置
HTTP_PORT=80
SSH_PORT=2222
RDP_PORT=3389
MAGNUS_PORTS=30000-30100

## HTTPS 配置, 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
# USE_LB=1
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key

## Nginx 文件上传大小
CLIENT_MAX_BODY_SIZE=4096m

## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
USE_TASK=1

# Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=True

# Koko Lion XRDP 组件配置
CORE_HOST=http://core:8080
JUMPSERVER_ENABLE_FONT_SMOOTHING=True

## 终端使用宿主 HOSTNAME 标识
SERVER_HOSTNAME=${HOSTNAME}

# 额外的配置
CURRENT_VERSION=

执行 ./jmsctl.sh install

./jmsctl.sh start   # 启动

./jmsctl.sh down    # 停止

./jmsctl.sh -h      # 帮助

./jmsctl.sh uninstall   # 卸载

安装会需要一点时间,耐心等待。
1.jpg

到这里会有一些设置,主要是数据持久化、外部mysql及端口等,看不懂可以直接回车默认。
2.jpg

到这一步就是安装完成了。
3.jpg

启动 JumpServer ./jmsctl.sh start
查看端口 可以发现已经启动成功了 netstat -tpln
4.jpg

5.jpg

2.2.3 登录浏览器查看

在浏览器输入 ip ,即可看到登录界面。
默认用户名和密码都是 admin。
1668133052544.png

登录之后会提示修改密码,之后再次输入新密码即可登录成功。
1668133052588.jpg

3. 基础使用操作

3.1 MFA认证配置

Jumpserver 毕竟管理的是资产,偶尔会对临时人员创建账户授权资产,为了安全性考虑,决定在账户密码的基础之上再加一个MFA认证,用于防止密码泄露的恶意操作。
Multi-Factor Authentication (MFA) 是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。启用 MFA 后,用户登录Jumpserver时,系统将要求输入用户名和密码(第一安全要素),然后要求输入来自其 MFA 设备的动态验证码(第二安全要素),双因素的安全认证将为您的账户提供更高的安全保护。
image.png

使用MFA认证后,需要在手机下载一个APP,登录时需要将手机APP中的MFA验证器打开将验证码输入才可以 。
image.png

3.2 用户管理

创建用户比较简单,这里不做过多讲解。
带星号的为必填项。
image.png

批量添加用户,需要先下载模板,之后将用户信息填入好后在导入,就可以批量创建。
1668135776578.jpg
1668135811226.jpg

3.3 资产管理

在加入服务器资产之前,先设置系统用户
系统用户分为普通用户和特权用户,特权用户是服务器中已经存在的,也就是root用户,拥有最高权限。
普通用户则是拥有一般权限的用户,可创建也可以不创建。
image.png

创建特权用户,依次填好,点击提交。
认证栏可以选择密码或密钥,密码就是服务器root的登录密码。

密钥需要在被管理连接的服务器中创建好 。
创建密钥ssh-keygen -t rsa
一直按回车,就可以得到创建好的密钥。
1671178689275.jpg

将私钥 id_rsa 传上来,就可以使用密钥登录了。
image.png

设置好系统用户之后,在资产管理中点击 --> 资产列表 --> 创建
image.png

依次填入红框中的信息后,点击提交即可
image.png

没有出现红色的叉号就代表连接成功。
image.png

之后设置资产授权,点击创建。
image.png

依次填好后,点击提交
image.png

点击右上角的 web终端 选项,连接测试。
image.png

选择要连接的服务器,点击确认。
image.png

连接成功
image.png

使用 xshell 连接测试
新建会话,填入部署 jumpserver服务的机器 ip
端口号选择 2222
image.png

这次使用 zhangsan 的用户进行登录。
image.png

登录成功
image.png

输入 p 查看拥有登录权限的服务器,输入相应的数字,回车即可登录。
image.png

3.4 网域网关

在资产管理中找到网域列表,点击创建
1668147687340.jpg

输入名称和资产,点击提交
1668147687366.jpg

点击创建好的网域,在点击网关
1668147687397.jpg

点击创建
1668147687416.jpg

输入相关信息,点击提交,即可使用堡垒机登录其他网段的服务器
1668147687440.jpg

3.5 命令过滤

命令过滤功能可以配置相应的命令,使得用户在使用这些命令时(例如rm -rf)系统拒绝执行或需要管理员审批,保障系统的安全
image.png

3.6 应用管理

在应用管理中找到数据库,点击创建,选择要创建的数据库类型。
1668148543088.jpg

填写相关信息,点击提交
1668148630972.jpg

在权限管理中找到应用授权,点击创建,选择类型
1668148711770.jpg

填写相关信息,点击提交,即可在web界面进行连接测试。
1668148751484.jpg

3.7 日志审计

管理员用户,或者审计员用户,可以在视图审计台中,查看资产服务器登录记录,命令记录,以及回放等等
1668149122132.jpg

会话审计
image.png

日志审计
image.png

3.8 LDAP认证

首先要部署好 ldap 服务,并创建好用户。
1670582111324.jpg

可以看到已经创建成功。
1670582211031.jpg

回到 jumpserver工作界面,在系统设置中找到认证设置,点击LDAP,按步骤填写相关信息。
8、9 两步默认即可。
填写完成后继续下拉,点击启用LDAP认证。
1.jpg

点击 测试连接,可以看到成功匹配到两个用户。
2.jpg

点击 提交,会出现更新成功
3.jpg

点击 测试登录,填入用户名和密码,点击确认,可以看到认证已成功。6.jpg

点击 用户导入,选择要导入的用户。
5.jpg

退出 jumpserver登录的用户,使用 ldap 用户登录。
7.jpg

登录成功。
此时使用 Xshell 也可以成功登录。
8.jpg

参考教程:
[https://www.bilibili.com/video/BV1vR4y1w7sG/?spm_id_from=pageDriver&vd_source=c54e6b4278f9203d45a1941848edc8bd](https://www.bilibili.com/video/BV1vR4y1w7sG/?spm_id_from=pageDriver&vd_source=c54e6b4278f9203d45a1941848edc8bd)
[https://blog.csdn.net/tladagio/article/details/122745157](https://blog.csdn.net/tladagio/article/details/122745157)

4. FAQ

4.1 安装报错

报错信息:
invalid CIDR address 无效的CIDR地址
1668067223134.jpg
问题:网络问题( CIDR–无类别域间路由),原来安装的docker与 安装包里的发生冲突,造成报错。
解决:卸载掉原来安装的 docker 即可。最好使用新系统,没有安装任何软件的,因为 JumpServer会启动很多容器, 为防止端口占用。

4.2 更改密码

admin 初始密码登录提示错误
由于默认的 admin 密码错误,所以需要修改密码。
docker exec -it jms_core /bin/bash进入到 jms_core 容器内
cd appscd 到 apps 目录下
python manage.py changepassword admin更改密码
输入两次后即可。
image.png

登录成功。
image.png

4.3 登录报错

报错信息
Receive Connection closed 接收连接已关闭
Connection websocket closed 连接websocket已关闭
报错.jpg

**原因:**在Ubuntu中默认是不允许root用户远程登录的,只可以使用root权限。
解决:
所以需要修改sshd服务配置文件。
vim /etc/ssh/sshd_config
可以看到里面有很多被注释掉的配置信息。
我们需要在里面加上 PermitRootLogin yes ( 如果被注释掉的信息里有则直接取消注释便可 )
找到 PermitRootLogin

改为PermitRootLogin yes ,并将注释去掉。
退出,重启sshd systemctl restart sshd
image.png

再次尝试,发现可以正常登录了。
1670580036728.jpg

参考文档:
Ubuntu18.04开启root用户远程登录(生产环境不建议)_ubuntu18.04开启root远程登录_小道克的博客-CSDN博客
安装配置 - 安装部署 - 《JumpServer v3.5 堡垒机使用手册》 - 书栈网 · BookStack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/460252.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常见的实时操作系统(RTOS)(嵌入式和物联网操作系统)介绍

在嵌入式系统和物联网(IoT)设备中,实时操作系统(RTOS)是至关重要的,因为它们负责管理有限的硬件资源,并提供确保任务在特定时间内完成的机制。开源实时操作系统(RTOS)允许…

【Python】清理conda缓存的常用命令

最近发现磁盘空间不足,很大一部分都被anaconda占据了,下面是一些清除conda缓存的命令 清理所有环境的Anaconda包缓存 删除所有未使用的包以及缓存的索引和临时文件 conda clean --all清理某一特定环境的Anaconda包缓存 conda clean --all -n 环境名清…

离线安装docker、docker-compose、Mysql镜像

离线安装docker docker-compose mysql镜像 一、下载docker docker-compose mysql 镜像文件 1、首先下载docker镜像 博主所用文件版本号: docker-23.0.6.tgz 下载docker 地址 :https://blog.csdn.net/xiaohanshasha/article/details/135489623?spm1001…

Vue前端开发记录(一)

本篇文章中的图片均为深色背景,请于深色模式下观看 说明:本篇文章的内容为vue前端的开发记录,作者在这方面的底蕴有限,所以仅作为参考 文章目录 一、安装配置nodejs,vue二、vue项目目录结构三、前期注意事项0、组件1、数不清的报…

移远通信亮相AWE 2024,以科技力量推动智能家居产业加速发展

科技的飞速发展,为我们的生活带来了诸多便利,从传统的家电产品到智能化的家居设备,我们的居家生活正朝着更智能、更便捷的方向变革。 3月14日,中国家电及消费电子博览会(Appliance&electronics World Expo&#xf…

腾讯云对象存储的在Java使用步骤介绍

腾讯云对象存储的在Java使用步骤介绍 创建一个腾讯云的账户 这个自己去创建,然后开通对象存储服务,如下 有了账号就要创建一个对象存储的桶,也就是存储对象的一个容器 如果你想只有自己放存放的就设置 私有读写 ,如果想用网络直…

fs模块 练习题

编写程序: 在文件夹data里有文件a.txt和文件b.txt。将文件a.txt和文件b.txt的内容读取后写入文件c.txt中。 一、同步读取 const fs require(fs); let datas1fs.readFileSync(./data/a.txt); let datas2fs.readFileSync(./data/b.txt); let datas3datas1datas2;//对…

智慧城市:提升城市治理能力的关键

目录 一、智慧城市的概念及特点 二、智慧城市在提升城市治理能力中的应用实践 1、智慧交通:提高交通治理效率 2、智慧政务:提升政府服务水平 3、智慧环保:加强环境监测与治理 4、智慧安防:提高城市安全水平 三、智慧城市在…

多人聊天室 (epoll - Linux网络编程)

文章目录 零、效果展示一、服务器代码二、客户端代码三、知识点1.bind() 四、改进方向五、跟练视频 零、效果展示 一个服务器作为中转站&#xff0c;多个客户端之间可以相互通信。至少需要启动两个客户端。 三个客户端互相通信 一、服务器代码 chatServer.cpp #include <…

微信小程序--开启下拉刷新页面

1、下拉刷新获取数据enablePullDownRefresh 开启下拉刷新&#xff1a; enablePullDownRefreshbooleanfalse是否开启当前页面下拉刷新 案例&#xff1a; 下拉刷新&#xff0c;获取新的列表数据,其实就是进行一次新的网络请求&#xff1a; 第一步&#xff1a;在.json文件中开…

FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+OSD动态字符叠加,提供1套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收发送本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收HLS多路视频融合叠加应用本方案的S…

sqllab第二十二关通关笔记

知识点&#xff1a; cookie注入报错注入 直接抓取对应的数据包&#xff0c;发现还是一个cookie注入 参数值被base64加密了 测试这里使用什么手段读取输入 构造payload:uname1 base64加密&#xff1a;MSc 出现了hacker的页面&#xff0c;说明信息错误但是单引号没起作用 使…

《ARM汇编与逆向工程》读书心得与实战体验

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 一、引言 &#x1f4dd; 二、…

Livox激光雷达 mid360 跑 fastlio2 - 流程记录

mid360 跑 fastlio2 一、配置 mid360 环境1.1、主机配置静态IP为192.168.1.501.2、Livox-SDK21.3、Livox_ros_driver2二、Fast-lio22.1、下载源码2.2、修改代码2.3、编译、运行 一、配置 mid360 环境 1.1、主机配置静态IP为192.168.1.50 1.2、Livox-SDK2 安装工具 sudo apt…

【Unity+Vuforia】AR 发布安卓的设置

Player Settings > Resolution and Presentation > Default Orientation portrait Player Settings > Other Settings > Auto Graphics API 取消勾选 Player Settings > Other Settings > Graphics APIs 选择OpenGLES3删除其他的 Player Settings…

Python QT 之PySide6简单入门

目录 1.开发环境配置 1.1 下载PySide6 2.2 配置pycharm相关快捷方式 PySide6_Designer - QT Designer 设计UI PySide6_UIC - 将QT Designer生成的UI文件转换为python文件 PySide6_RCC - 将RCC文件转换为python文件 2.第一个开发实例 2.1 QT desiger设计界面 2.2 将ui文…

知名比特币质押协议项目Babylon联合创始人David将出席参加Hack.Summit()2024区块链开发者大会

Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目&#xff0c;Babylon积极参与全球区块链领域的交流与合作&#xff0c;此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…

信雅纳网络测试的二次开发集成:XOA(Xena Open-Source Automation)开源自动化测试

目录 XOA是什么 XOA CLI XOA Python API ​XOA Python Test Suite/测试套件 XOA Converter Source Code XOA是什么 XOA&#xff08;Xena Open-Source Automation&#xff09;是一个开源的测试自动化框架&#xff0c;追求“高效、易用、灵活”的跨操作系统的开发框架。能…

开启Safari手势支持

在使用Safari 的时候&#xff0c;大家有没有觉得不支持手势使用起来不是很方便&#xff0c; 触摸板只支持少量简单的手势&#xff0c;如缩放&#xff0c;滚动等。如果使用鼠标的用户&#xff0c;则完全无法使用手势。经过折腾研究&#xff0c;使用CirMenu应用可以完美解决这个要…

SpringCloud Stream 消息驱动

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第九篇&#xff0c;即介绍 Stream 消息驱动。 二、消息驱动概念 2.1 消息驱动是什么 官方定义 Spring …