Jumpserver堡垒机管理(安装和相关操作)-------从小白到大神之路之学习运维第89天
第四阶段
时 间:2023年8月28日
参加人:全班人员
内 容:
Jumpserver堡垒机管理
目录
一、堡垒机简介
(一)运维常见背黑锅场景
(二)背黑锅的主要原因
(三)解决背黑锅的方法
二、Jumpserver简介
(一)支持的操作系统
(二)功能介绍
(三)Jumpserver组件说明
(四)Jumpserver功能说明
三、部署Jumpserver环境
(一)实验环境
四、Jumpserver配置应用
(一)系统设置
(二)创建资产
(三)同理添加资产,得到如下:
一、堡垒机简介
(一)运维常见背黑锅场景
1、由于不明身份用户利用远程运维通道攻击服务器造成业务系统出现异常:但是运维人员无法明确攻击来源,那么领导很生气、后果很严重。
2、只有张三能管理的服务器,被李四登录过并且做了违规操作:但是没有证据是李四登录的,那么张三只能背黑锅了。
3、运维人员不小心泄露了服务器的密码。一旦发生安全事故,那么后果不堪设想。
4、某服务器的重要数据被窃。但是数据文件无法挽回,那么面临的是无法估量的经济损失。
运维工作中由于远程登录来源身份不明、越权操作、密码泄露、数据被窃、违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅。
(二)背黑锅的主要原因
其实运维工作,出现各种问题是在所难免的不仅要有很好的分析处理能力,而且还要避免问题再次发生。
要清楚认识到出现问题的真实原因:
1、没有规范管理,人与服务器之间的界限不清晰;
2、没有实名机制,登录服务器前没有实名验证;
3、没有密码托管,服务器的密码太多,很难做到定期修改,自己保管怕丢失;
4、没有操作预警,对高危、敏感的操作无法做到事前防御;
5、没有传输控制,对重要服务器无法控制文件传输;
6、没有回溯过程,不能完整还原运维过程。
(三)解决背黑锅的方法
作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的方法。
提供统一入口,所有运维人员只能登录堡垒机才能访问服务器,梳理“人与服务器”之间的关系,防止越权登录

采用手机APP动态口令、OTP动态令牌、USBKEY、短信口令等双因素身份实名鉴别机制防止密码被暴力破解,解决访问身份模糊的问题。

通过堡垒机定期自动修改服务器的密码,解决手工修改密码、密码泄露和记住密码的烦恼。
1)可自动修改Windows、Linux、Unix、网络设备等操作系统的密码;
2)可以设置周期或指定时间执行改密任务;
3)可设定密码的复杂度、随机密码、指定密码、固定密码格式等;
4)可通过邮件、SFTP、FTP方式自动发送密码文件给管理员;
5)提供密码容错机制:改密前自动备份、备份失败不改密、改密后自动备份、自动恢复密码等。

4、事中控制,防止违规操作
作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的必杀技。
1)通过命令控制策略,拦截高危、敏感的命令
2)通过命令审核策略,审批需要执行但又不能随意执行的命令
3)通过文件传输控制策略,防止数据、文件的泄露

堡垒机要做到文件记录、视频回放等精细化完整审计,快速定位运维过程:
1)不仅要对所有操作会话的在线监控、实时阻断、日志回放、起止时间、来源用户、来源地址、目标地址、协议、命令、操作(如对文件的上传、下载、删除、修改等操作等)等行为记录。
2)还要能保存SFTP/FTP/SCP/RDP/RZ/SZ传输的文件为上传恶意文件、拖库、窃取数据等危险行为起到了追踪依据。
二、Jumpserver简介
Jumpserver 是全球首款完全开源的堡垒机(跳板机),使用 GNU GPL v2.0 开源协议,是符合 4A(认证Authentication、授权Authorization、记账Accounting、审计Audit) 的专业运维审计系统。
Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。
Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。
基于ssh协议来管理。被管理的服务器无需安装agent软件。助力互联网企业高效的对用户、资产(服务器)、权限、审计集中管理。而且管理界面是中文的,是一款无论从功能还是使用便捷度上来讲,都是非常不错的选择。
官网网站:http://www.jumpserver.org/
(一)支持的操作系统
Redhat CentOS
(二)功能介绍
(三)Jumpserver组件说明
Jumpserver:为管理后台, 管理员可以通过Web页面进行资产管理、用户管理、资产授权等操作,默认端口为 8080/tcp 配置文件在 jumpserver/config.yml
Coco:为 SSH Server 和 Web Terminal Server 。用户可以通过使用自己的账户登录 SSH 或者 Web Terminal 直接访问被授权的资产。不需要知道服务器的账户密码,默认 SSH 端口为 2222/tcp, 默认 Web Terminal 端口为 5000/tcp 配置文件在 coco/config.yml
Luna:为 Web Terminal Server 前端页面, 用户使用 Web Terminal 方式登录所需要的组件
Guacamole:为 Windows 组件, 用户可以通过 Web Terminal 来连接 Windows 资产 (暂时只能通过 Web Terminal 来访问), 默认端口为 8081/tcp
Nginx:默认端口为 80/tcp,前端代理服务
Redis:默认端口为 6379/tcp,数据库缓存服务
Mysql:默认端口为 3306/tcp,数据库服务
(四)Jumpserver功能说明
| Jumpserver提供的堡垒机必备功能 | ||
| 身份验证 Authentication | 登录认证 多因子认证 | 资源统一登录和认证 LDAP认证 支持OpenID,实现单点登录 MFA(Google Authenticator) |
| 账号管理 Account | 集中账号管理 统一密码管理 批量密码变更(X-PACK) 多云环境的资产纳管(X-PACK) | 管理用户管理 系统用户管理 资产密码托管 自动生成密码 密码自动推送 密码过期设置 定期批量修改密码 生成随机密码 对私有云、公有云资产统一纳管 |
| 授权控制 Authorization | 资产授权管理 组织管理(X-PACK) 多维度授权 指令限制 统一文件传输 文件管理 | 资产树 资产或资产组灵活授权 节点内资产自动继承授权 实现多租户管理,权限隔离 可对用户、用户组或系统角色授权 限制特权指令使用,支持黑白名单 SFTP 文件上传/下载 Web SFTP 文件管理 |
| 安全审计 Audit | 会话管理 录像管理 指令审计 文件传输审计 | 在线会话管理 历史会话管理 Linux 录像支持 Windows 录像支持 指令记录 上传/下载记录审计 |
三、部署Jumpserver环境
官网推荐安装环境
CPU: 2核、内存: 8G
(一)实验环境
| IP地址 | 主机名 | 角色 |
| 192.168.100.131 | jumpserver | 堡垒机 |
| 192.168.100.132 | server132 | 被管理服务器 |
| 192.168.100.133 | server133 | 被管理服务器 |
官方极速安装:
安装部署 - JumpServer 文档
1、关闭防火墙
[rootahuyang1~]# systemctl stop firewalld[rootchuyangl~]# iptables -F[rootahuvang1~]# setenforce 0[root@jumpserver -]#hostnamectl set-hostnamejumpserver

2、在线下载软件
curl -sSL
https://github.com/jumpserver/jumpserver/releases/download/v2.28.0/quick_start.sh | bash

根据提示操作:

cd /opt/jumpserver-installer-v2.28.0/
./jmsctl.sh start

3、测试连接
# linux
ssh -p2222 admin@192.168.100.131 # 密码: admin
sftp -P2222 admin@192.168.100.131 # 密码: admin

# Windows 下, Xshell Terminal 登录语法如下
ssh admin@192.168.100.131 2222 # 密码: admin
[root@localhost ~]# ssh -p2222 admin@192.168.100.131

4、网页访问测试:
用户名:admin 密码:admin

修改密码:

自动跳转:

再次登录:

进入访问:

可以配置当前邮箱:在主页面,也就是控制台,选择用户管理--->用户列表

点击administrator右侧的更新进入修改如下:

在右侧个人中心查看如下:

四、Jumpserver配置应用
(一)系统设置
1、设置当前站点URL,更改如下:

2、设置邮箱:

3、输入内容:测试

4、结果测试

(二)创建资产
1、创建资产管理用户--->特权用户创建,如下:

2、进入添加名称--->用户名--->认证密码、密钥密码

3、提交后,添加

4、创建资产,点击资产列表--->创建

配置如下:

点击提交:

等待一会,刷新:

最终结果如下:

(三)同理添加资产,得到如下:
1、建特权用户

2、创建资产server132

3、创建资产server133

4、结果如下:

相关文章:
Jumpserver堡垒机管理(安装和相关操作)-------从小白到大神之路之学习运维第89天
第四阶段 时 间:2023年8月28日 参加人:全班人员 内 容: Jumpserver堡垒机管理 目录 一、堡垒机简介 (一)运维常见背黑锅场景 (二)背黑锅的主要原因 (三)解决背黑…...
伦敦金走势多变怎么办
投资知识比较丰富的朋友,应该知道一个品种的价格过于波动,对投资者来说并是一件不友好的事情,因为频繁的价格变化,对于收益的稳定性会产生负面的影响,也可能让投资者的持仓陷入进退维谷的尴尬境地。 黄金作为贵金属市场…...
MybatisPlus-插件篇
文章目录 一、前言二、插件1、分页插件2.1.1、引入依赖2.1.1、配置分页插件2.1.3、使用分页方法 2、乐观锁插件2.1、引入依赖2.2、添加版本字段2.3、配置乐观锁插件2.4、执行更新操作 三、总结 一、前言 本文将详细介绍mybatisplus中常用插件的使用。 二、插件 1、分页插件 …...
数学建模:熵权法
🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 熵权法 构建原始矩阵 D a t a Data Data 形状为 m ∗ n m *n m∗n ,其中 m m m 为评价对象, n n n 为评价指标。对 D a t a Data Data矩阵的指标进行正向化处理,得到…...
软件测试实训系统建设方案
一 、系统概述 软件测试实训系统是软件开发过程中的一项重要测试活动,旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作,以实现整个软件系统的功能和性能。以下是软件测试实训系统的一般流程和步骤…...
部署 ssm 项目到云服务器上(购买云服务器 + 操作远程云服务器 + 服务器中的环境搭建 + 部署项目到服务器)
部署 Web 项目 1、获取 Linux 环境1.1、如何去买一个云服务器1.2、远程操作云服务器1.3、在 Linux 系统中搭建 Java Web 的运行环境。1)安装 JDK(使用包管理器 yum 来安装)2) 安装Tomcat3)安装 MySQL。 1.4、在云服务器…...
python爬虫-使用selenium自动登录微博
环境准备:anaconda、pycharm编辑器、chromedriver(记得下载) 首先查看本地anaconda的python环境和selenium版本号(不同版本的api接口可能不同) conda list python输出 # Name Version Build Channel ipython …...
Python 面试:可变类型和不可变类型作为函数参数,关键字参数
1. 可变类型作为参数 可变对象: list/set/dict 参数会指向可变对象的副本的地址,每次修改的是同一个对象。 def flist(l):l.append(0)print(l)ll [] flist(ll) flist(ll)输出为: [0] [0, 0] # 注意:l只是ll的一个副本,修改l不…...
Web3.0时代什么时候到来,Web3.0有什么机会?
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...
vue心得
不是专业的前端开发,但因为E2E开发和架构设计的需要,必须对前端框架有一些了解。这两年项目前端在用vue,就记录一下vue的使用心得。 心得 component component: vue组件,可在其中完成界面呈现(V…...
JavaScript—数据类型、对象与构造方法
js是什么? JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。 js有哪些特点呢…...
自定义node-red节点中,如何编写节点的配置信息弹窗
前言 最近有读者通过博客向我咨询,在自定义node-red节点时,如何编写该节点的配置页面,就是我们通常见到的,双节节点打开的信息弹窗。如下图: 上面两张图,展示了inject节点与mqtt in 节点的配置弹窗。 在弹窗中,除了上面的删除,取消,完成,和下面的失效按钮。 中间…...
数据之美:探索数据可视化设计的奇妙世界
在信息时代的浪潮中,海量的数据正在影响着我们的生活和决策。然而,数据本身虽然有力量,但如何将其有机地呈现给我们,却成为了一个挑战。数据可视化设计应运而生,它不仅让枯燥的数字变得生动,还带来了一场视…...
docker初始化
避免僵尸进程 使用dump-init FROM node:16 AS builderRUN apt install dumb-init... ...ENTRYPOINT ["/usr/bin/dumb-init", "--"] CMD ["node", "dist/main"]使用tini docker run --init .......开启docker内部ssh docker exec -…...
【C语言】结构体变量引用的一个例子
文件test_funcs.c: #include <stdio.h> #include <stdlib.h>struct t_Test {int n1;int n2; };struct t_Test *alloc_Test(void) {struct t_Test *pTestNULL;pTestmalloc(sizeof(struct t_Test));pTest->n1 1;return pTest; }void func1(struct t_…...
美团笔试题之合并 K 个升序链表
文章目录 题目详情分析暴力求解两两合并链表 Java完整实现代码总结 题目详情 23 美团笔试真题 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 分析 暴力求解 将所有数值存入一个数组ÿ…...
C语言(第三十一天)
6. 调试举例1 求1!2!3!4!...10!的和,请看下面的代码: #include <stdio.h> //写一个代码求n的阶乘 int main() {int n 0;scanf("%d", &n);int i 1;int ret 1;for(i1; i<n; i){ret * i;}printf("%d\n", ret);return …...
【C/C++】虚析构 | 抽象类
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c系列专栏:C/C零基础到精通 🔥 给大…...
MySQL 的隐式转换导致诡异现象的案例一则
正是因为 MySQL 对字符串进行隐式转换时会截断再转,而不是像 Oracle、SQL Server 这些数据库针对这种问题直接报错,所以才出现了这个诡异的问题。 作者:刘晨 网名 bisal ,具有十年以上的应用运维工作经验,目前主要从事…...
【考研数学】概率论与数理统计 —— 第二章 | 一维随机变量及其分布(2,常见随机变量及其分布 | 随机变量函数的分布)
文章目录 引言三、常见的随机变量及其分布3.1 常见的离散型随机变量及其分布律(一)(0-1)分布(二)二项分布(三)泊松分布(四)几何分布(五࿰…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
