企业级堡垒机JumpServer

文章目录

  • JumpServer是什么
    • 生产应用场景
  • Docker安装JumpServer
    • 1.Docker安装
    • 2.MySQL服务安装
    • 3.Redis服务安装
    • 4.key生成
    • 5.JumpServer安装
    • 6.登录验证
  • 系统设置
    • 邮箱服务器
    • 用户和用户组
    • 创建系统审计员
    • 资产管理用户
    • 创建资产节点
    • 资产授权
    • 查看用户的资产
    • 监控
    • 仪表盘
  • 命令过滤器
    • 创建命令过滤器

JumpServer是什么

JumpServer官方帮助文档:https://docs.jumpserver.org/zh/v3/#1-jumpserver

JumpServer是一个基于RBAC(角色权限访问控制模型)的企业内部资源管理的安全审计系统。它能做到事前授权,事中监察,事后审计,从而有效降低了运维操作风险,使得运维操作管理变得更简单,更安全。同时它能满足角色管理与授权审批、信息资源访问控制、操作记录和审计、系统变更和维护控制要求,并能生成一些统计报表配合管理规范,以此来不断提升IT内控的合规性。
在这里插入图片描述
在这里插入图片描述

生产应用场景

企业开发中,开发只能连接到开发环境,测试只能连接到测试环境,彼此不串门不越权,当然运维可以随时随地连接任何环境。
在这里插入图片描述

安全审计的4A规范Authentication: 身份鉴别(防止身份毛用和复用)Authorization:  授权控制(防止内部误操作和权限滥用)Accounting:     账号管理(人员和资产的管理)Auditing:       安全审计(追溯的保障和事故分析的依据)

Docker安装JumpServer

1.Docker安装

docker安装脚本

#!/bin/bash
#
#********************************************************************
#Author:            wangxiaochun
#Date:              2020-02-04
#FileName:          install_docker.sh
#URL:               http://www.wangxiaochun.com
#Description:       The test script
#Copyright (C):     2020 All rights reserved
#********************************************************************DOCKER_VERSION="20.10.10"
UBUNTU_DOCKER_VERSION="5:${DOCKER_VERSION}~3-0~`lsb_release -si`-`lsb_release -cs`"
#UBUNTU_DOCKER_VERSION="5:20.10.9~3-0~`lsb_release -si`-`lsb_release -cs`"
#UBUNTU_DOCKER_VERSION="5:19.03.14~3-0~lsb_release -si-`lsb_release -cs`"COLOR_SUCCESS="echo -e \\033[1;32m"
COLOR_FAILURE="echo -e \\033[1;31m"
END="\033[m". /etc/os-releasecolor () {RES_COL=60MOVE_TO_COL="echo -en \\033[${RES_COL}G"SETCOLOR_SUCCESS="echo -en \\033[1;32m"SETCOLOR_FAILURE="echo -en \\033[1;31m"SETCOLOR_WARNING="echo -en \\033[1;33m"SETCOLOR_NORMAL="echo -en \E[0m"echo -n "$1" && $MOVE_TO_COLecho -n "["if [ $2 = "success" -o $2 = "0" ] ;then${SETCOLOR_SUCCESS}echo -n $"  OK  "    elif [ $2 = "failure" -o $2 = "1"  ] ;then ${SETCOLOR_FAILURE}echo -n $"FAILED"else${SETCOLOR_WARNING}echo -n $"WARNING"fi${SETCOLOR_NORMAL}echo -n "]"echo 
}install_docker(){if [ $ID = "centos" -o $ID = "rocky" ];thenif [ $VERSION_ID = "7" ];thencat >  /etc/yum.repos.d/docker.repo  <<EOF
[docker]
name=docker
gpgcheck=0
#baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable/
EOFelse     cat >  /etc/yum.repos.d/docker.repo  <<EOF
[docker]
name=docker
gpgcheck=0
#baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/x86_64/stable/
EOFfiyum clean all ${COLOR_FAILURE} "Docker有以下版本"${END}yum list docker-ce --showduplicates${COLOR_FAILURE}"5秒后即将安装: docker-"${DOCKER_VERSION}" 版本....."${END}${COLOR_FAILURE}"如果想安装其它Docker版本,请按ctrl+c键退出,修改版本再执行"${END}sleep 5yum -y install docker-ce-$DOCKER_VERSION docker-ce-cli-$DOCKER_VERSION  \|| { color "Base,Extras的yum源失败,请检查yum源配置" 1;exit; }elsedpkg -s docker-ce &> /dev/null && $COLOR"Docker已安装,退出" 1 && exitapt update || { color "更新包索引失败" 1 ; exit 1; }  apt  -y install apt-transport-https ca-certificates curl software-properties-common || \{ color "安装相关包失败" 1 ; exit 2;  }  curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"apt update${COLOR_FAILURE} "Docker有以下版本"${END}apt-cache madison docker-ce${COLOR_FAILURE}"5秒后即将安装: docker-"${UBUNTU_DOCKER_VERSION}" 版本....."${END}${COLOR_FAILURE}"如果想安装其它Docker版本,请按ctrl+c键退出,修改版本再执行"${END}sleep 5apt -y  install docker-ce=${UBUNTU_DOCKER_VERSION} docker-ce-cli=${UBUNTU_DOCKER_VERSION}fiif [ $? -eq 0 ];thencolor "安装软件包成功"  0elsecolor "安装软件包失败,请检查网络配置" 1exitfi}config_docker (){mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"],"insecure-registries":["harbor.magedu.org:80"]
}
EOFsystemctl daemon-reloadsystemctl enable dockersystemctl restart dockerdocker version && color "Docker 安装成功" 0 ||  color "Docker 安装失败" 1
}set_alias (){echo 'alias rmi="docker images -qa|xargs docker rmi -f"' >> ~/.bashrcecho 'alias rmc="docker ps -qa|xargs docker rm -f"' >> ~/.bashrc
}install_docker
config_docker 
set_alias

在这里插入图片描述

2.MySQL服务安装

mkdir -p /etc/mysql/mysql.conf.d/
mkdir -p /etc/mysql/conf.d/#生成服务器配置文件,指定字符集
tee /etc/mysql/mysql.conf.d/mysqld.cnf <<EOF
[mysqld]
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
datadir= /var/lib/mysql
symbolic-links=0
character-set-server=utf8
EOF#生成客户端配置文件,指定字符集
tee /etc/mysql/conf.d/mysql.cnf <<EOF
[mysql]
default-character-set=utf8
EOFdocker run -d -p 3306:3306 --name mysql --restart always \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=jumpserver  \
-e MYSQL_USER=jumpserver      \
-e MYSQL_PASSWORD=123456       \
-v /data/mysql:/var/lib/mysql   \
-v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf  \
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf   mysql:5.7.30

在这里插入图片描述
检测mysql是否安装成功
在这里插入图片描述

3.Redis服务安装

docker run -d -p 6379:6379 --name redis --restart always  redis

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.key生成

#!/bin/bash
#
#********************************************************************
#Author:            wangxiaochun
#Date:              2022-03-07
#FileName:          key.sh
#URL:               http://www.wangxiaochun.com
#Description:       The test script
#Copyright (C):     2022 All rights reserved
#********************************************************************
if [ ! "$SECRET_KEY" ]; thenSECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`;echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc;echo SECRET_KEY=$SECRET_KEY;
elseecho SECRET_KEY=$SECRET_KEY;
fi
if [ ! "$BOOTSTRAP_TOKEN" ]; thenBOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`;echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc;echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
elseecho BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
fi

在这里插入图片描述

SECRET_KEY=ZLD8BSn6psSictsbl2R2eiu1PydgklzpK9XtgMUEXSfhNL1vRd
BOOTSTRAP_TOKEN=gliPC7uLyId2evlV

5.JumpServer安装

docker run --name jms_all2 -d \-v /opt/jumpserver/core/data:/opt/jumpserver/data \-v /opt/jumpserver/koko/data:/opt/koko/data \-v /opt/jumpserver/lion/data:/opt/lion/data \-p 80:80 \-p 2222:2222 \-e SECRET_KEY=ZLD8BSn6psSictsbl2R2eiu1PydgklzpK9XtgMUEXSfhNL1vRd \-e BOOTSTRAP_TOKEN=gliPC7uLyId2evlV \-e LOG_LEVEL=ERROR \-e DB_HOST=192.168.10.148 \   #自己的ip地址-e DB_PORT=3306 \-e DB_USER=jumpserver \-e DB_PASSWORD=123456 \-e DB_NAME=jumpserver \-e REDIS_HOST=192.168.10.148 \  #自己的ip地址-e REDIS_PORT=6379 \-e REDIS_PASSWORD='' \--privileged=true \jumpserver/jms_all

在这里插入图片描述
查看JumpServer的日志
在这里插入图片描述
在这里插入图片描述

6.登录验证

直接输入IP地址即可跳转登录页,默认用户名密码都是admin,首次登录他会你改密码。
在这里插入图片描述
在这里插入图片描述

系统设置

邮箱服务器

在这里插入图片描述
测试连接,测试邮件服务器配置是否正常
在这里插入图片描述
以下是JumpServer设置的邮件测试连接内容
在这里插入图片描述

用户和用户组

创建用户和用户组
在这里插入图片描述
设置成功的用户会收到邮件通知“Create account successfully”
在这里插入图片描述

启用用户多因子认证功能

多因子认证功能多因子认证Multi-Factor Authentication(MFA)是一种简单有效的最佳安全实践方法,用户要通过两种以上的认证机制之后,才能得到授权,使用计算机资源JumpServer启用MFA后,用户登录网站时,系统将要求输入用户名和密码(第一安全要素),然后要求输入来自其MFA设备的动态验证码(第二安全要素),双因素的安全认证将为您的账户提供更高的安全保护

在这里插入图片描述
配置完用户启用多因子认证后,用户登录时会有以下操作提示。
在这里插入图片描述
在这里插入图片描述
我Android手机下载是这样的图标“身份验证器”
在这里插入图片描述
需要使用身份验证器扫描下面的二维码
在这里插入图片描述

扫描之后身份校验器会有一个6位数的数字,填入上面的输入框里,输入完后就表示启用成功了
在这里插入图片描述
之后用户输入用户名和密码登录后,会显示需要输入MFA验证码才能登录到首页,身份验证器上会一直有6位数的验证码不断地倒计时显示。
在这里插入图片描述
在这里插入图片描述

创建系统审计员

在这里插入图片描述

资产管理用户

资产管理中的系统用户:普通用户和特权用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建资产节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资产授权

在这里插入图片描述
在这里插入图片描述

查看用户的资产

在这里插入图片描述
在这里插入图片描述

监控

JumpServer的监控像是屏幕共享一样,例如此时lei用户操作的终端就一览无余的展现在管理员的面前,管理员可以随时监控lei用户的一举一动,且可以随时终断lei用户的连接。
在这里插入图片描述
在这里插入图片描述
JumpServer也是一个防君子防不了小人的系统,如果lei知道别的资产的用户名和密码,直接在自己的终端通过ssh连接到别的资产上是可以的。别小聪明了,你的这些危险命令是可以被管理员禁用的(命令过滤器),而且你的所有操作都被监控着,且有回放功能,防不了你那就追责呗,除非你跑路快!
在这里插入图片描述
在这里插入图片描述

仪表盘

在这里插入图片描述

命令过滤器

使用命令过滤器可以禁止用户执行特定的危险命令,防止误操作或恶意行为。

系统用户可以绑定一些命令过滤器,一个过滤器可以定义一些规则当用户使用这个系统用户登录资产,然后执行一个命令.这个命令需要被绑定过滤器的所有规则匹配,高优先级先被匹配,当一个规则匹配到了,如果规则的动作是允许,这个命令会被放行,如果规则的动作是禁止,命令将会被禁止执行,否则就匹配下一个规则,如果最后没有匹配到规则,则允许执行。

创建命令过滤器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Model3C芯片方案--86彩屏中控面板Modbus协议说明

一、概述 Model3C芯片是一款基于RISC-V的高性能、国产自主、工业级高清显示与智能控制MCU&#xff0c;配备强大的2D图形加速处理器、PNG/JPEG解码引擎&#xff0c;并支持工业宽温。基于Model3C芯片的86彩屏中控面板&#xff0c;通过集成Modbus协议&#xff0c;实现了与多种控制…

前端存储都有哪些

cookie 、sessionStorage、localStorange、http缓存 、indexDB cookie 由服务器设置&#xff0c;在客户端存储&#xff0c;然后每次发起同源请求时&#xff0c;发送给服务器端。cookie最多能存储4K数据&#xff0c;它的生存时间由expires属性指定&#xff0c;并且cookie只能被…

涨点超强!图像特征提取最新方法!性能效率快到飞起

在图像处理领域&#xff0c;有一个非常关键的步骤&#xff1a;图像特征提取。它能给我们提供一种高效、准确且灵活的方式来描述和分析图像内容。 通过降低图像数据的维度&#xff0c;去除冗余和噪声信息&#xff0c;图像特征提取不但简化了后续处理过程&#xff0c;还能提高算…

ffmpeg使用mjpeg把yuvj420p编码为jpg图像

version #define LIBAVUTIL_VERSION_MAJOR 58 #define LIBAVUTIL_VERSION_MINOR 12 #define LIBAVUTIL_VERSION_MICRO 100 note 1. 通过*.jpg推测时&#xff0c;out_fmt为image2&#xff0c;打开*.jpg文件时&#xff0c;in_fmt为image2 但是out_fmt为image2时&#xff…

web项目打包成可以离线跑的exe软件

目录 引言打开PyCharm安装依赖创建 Web 应用运行应用程序打包成可执行文件结语注意事项 引言 在开发桌面应用程序时&#xff0c;我们经常需要将网页集成到应用程序中。Python 提供了多种方法来实现这一目标&#xff0c;其中 pywebview 是一个轻量级的库&#xff0c;它允许我们…

滑动窗口算法——部分OJ题详解

目录 关于滑动窗口 部分OJ题详解 209.长度最小的子数组 3.无重复字符的最长字串 1004.最大连续1的个数Ⅲ 1658.将x减到0的最小操作数 904.水果成篮 438.找到字符串中所有字母异位词 30.串联所有单词的子串 76.最小覆盖子串 关于滑动窗口 其实滑动窗口也是通过双指针…

Git(涵盖GitHub\Gitee码云\GitLab)

Git(涵盖GitHub\Gitee码云\GitLab) 文章目录 Git(涵盖GitHub\Gitee码云\GitLab)课程介绍Git概述官网介绍版本控制介绍两种版本控制工具集中式版本控制工具分布式版本控制工具 Git工作机制代码托管中心 Git安装和客户端的使用Git常用命令设置用户签名初始化本地库查看本地库状态…

C++——string类用法指南

一、前言 在C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用户自己管理&#xff0c;稍…

C++编译时引入json/nlohmann文件报错

报错信息: In file included from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/../utils/data.h:14:0,from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/MyRobotDb.h:32,from /home/chenlang/catkin_ws/src/leanrning_communicatio…

学校选用SOLIDWORKS教育版进行授课的理由

在当代的工程与技术教育领域&#xff0c;计算机辅助设计软件&#xff08;CAD&#xff09;已经变成了一个不可缺少的教学辅助工具。SOLIDWORKS作为一个功能齐全且用户友好的CAD软件&#xff0c;其教育版本在学校教学环境中受到了广泛的欢迎。本文将对学校教学中选用SOLIDWORKS版…

eclipse基础工程配置( tomcat配置JRE环境)

文章目录 I eclipse1.1 工程配置1.2 编译工程1.3 添加 JRE for the project build pathII tomcat配置JRE环境2.1 Eclipse编辑tomcat运行环境(Mac版本)2.2 Eclipse编辑tomcat运行环境(windows版本)2.3 通过tomcat7W.exe配置运行环境(windows系统)I eclipse 1.1 工程配置 …

【motan rpc 懒加载】异常

文章目录 升级版本解决问题我使用的有问题的版本配置懒加载错误的版本配置了懒加载 但是不生效 lazyInit"true" 启动不是懒加载 会报错一次官方回复 升级版本解决问题 <version.motan>1.2.1</version.motan><dependency><groupId>com.weibo…

5G VONR

转载&#xff1a;VoNR呼叫流程介绍 (baidu.com) 使用5G RAN、5G Core和IMS的语音服务被称为新无线电VoNR上的语音&#xff0c;5G提供语音/视频通话等服务。 NR网络架构上的语音 NR语音网络体系结构由5G RAN、5G Core和IMS网络组成。下面显示了一个体系结构。&#xff08;仅包…

3.x86游戏实战-寄存器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;2.x86游戏实战-跨进程读取血量 寄存器说明&#xff1a; 寄存器是处理器的一部&…

Windows部署MinIO,搭建本地对象存储服务

一、前言 二、MinIO介绍 三、Windows部署MinIO服务 1、准备工作 2、下载MinIO服务 3、启动MinIO服务 4、设置用户名密码 5、创建.bat文件启动服务 四、MinIO基本操作 1、存储桶管理 2、对象管理 3、数据查看 一、前言 基于外网的项目&#xff0c;可以使用阿里云等…

石墨舟氮气柜的特点和使用要求介绍

石墨舟是一种在半导体、太阳能光伏等高科技产业中广泛使用的专用工具&#xff0c;主要由高纯度石墨材料制成。它的形状通常像一只船&#xff0c;因此得名“石墨舟”。石墨舟主要用于承载硅片或其他基板材料通过各种高温处理过程&#xff0c;是制造半导体器件和太阳能电池片的关…

MIX OTP——监督动态子进程

现在&#xff0c;我们已经成功定义了我们的监督器&#xff0c;它将作为应用程序生命周期的一部分自动启动&#xff08;和停止&#xff09;。 但请记住&#xff0c;我们的 KV.Registry 在 handle_cast/2 回调中同时链接&#xff08;通过 start_link&#xff09;和监控&#xff…

分享一个导出数据到 Excel 的解决方案

前言 许多业务场景下需要处理和分析大量的数据&#xff0c;而 Excel 是广泛使用的文件格式&#xff0c;几乎所有人都能打开和查看 Excel 文件&#xff0c;因此将数据库中的原始数据处理后&#xff0c;导出到 Excel 是一个很常见的功能&#xff0c;对于数据管理、分析、备份、展…

侯捷C++面向对象高级编程(上)-2-构造函数

1.inline函数 2.访问级别 3.构造函数 4.重载

《UDS协议从入门到精通》系列——图解0x38:请求上传

《UDS协议从入门到精通》系列——图解0x38&#xff1a;请求上传 一、简介二、数据包格式2.1 服务请求格式2.2 服务响应格式2.2.1 肯定响应2.2.2 否定响应 三、通信示例 Tip&#x1f4cc;&#xff1a;本文描述中但凡涉及到其他UDS服务的&#xff0c;将陆续提供链接跳转方式以便快…