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)分布(二)二项分布(三)泊松分布(四)几何分布(五࿰…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...