jumpserver堡垒机

类似于openvpn

不同在于:

  • openvpn没有控制的功能,也没有监控的功能
  • jumpserver不仅能连接到内网,具有openvpn核心功能外,
    • 还有控制功能,当通过jumpserver进入内网要想访问哪台主机是可以控制的,进行逻辑上的隔离
    • 有监控功能
    • 且还能控制访问的人能否执行哪些命令

可以在openvpn后面指向jumpserver,双重保护

https://jumpserver.org/

运维安全审计4A规范:

  • 身份鉴别
  • 授权控制
  • 账号管理
  • 安全审计

1、jumpserver组成

1.1、五大组件

可以分布式安装也可在一台主机安装

  • Lina

    前端UI项目,实现web页面展示,主要使用Vue, Element UI完成

  • Core

    现指Jumpserver管理后台,是核心组件(Core) ,使用Django Class Based View风格开发,支持Restful API。

  • Coco/Koko

    实现了SSH Server和Web Terminal Server的组件,提供SSH和WebSocket接口,使用Paramiko和Flask开发。

    Koko是Go版本的coco,重构了coco的SSH/SFTP服务和Web Terminal服务。

  • Luna

    现在是Web Terminal前端,计划前端页面都由该项目提供,Jumpserver 只提供API,不再负责后台渲染htmI等。主要使用Angular CLI完成,web控制台

  • Lion

    Lion使用了Apache软件基金会的开源项目Guacamole, JumpServer使用Golang和Vue重构了Guacamole实现RDPNNC协议跳板机功能。

2、安装jumpserver

单机部署,硬件环境需更改内存,建议8G

基于容器docker安装部署jumpserver

安装docker,没有要求的话按照阿里云的方法复制粘贴安装即可

docker内置有nginx

https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b1167f0tR

2.1、准备数据库

##mysql
#启动docker前先准备数据库配置文件
[root@rocky8 ~]#mkdir -p /etc/mysql/mysql.conf.d/
[root@rocky8 ~]#mkdir -p /etc/mysql/conf.d/
[root@rocky8 ~]#vim /etc/mysql/mysql.conf.d/mysqld.cnf
[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         #添加此行,指定字符集
[root@rocky8 ~]#vim /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8        #添加此行,指定字符集


#启动docker
docker 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

##redis
[root@rocky8 ~]#docker run -d -p 6379:6379 --name reids --restart always redis:5.0.9

docker指令

docker ps       #查看容器中正在运行的软件的信息
docker images   #查看所安装的软件mysql的情况
docker logs -f jms_all   #可以查看安装jumpserver成功的显示日志信息

2.2、部署jumpserver

#执行官方脚本生成随机私钥,后续该私钥视为唯一
[root@centos8 ~]#cat key.sh
#!/bin/bash
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=$SECRET_KEY;
else
  echo SECRET_KEY=$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=$BOOTSTRAP_TOKEN;
else
  echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN;
fi

#查看私钥
[root@centos8 ~]#tail -n2 .bashrc
SECRET_KEY=hysjeaoleZISBTaNznz51HCYhm9YxPFERsykE6I8l73BzW17nS
BOOTSTRAP_TOKEN=8gxGTQUb2fhczzEb


#运行容器docker安装jumpserver
[root@centos8 ~]#docker run --name jms_all -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=hysjeaoleZISBTaNznz51HCYhm9YxPFERsykE6I8l73BzW17nS \     #将生成的随机私钥加入此行
  -e BOOTSTRAP_TOKEN=8gxGTQUb2fhczzEb \      #同上行
  -e LOG_LEVEL=ERROR \
  -e DB_HOST=10.0.0.200 \     #不支持写127.0.0.1,写成本机ip
  -e DB_PORT=3306 \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=123456 \     #如前面数据库准备redis没设置密码,此项可设置为空''
  -e DB_NAME=jumpserver \
  -e REDIS_HOST=10.0.0.200 \
  -e REDIS_PORT=6379 \
  -e REDIS_PASSWORD='' \
  --privileged=true \
  jumpserver/jms_all:2.19.1     #不指定版本号的话默认安装最新版本

2.3、登录jumpserver

可直接ip登录,会进入登录验证页面,默认首次登录账号密码都是admin,登录后会进入更改密码页面,最少六位,使用新密码再次登录

远程ssh也可以连接ssh -p 2222 admin@10.0.0.200,

3、jumpserver管理

大部分操作都是在web页面进行,非常傻瓜式,因此仅进行步骤说明

3.1、创建jumpserver用户和组

在web页面创建

3.1.1、登录用户账号
  • 系统管理员:admin
  • 普通用户:xiaoming
  • 系统审计员:辅助管理用,仅审计、监控,也可当做普通用户用,需自行切换
3.1.2、管理用户账号

可以让jumpserver连接到后端服务器进行一些初始化的工作,对后端后端服务器具有管理权限的系统账号,特权用户

  • 通常是后端服务器的root或者是具备root权限的超级用户
  • 用于推送或者是创建系统用户
  • 用于获取被管理的硬件资产信息
  • 实际上是后端服务器的root账号
3.1.3、系统用户账号

给登录用户账号使用ssh连接后端服务器时对应的系统账号,即系统中的普通用户

3.2、创建后端资产管理

将后端服务器添加进jumpserver,

将系统用户账号关联到相对应资产,可直接添加节点集群,需提前分类

授权规则,谁连哪台主机,资产授权

内部可以ssh连接,注意密码保护

3.3、管理数据库

搭建数据库软件,创建所需管理的数据库,账号,授权,属于应用软件,添加应用即可

当前仅支持mysql

3.4、命令过滤

可以限制谁对哪台主机可以做什么,不可以做什么,但是可以脚本绕过规则

3.5、批量导入导出资产

通过csv表格格式进行批量导入,记得推送系统用户

4、第九周作业

nginx高级应用
tomcat常见应用
tomcat简单应用
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值