Linux下安装并使用jumpserver跳板机
堡垒机介绍:
官方网站: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跳板机的更多相关文章
- linux Jumpserver跳板机 /堡垒机详细部署
关于跳板机/堡垒机的介绍: 跳板机的定义: 跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作: 跳板机缺点: 没有实现对运维人员操作行为的 ...
- Linux系统——JumpServer跳板机的搭建和部署
公网源部署jumpserver跳板机 建立阿里云公网源yum仓库(服务端)[root@localhost ~]# lsanaconda-ks.cfg install.log.syslog jumpse ...
- 其他综合-CentOS7 安装 Jumpserver 跳板机
CentOS7 安装 Jumpserver 跳板机 1.实验描述 搭建 jumpserver 平台,实现有效的运维安全审计.完美做到事先防范,事中控制和事后溯源 2.实验环境 物理机系统:Window ...
- jumpserver跳板机(堡垒机)安装
jumpserver跳板机(堡垒机) Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent,助力互联网企业 ...
- Linux下安装 Posgresql 并设置基本参数
在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...
- Linux下安装Apache并以mod_wsgi方式部署django站点
源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...
- linux下安装使用libuuid(uuid-generate)
linux下安装使用libuuid(uuid-generate) linux下安装使用libuuid(uuid-generate) UUID简介 安装libuuid库 编写一个程序试一下 代码 编译运 ...
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...
- Linux下安装PostgreSQL 转载linux社区
Linux下安装PostgreSQL [日期:2016-12-25] 来源:Linux社区 作者:xiaojian [字体:大 中 小] 在Linux下安装PostgreSQL有二进制格式安装和 ...
随机推荐
- CF736D Permutations(伴随矩阵)
CF736D Permutations(伴随矩阵) Luogu 题解时间 首先把边直接放进邻接矩阵, 很明显行列式的奇偶和方案数的奇偶一样. 设 $ A_{ i , j } $ 为矩阵的该行列的余子式 ...
- (bzoj4408)[FJOI2016]神秘数(可持久化线段树)
(bzoj4408)[FJOI2016]神秘数(可持久化线段树) bzoj luogu 对于一个区间的数,排序之后从左到右每一个数扫 如果扫到某个数a时已经证明了前面的数能表示[1,x],那么分情况: ...
- 一文了解MySQL的Buffer Pool
摘要:Innodb 存储引擎设计了一个缓冲池(Buffer Pool),来提高数据库的读写性能. 本文分享自华为云社区<MySQL 的 Buffer Pool,终于被我搞懂了>,作者:小林 ...
- Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math类中提供了三个与取整有关的方法:ceil.floor.round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil( ...
- 什么是Hystrix?
防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)服务降级:双十一 提示 哎哟喂,被挤爆了. app秒杀 网络开小差了,请稍后再试.优先核心服务,非核心服务不可用 ...
- Java程序要操作数据库,一定要使用JDBC技术吗?
<!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency> <groupId>mysql</groupId> <a ...
- Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?
<resultMap>.<parameterMap>.<sql>.<include>. <selectKey>,加上动态 sql 的 9 个 ...
- MariaDB ZIP方式安装(Window系统)
Maria DB ZIP方式安装 Windows上ZIP包的入门非常简单-此发行版包括预构建的数据库文件,这些文件可以在解压缩ZIP后立即使用. 您可以从命令提示符运行mysqld.exe,如下所示: ...
- Javascript Range对象的学习
Range对象有几个特别难理解的属性,这里学习总结下 Range.startOffset:返回一个表示 Range 起点在 startContainer 中的位置的数字.此属性的值与Range.sta ...
- Zookeeper 下 Server 工作状态 ?
服务器具有四种状态,分别是 LOOKING.FOLLOWING.LEADING.OBSERVING. 1.LOOKING:寻找 Leader 状态.当服务器处于该状态时,它会认为当前集群中 没有 Le ...