堡垒机介绍:
官方网站:https://www.jumpserver.org/

在一个特定网络环境下,为了保障网络和数据不受外界入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。我们又把堡垒机叫做跳板机,简易的跳板机功能简单,主要核心功能是远程登录服务器和日志审计。
JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,并使用python/django开发

下面让我们看一下如何安装jumpserver,其实jumpserver的安装非常简单,前提条件只需要docker就可以,首先我们需要在装有docker的主机上安装部署
一、下载镜像jumpserver、mysql(要求5.7以上)、redis(6.0版本以上)

1.	docker pull jumpserver/jms_all:1.5.6
2. docker pull mysql:5.7
3. docker pull redis:5.0

二、部署mysql:

把mysql:5.7打标签上传到镜像仓库(或者直接写本地仓库的)
docker tag mysql: 5.7 192.168.149.12/apps/mysql:5.7(这是我的仓库地址,要换成你的仓库地址) 创建mysql的dockercompose文件目录,并且要导入mysql.cnf ,mysqld.cnf文件
mkdir /data/docker-compose/mysql5.7 开始写docker-compose
vim /data/docker-compose/mysql5.7/docker-compose.yml version: '3'
services:
mysql:
image: 192.168.149.12/apps/mysql:5.7 (或者直接本地仓库mysql:5.7)
container_name: jms_mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'zzx.com'
expose:
- 3306
ports:
- '3306:3306'
volumes:
- /data/docker-compose/mysql5.7/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
- /data/docker-compose/mysql5.7/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 启动:docker-compose up -d 测试连接mysql
mysql -u root -h 192.168.149.12 -p'zzx.com' (物理机必须有mysql服务) 创建jumpserver库并指定utf8编码
create database jumpserver default charset 'utf8mb4'; 给jumpserverku授予权限
grant all on jumpserver.* to 'jumpserver'@'%' identified by 'zzx.com';

三、部署redis:

把redis:5.0打标签上传到镜像仓库(或者直接写本地仓库的)
docker tag redis:5.0 192.168.149.12/apps/redis:5.0(这是我的仓库地址,要换成你的仓库地址) 创建redis的dockercompose文件目录
mkdir /data/docker-compose/redis5.0 开始编写docker-compose
vim /data/docker-compose/redis5.0/docker-compose.yml
version: '3'
services:
jms_redis:
image: 192.168.149.12/apps/redis:5.0
container_name: jms_redis
restart: always
expose:
- 6379
ports:
- '6379:6379'
启动:docker-compose up -d

四、部署jumpserver:

创建jumpserver的dockercompose文件目录
mkdir /data/docker-compose/jumpserver 生成加密秘钥(生成随机加密秘钥和初始化token,下方第一段脚本对应SECRET_KEY,第二段脚本对应BOOTSTRAP_TOKEN)
if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi 编写jumpserver的docker-compose
vim /data/docker-compose/jumpserver/docker-compose version: '2'
services:
jms_all:
image: jumpserver/jms_all:1.5.6
container_name: jms_all
restart: always
environment:
- SECRET_KEY=VM5waokwV8j4CgWtMYmYYE8Qgpt0ErcSRw3R2yAOpR2WIdqsSR
- BOOTSTRAP_TOKEN=bmwWF4ejqQ1beVZR
- DB_HOST=192.168.149.12 #ip要写对
- DB_PORT=3306
- DB_USER='jumpserver'
- DB_PASSWORD="zzx.com"
- DB_NAME=jumpserver
- REDIS_HOST=192.168.149.12 #ip要写对
- REDIS_PORT=6379
- REDIS_PASSWORD=
volumes:
- /opt/jumpserver:/opt/jumpserver/data/media
ports:
- '8000:80'
- '2222:2222' 启动:docker-compose up -d
访问:http://192.168.149.12:8000/

jumpserver使用
1:登录web:
默认账户admin,密码admin

2:用户和组管理:
用户管理–用户列表界面,管理创建用户,用户相当于是公司的运维人员
2.1:创建用户:
创建jumpserver用户zhangxiaoming

2.2:设置用户密码

2.3:组管理:
用户管理–用户组界面,创建用户组,比如DBA在一组,网络在一组,后期会对组授权资产连接权限 ,创建MySQL组并添加zhangxiaoming如下:

2.4:测试zhangxiaoming登录:
打开其他浏览器测试zhangxiaoming用户是否可以登录到jumpserver

2.5:当前用户资产
当前用户zhangxiaoming还未有任何资产可用

3:资产管理:
资产管理–管理用户界面,创建系统用户,此用户用于推送到后端服务器自动创建,如果此账户已经存在于后端服务器则不会再重新创建,而是直接使用,后期jumpserver的普通账户(zhangxiaoming)会使用此账户登陆并管理资产信息(服务器),推荐的账户名称:mysql nginx tomcat www
3.1:创建系统用户
创建系统账户:


3.2:创建管理用户:
资产管理–系统用户界面,创建管理用户,该管理用户用于jumpserver登陆服务器统计资产信息以及推送系统用户的时候使用,所以此用户一定是一个可以登录的具备超级权限的用户(如后端服务器的root账户或者具有root权限的其他用户)。
创建管理用户:


3.3:创建资产:
资产管理–资产列表界面 创建资产,资产就是物理机 虚拟机等
创建资产:


资产状态:

测试资产可连接性:


更新和删除资产:

资产导入和导出:

4:授权管理
权限管理–授权管理界面,创建授权规则,将资产授权给某个jumpserver的登陆账户,即第一步创建的账户:
4.1:创建资产授权规则

4.2:资产授权规则详细信息

具体其他功能可参考如下官方文档,非常详细:
https://docs.jumpserver.org/

Linux下安装并使用jumpserver跳板机的更多相关文章

  1. linux Jumpserver跳板机 /堡垒机详细部署

    关于跳板机/堡垒机的介绍: 跳板机的定义: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作: 跳板机缺点: 没有实现对运维人员操作行为的 ...

  2. Linux系统——JumpServer跳板机的搭建和部署

    公网源部署jumpserver跳板机 建立阿里云公网源yum仓库(服务端)[root@localhost ~]# lsanaconda-ks.cfg install.log.syslog jumpse ...

  3. 其他综合-CentOS7 安装 Jumpserver 跳板机

    CentOS7 安装 Jumpserver 跳板机 1.实验描述 搭建 jumpserver 平台,实现有效的运维安全审计.完美做到事先防范,事中控制和事后溯源 2.实验环境 物理机系统:Window ...

  4. jumpserver跳板机(堡垒机)安装

     jumpserver跳板机(堡垒机) Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent,助力互联网企业 ...

  5. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

  6. Linux下安装Apache并以mod_wsgi方式部署django站点

    源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...

  7. linux下安装使用libuuid(uuid-generate)

    linux下安装使用libuuid(uuid-generate) linux下安装使用libuuid(uuid-generate) UUID简介 安装libuuid库 编写一个程序试一下 代码 编译运 ...

  8. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  9. Linux下安装PostgreSQL 转载linux社区

    Linux下安装PostgreSQL [日期:2016-12-25] 来源:Linux社区  作者:xiaojian [字体:大 中 小]   在Linux下安装PostgreSQL有二进制格式安装和 ...

随机推荐

  1. MySQL—索引(Index)

    前言: 关于MySql索引数据结构和实现原理的讲解值得阅读一下: 实现原理:https://www.cnblogs.com/songwenjie/p/9415016.htm 索引数据结构:https: ...

  2. 测试odbc连接sqlsever数据库是否成功的代码

    1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<windows.h> 4 #include<sql.h ...

  3. jvm-learning-类加载子系统

    类加载子系统的作用 类加载器ClassLoader角色 类的加载过程(广义加载)  加载  加载.class文件的方式 连接Linker 初始化  注意:如果类种没有变量赋值动作和静态代码块的语句是不 ...

  4. SpringBoot项目集成swagger报NumberFormatException: For input string: ""

    java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.f ...

  5. 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

    你两种依赖方式都可以使用,构造器注入和Setter方法注入.最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖.

  6. 客户端注册 Watcher 实现?

    1.调用 getData()/getChildren()/exist()三个 API,传入 Watcher 对象 2.标记请求 request,封装 Watcher 到 WatchRegistrati ...

  7. hadoop 分布式系统与Hadoop MapReduce

    Hadoop分为两部分 Hadoop MapReduce和Hadoop分布式文件系统 1分布式系统由Master Node 和多台 slave Node组成. 1.1MasterNode Master ...

  8. 【freertos】006-任务切换实现细节

    前言 任务调度实现的两个核心: 调度器实现:(上一章节已描述调度基础) 任务切换实现. 接口层实现. 原文:李柱明博客:https://www.cnblogs.com/lizhuming/p/1608 ...

  9. (stm32学习总结)—LCD—液晶显示

    显示器简介 显示器属于计算机的 I/O 设备,即输入输出设备.它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具.常见的有 CRT 显示器.液晶显示器.LED 点阵显示器及OLED 显示器 本章 ...

  10. python模块 | 时间处理模块—datetime模块

    在python中,与时间处理相关的模块有 time,datetime,calendar. 时间的两个概念: UTC(世界协调时): 整个地球分为二十四时区,每个时区都有自己的本地时间.格林威治天文时间 ...