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有二进制格式安装和 ...
随机推荐
- gitLab上dev分支上的内容都拉取到本地了
从dev分支上更新代码 1.与远程仓库建立连接:git remote add origin XXXXX.git 2.使用git branch 查看本地是否具有dev分支 3.如果没有 git fetc ...
- 12.19 file 与io流
12.19 file与io流 File 1. 新建文件或者文件夹 新建文件 File F = new File(pathname:"路径+文件名");Boolean flag = ...
- C++获取设备 PID,VID 信息
可直接编译(设置成:使用多字节字符集) 转来的,代码: /* http://www.experts-exchange.com/Programming/Editors_IDEs/Q_24506125.h ...
- 怎么根据Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序?
public int compareTo(Student o) { return this.age - o.age; // 比较年龄(年龄的升序) } 应该理解成return (-1)×(thi ...
- mac phpstorm返回文件顶部或者底部
在Mac下,请按FN+Command+→|←,就这么简单~
- solr服务的搭建
首先你需要一台已经搭建好的虚拟机,下面的步骤才可以执行 安装java 安装完Centos6.5的Base Server版会默认安装OpenJDK,首先需要删除OpenJDK 1.查看以前是不是安装了o ...
- 使用conda管理python环境和包
操作系统:CentOS7使用virtualenv管理python虚拟环境virtualenv是一款轻量级第三方虚拟环境管理工具,不像Anaconda大小达上百M,virtualenv大小只有10M左右 ...
- JVM学习思考
毕业以来技术上一直没有太大进步,仔细一想可能是没有做技术分享,我喜欢把学习总结记录在印象笔记中,那么理解的是对是错也就没人能评判一下.为了技术进步,接下来将陆续把一些学习总结迁移到博客园中,欢迎大家多 ...
- 一文读懂充电宝usb接口电路及制作原理详细
转自:http://www.elecfans.com/dianlutu/dianyuandianlu/20180511675801.html USB充电器套件,又名MP3/MP4充电器,输入AC160 ...
- GoLang数组切片
1. 数组1.1 如何定义数组同java数组一样,数组是一组内存连续且类型相同的数据组成 //不初始化初始值默认为0 var arr1 = [5]int{} var arr2 = [5]int{1,2 ...