当前位置: 首页 > news >正文

Jumpserver堡垒机管理(安装和相关操作)-------从小白到大神之路之学习运维第89天

第四阶段

时  间:2023年8月28日

参加人:全班人员

内  容:

Jumpserver堡垒机管理

目录

一、堡垒机简介

(一)运维常见背黑锅场景

(二)背黑锅的主要原因

(三)解决背黑锅的方法

二、Jumpserver简介

(一)支持的操作系统

(二)功能介绍

(三)Jumpserver组件说明

(四)Jumpserver功能说明

三、部署Jumpserver环境

(一)实验环境

四、Jumpserver配置应用

(一)系统设置

(二)创建资产

(三)同理添加资产,得到如下:


一、堡垒机简介

(一)运维常见背黑锅场景

        1、由于不明身份用户利用远程运维通道攻击服务器造成业务系统出现异常:但是运维人员无法明确攻击来源,那么领导很生气、后果很严重。

        2、只有张三能管理的服务器,被李四登录过并且做了违规操作:但是没有证据是李四登录的,那么张三只能背黑锅了。

        3、运维人员不小心泄露了服务器的密码。一旦发生安全事故,那么后果不堪设想。

        4、某服务器的重要数据被窃。但是数据文件无法挽回,那么面临的是无法估量的经济损失。

        运维工作中由于远程登录来源身份不明、越权操作、密码泄露、数据被窃、违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果不能快速定位事故原因,运维人员往往就会背黑锅。

(二)背黑锅的主要原因

        其实运维工作,出现各种问题是在所难免的不仅要有很好的分析处理能力,而且还要避免问题再次发生。

要清楚认识到出现问题的真实原因:

1、没有规范管理,人与服务器之间的界限不清晰;

2、没有实名机制,登录服务器前没有实名验证;

3、没有密码托管,服务器的密码太多,很难做到定期修改,自己保管怕丢失;

4、没有操作预警,对高危、敏感的操作无法做到事前防御;

5、没有传输控制,对重要服务器无法控制文件传输;

6、没有回溯过程,不能完整还原运维过程。

(三)解决背黑锅的方法

        作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的方法。

1、统一入口、规范管理

        提供统一入口,所有运维人员只能登录堡垒机才能访问服务器,梳理“人与服务器”之间的关系,防止越权登录

 

2、利用手机APP动态口令等验证机制

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

 

3、托管服务器密码,实现自动改密

        通过堡垒机定期自动修改服务器的密码,解决手工修改密码、密码泄露和记住密码的烦恼。

1)可自动修改Windows、Linux、Unix、网络设备等操作系统的密码;

2)可以设置周期或指定时间执行改密任务;

3)可设定密码的复杂度、随机密码、指定密码、固定密码格式等;

4)可通过邮件、SFTP、FTP方式自动发送密码文件给管理员;

5)提供密码容错机制:改密前自动备份、备份失败不改密、改密后自动备份、自动恢复密码等。

4、事中控制,防止违规操作

        作为运维人员,如何摆脱以上背黑锅的尴尬局面呢?也许堡垒机是一个破解此局面的必杀技。

1)通过命令控制策略,拦截高危、敏感的命令

2)通过命令审核策略,审批需要执行但又不能随意执行的命令

3)通过文件传输控制策略,防止数据、文件的泄露

 

5、精细化审计,追溯整个运维过程

        堡垒机要做到文件记录、视频回放等精细化完整审计,快速定位运维过程:

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

Debian Ubuntu

SUSE

FreeBSD

其他ssh协议硬件设备(如交换机...)

(二)功能介绍

1.  精确记录操作命令

2.  支持批量文件上传下载

3.  支持主机搜索登录

4.  支持批量命令执行(Ansible完成)

5.  支持WebTerminal连接主机

6.  支持Web端批量命令执行

7.  支持录像回放

8.  支持硬件信息如cpu,内存等抓取

9.  支持资产Excel导入导出

10. 支持资产批量更改

11. 支持系统用户的批量推送(Ansible实现)

12. 支持用户,主机,用户组,主机组,系统用户混合细颗粒授权

13. 支持sudo管理

14. 支持命令统计和命令搜索

15. 支持上传下载文件审计

16. 支持终止用户连接

17. 支持各种搜索

18. 其他

(三)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&#xf…...

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&#xff1a; #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 美团笔试真题 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 分析 暴力求解 将所有数值存入一个数组&#xff…...

C语言(第三十一天)

6. 调试举例1 求1!2!3!4!...10!的和&#xff0c;请看下面的代码&#xff1a; #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++】虚析构 | 抽象类

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

MySQL 的隐式转换导致诡异现象的案例一则

正是因为 MySQL 对字符串进行隐式转换时会截断再转&#xff0c;而不是像 Oracle、SQL Server 这些数据库针对这种问题直接报错&#xff0c;所以才出现了这个诡异的问题。 作者&#xff1a;刘晨 网名 bisal &#xff0c;具有十年以上的应用运维工作经验&#xff0c;目前主要从事…...

【考研数学】概率论与数理统计 —— 第二章 | 一维随机变量及其分布(2,常见随机变量及其分布 | 随机变量函数的分布)

文章目录 引言三、常见的随机变量及其分布3.1 常见的离散型随机变量及其分布律&#xff08;一&#xff09;&#xff08;0-1&#xff09;分布&#xff08;二&#xff09;二项分布&#xff08;三&#xff09;泊松分布&#xff08;四&#xff09;几何分布&#xff08;五&#xff0…...

【2023中国算力大会】《中国综合算力指数(2023年)》出炉,宁夏“资源环境”位列全国第1,“算力”跃入Top10

2023年8月18日-19日&#xff0c;2023中国算力大会在宁夏银川举行&#xff0c;本届大会以“算领新产业潮流 力赋高质量发展”为主题&#xff0c;打造“主题论坛、成果展示、产业推介、先锋引领”四大核心内容&#xff0c;全面展示算力产业发展最新成果&#xff0c;为产业各方搭建…...

自动设置服务器全教程

亲爱的爬虫探险家&#xff01;在网络爬虫的世界里&#xff0c;自动设置代理服务器是一个非常有用的技巧。今天&#xff0c;作为一家代理服务器供应商&#xff0c;我将为你呈上一份轻松实用的教程&#xff0c;帮助你轻松搞定爬虫自动设置代理服务器。 一、为什么需要自动设置代…...

Mysql--技术文档--B树-数据结构的认知

阿丹解读&#xff1a; B树&#xff08;B tree&#xff09;和B树&#xff08;B-tree&#xff09;都是常见的自平衡搜索树数据结构&#xff0c;用于在存储和检索大量数据时提供高效的操作。 基本概念-B树/B树 B树&#xff08;B-tree&#xff09;和B树&#xff08;B tree&#x…...

go gin 自定义验证

我们上一篇已经提到了gin中binding时候可以指定json字段大小等限制&#xff0c;但是那个错误却是英文的&#xff0c;现在想搞成中文的&#xff0c;以便前端可读&#xff0c;demo如下 package mainimport ("net/http""reflect""github.com/gin-gonic/…...

掉了无数头发成地中海后,我整理出了这套40+的大屏模板,快收藏!

最近又有不少粉丝后台问我接不接做可视化大屏&#xff0c;看来可视化大屏是越来越火啦&#xff0c;但老李还是要说一下&#xff0c;老李本身工作就很忙&#xff0c;实在是顾不过来&#xff0c;但老李会在自己体验过后为大家挑选合适的工具和模板&#xff0c;提升大家做大屏的效…...

【从零开始学习JAVA | 第四十六篇】处理请求参数

前言&#xff1a; 在我们之前的学习中&#xff0c;我们已经基本学习完了JAVA的基础内容&#xff0c;从今天开始我们就逐渐进入到JAVA的时间&#xff0c;在这一大篇章&#xff0c;我们将对前后端有一个基本的认识&#xff0c;并要学习如何成为一名合格的后端工程师。今天我们介绍…...

k8s的交付与部署案例操作

一 k8s的概念 1.1 k8s k8s是一个轻量级的&#xff0c;用于管理容器化应用和服务的平台。通过k8s能够进行应用的自动化部署和扩容缩容。 1.2 k8s核心部分 1.prod: 最小的部署单元&#xff1b;一组容器的集合&#xff1b;共享网络&#xff1b;生命周期是短暂的&#xff1b; …...

LVS集群 (四十四)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、集群概述 1. 负载均衡技术类型 2. 负载均衡实现方式 二、LVS结构 三、LVS工作模式 四、LVS负载均衡算法 1. 静态负载均衡 2. 动态负载均衡 五、ipvsadm命令详…...

stm32之DS18B20

DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线&#xff0c;但时序电路却很不一样&#xff0c;DS18B20是更为麻烦一点的。 DS18B20 举例&#xff08;原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…...

Redis的数据结构与单线程架构

"飞吧&#xff0c;去寻觅红色的流星" Redis中的五种数据结构和编码 Redis是一种通过键值对关系存储数据的软件&#xff0c;在前一篇中&#xff0c;我们可以使用type命令实际返回当前键所对应的数据结构类型&#xff0c;例如: String\list\hash\set等等。 但…...