企业级堡垒机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.rhkb.cn/news/363428.html

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

相关文章

c++ 设计模式 的课本范例(上)

( 0 ) 这里补充面向对象设计的几个原则&#xff1a; 开闭原则 OCP &#xff1a; 面向增补开放&#xff0c;面向代码修改关闭。其实反映到代码设计上就是类的继承&#xff0c;通过继承与多态&#xff0c;可以不修改原代码&#xff0c;又增加新的类似的功能。 依赖倒置原则 Depen…

51单片机定时炸弹-准确计时-两根线随机一根触发中断可“拆弹“(AT89C52)

一、设计介绍: 1、使用定时器按照精确时间读秒倒计时&#xff0c;倒计时在LCD1602中居中显示&#xff0c;格式为mm&#xff1a;ss&#xff0c;每秒变化一次 2、默认倒计时10分钟&#xff0c;时间到后显示“Time over”“&#xff08;&#xff08;&#xff08;Boom&#xff09…

抗击.michevol勒索病毒:保障数据安全的新策略

导言&#xff1a; 在今天高度互联的数字化环境中&#xff0c;数据安全面临着越来越复杂和普遍的威胁&#xff0c;勒索病毒如.michevol已成为了用户和企业普遍面临的风险。本文91数据恢复将探讨.michevol勒索病毒的特点、感染方式以及创新的防御策略&#xff0c;旨在帮助读者更…

【IJCAI2024】LeMeViT: Efficient Vision Transformer with Learnable Meta Tokens

【IJCAI2024】LeMeViT: Efficient Vision Transformer with Learnable Meta Tokens for Remote Sensing Image Interpretation 论文&#xff1a;https://arxiv.org/abs/2405.09789 代码&#xff1a;https://github.com/ViTAE-Transformer/LeMeViT 由于相邻像素和图像块之间的高…

Solana最新上线的Blink功能引爆加密圈:杀手级应用还是花拳绣腿?

近日&#xff0c;Solana推出了其最新功能——Blink&#xff0c;这一功能迅速引爆了加密圈的讨论。Blink功能能够将链上的操作&#xff0c;如交易、投票、支付、铸币等转化为一个可分享的链接或二维码&#xff0c;允许用户在不跳转其他页面的情况下直接在推特上完成上述链上操作…

【代码工厂】简单地图生成

要求 &#xff08;图片来自codingame&#xff09; 代码 # 定义一个函数&#xff0c;用于生成模式 def generate_pattern(n, a, border_char): # 初始化一个空列表&#xff0c;用于存储生成地图pattern []# 最上面那一行的处理line n * border_charpattern.append(line)# 遍…

建投数据人力资源管理系统APP完成迭代升级

近日&#xff0c;建投数据人力资源管理系统APP完成迭代升级。 此次升级思路&#xff0c;遵循提升移动应用的功能和用户体验&#xff1b;直观的界面、快速的响应速度和安全的数据存储&#xff1b;个性化的功能&#xff0c;以满足不同员工的需求和使用偏好。 人力资源管理系统A…

行业推荐!IG5216量产工具下载,IG5216开卡软件分享

国内固态硬盘常用&#xff0c;且有量产工具流传出来的主控厂商包括慧荣、群联、点序、英韧、得一微、瑞昱、联芸、迈威、国科、华澜微等等。 每个主控需要用各自对应的量产工具&#xff0c;不同的量产工具支持的闪存颗粒也有差异&#xff0c;因此要根据固态硬盘实际的主控型号…

SpringBoot集成道历(实现道历日期查询)

官网地址&#xff1a;官网地址https://6tail.cn/calendar/api.html 1、导入依赖 <dependency><groupId>cn.6tail</groupId><artifactId>lunar</artifactId><version>1.3.9</version></dependency><dependency><group…

【UE5.3】笔记6-第一个简单小游戏

打砖块小游戏&#xff1a; 1、制造一面砖块组成的墙 在关卡中放置一个cube&#xff0c;放这地面上&#xff0c;将其转换成蓝图类,改名BP_Cube&#xff0c;更换砖块的贴图&#xff0c;按住alt键进行拷贝&#xff0c;堆出一面墙&#xff0c;复制出来的会很多&#xff0c;全选移动…

Servlet工作原理

Servlet 工作原理 编写Servlet 创建servlet 创建一个MyServlet继承HttpServlet&#xff0c;重写doGet和doPost方法&#xff0c;也就是看请求的方式是get还是post&#xff0c;然后用不同的处理方式来处理请求&#xff0c; 2. 配置Servlet //添加参数 <servlet><se…

项目开发 TCP-Socket连接功能实现(Android端)

前段时间在公司做项目的时候遇到了一个功能需要使用TCP-Socket连接硬件设备进行通信&#xff0c;查了很多资料也只是关于HTTP-Socket相关的&#xff0c;没法满足项目的要求&#xff0c;后来查到一个相关的插件&#xff0c;现在有时间和大家分享一下。 项目简单介绍&#xff1a…

来聊聊nacos

先关注下下方公众号呗&#xff1a; 第1部分&#xff1a;引言 微服务的挑战 尽管微服务架构带来了许多好处&#xff0c;如敏捷性、可扩展性和容错性&#xff0c;但它也带来了一些挑战&#xff0c;特别是在服务发现、配置管理、服务间通信和运维管理方面。这些挑战需要有效的解…

经验分享之会员 SaaS 系统

前言 2018年&#xff0c;这是不平凡的一年&#xff1b;互联网行业的中台战略、会员经济等模式如火如荼&#xff0c;同时也逐渐地走入我们公司每个人的视野。在南海集团的战略规划背景下&#xff0c;当时我所在的公司作为集团的研发中心&#xff0c;承担了对会员 SaaS 系统的建…

一个人 三个月 干了二十万

相信很多人是被这个标题吸引进来的&#xff0c;但我并不是标题党&#xff0c;我也很讨厌标题党&#xff0c;这篇文章也不在乎流量&#xff0c;更多的是想记录下。 出来创业三个多月了&#xff0c;给大家汇报一下这段时间的业绩吧。一个人&#xff0c;三个多月&#xff0c;干了…

北邮《计算机网络》传输层笔记

内容一览 缩写复习单词复习传输层前言传输协议的要点拥塞控制UDPTCP VS UDPTCP 缩写复习 AIMD XCP ECN WFQ max-min-fair ARQ PAWS TSAP NSAP TCP UDP RTT SCTP SACK NAK RST MSS 单词复习 inverse multiplexing(SCTP) convergence crashed machine protocol scenarios asym…

针对VMWare无法使用鼠标功能键问题

在使用 VMWare 虚拟机的Ubuntu系统时发现无法使用许多鼠标带有额外的功能键&#xff0c;比如常用的前进后退&#xff0c;但是双系统中的Ubuntu没有问题&#xff0c;后来一搜发现是&#xff0c;虚拟系统中不支持这些功能键。因此我们对这个问题进行了解决。 解决方案 1.找到自…

bable 【实用教程】

简介 bable 用于将 ES6 的语法编译为 ES5 只关心语法&#xff0c;不关心 API 是否正确。不处理模块化&#xff08;webpack 会处理&#xff09; 搭建开发环境 安装相关的包 npm i babel/cli babel/core babel/preset-env新建文件 .babelrc&#xff0c;内容为 { "presets…

已解决javax.transaction.InvalidTransactionException:事务无效的正确解决方法,亲测有效!!!

已解决javax.transaction.InvalidTransactionException&#xff1a;事务无效的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 1. 确保事务的正确启动和结束 Spring中的事务管理 2. 避免嵌套事务问题…

Linux显示服务器Wayland切换到X11

1、临时切换 &#xff1a; 注销当前用户账户&#xff0c;返回到登录屏幕。 在登录屏幕上&#xff0c;选择您要登录的用户账户。 在输入密码之前&#xff0c;在登录屏幕的右下角可能有一个齿轮图标&#xff0c;点击它以展开更多选项。 在选项中选择“Ubuntu on Xorg”或“Ubu…