硬件配置: 2核,4G内存,50G磁盘(最低配置要求)

 

准备三台可以访问互联网的 64 位 Linux 主机 一个master 两个node(node节点内存可适当的放宽)#可以集群配置

基本配置: 最小化配置,ssh ,ntp 

|  jumpserver-master   |   192.168.197.213   | 主管理节点(运维使用) |
| :------------------: | :-----------------: | :--------------------: |
| **jumpserver-node1** | **192.168.197.214** | **被管理节点(开发)** |
| **jumpserver-node2** | **192.168.197.215** | **被管理节点(测试)** |

堡垒机的部署分为两种方式:

在线安装

curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash

开源堡垒机Teleport的部署 docker_运维

离线安装

我们以v3版本来进行:

cd /opt
wget https://resource.fit2cloud.com/jumpserver/installer/releases/download/v3.4.1/jumpserver-installer-v3.4.1.tar.gz
tar -xf jumpserver-offline-installer-v3.4.1-amd64.tar.gz
cd jumpserver-offline-installer-v3.4.1-amd64

开源堡垒机Teleport的部署 docker_Redis_02

# 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改
cat config-example.txt   #可以尝试直接执行脚本的方式自动的进行配置
# JumpServer configuration file example.
#
# 如果不了解用途可以跳过修改此配置文件, 系统会自动填入
# 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/

################################## 镜像配置 ###################################
#
# 国内连接  会超时或下载速度较慢, 开启此选项使用华为云镜像加速
# 取代旧版本 DOCKER_IMAGE_PREFIX
#
# DOCKER_IMAGE_MIRROR=1

################################## 安装配置 ###################################
#
# JumpServer 数据库持久化目录, 默认情况下录像、任务日志都在此目录
# 请根据实际情况修改, 升级时备份的数据库文件(.sql)和配置文件也会保存到该目录
#
VOLUME_DIR=/data/jumpserver

# 加密密钥, 迁移请保证 SECRET_KEY 与旧环境一致, 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 SECRET_KEY
#
SECRET_KEY=

# 组件向 core 注册使用的 token, 迁移请保持 BOOTSTRAP_TOKEN 与旧环境一致,
# 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 BOOTSTRAP_TOKEN
#
BOOTSTRAP_TOKEN=

# 日志等级 INFO, WARN, ERROR
#
LOG_LEVEL=ERROR

# JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
#
DOCKER_SUBNET=192.168.250.0/24

# ipv6 nat, 正常情况下无需开启
# 如果宿主不支持 ipv6 开启此选项将会导致无法获取真实的客户端 ip 地址
#
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64

################################# MySQL 配置 ##################################
# 外置 MySQL 需要输入正确的 MySQL 信息, 内置 MySQL 系统会自动处理
#
DB_HOST=mysql
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=jumpserver

# 如果外置 MySQL 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/master/install/install_security/#ssl
#
# DB_USE_SSL=True

################################# Redis 配置 ##################################
# 外置 Redis 需要请输入正确的 Redis 信息, 内置 Redis 系统会自动处理
#
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

# 如果使用外置 Redis Sentinel, 请手动填写下面内容
#
# REDIS_SENTINEL_HOSTS=mymaster/192.168.100.1:26379,192.168.100.1:26380,192.168.100.1:26381
# REDIS_SENTINEL_PASSWORD=your_sentinel_password
# REDIS_PASSWORD=your_redis_password
# REDIS_SENTINEL_SOCKET_TIMEOUT=5

# 如果外置 Redis 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/master/install/install_security/#redis-ssl
#
# REDIS_USE_SSL=True

################################## 访问配置 ###################################
# 对外提供服务端口, 如果与现有服务冲突请自行修改
#
HTTP_PORT=80
SSH_PORT=2222
MAGNUS_MYSQL_PORT=33061
MAGNUS_MARIADB_PORT=33062
MAGNUS_REDIS_PORT=63790

################################# HTTPS 配置 #################################
# 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置
#
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key
#

# Nginx 文件上传下载大小限制
#
CLIENT_MAX_BODY_SIZE=4096m

################################## 组件配置 ###################################
# 组件注册使用, 默认情况下向 core 容器注册, 集群环境需要修改为集群 vip 地址
#
CORE_HOST=http://core:8080
PERIOD_TASK_ENABLED=True

# Core Session 定义,
# SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期,
# SESSION_EXPIRE_AT_BROWSER_CLOSE=true 表示关闭浏览器即 session 过期
#
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=True

# Lion 开启字体平滑, 优化体验
#
JUMPSERVER_ENABLE_FONT_SMOOTHING=True

################################# XPack 配置 #################################
# XPack 包, 开源版本设置无效
#
RDP_PORT=3389
MAGNUS_POSTGRESQL_PORT=54320
MAGNUS_ORACLE_PORTS=30000-30030

################################## 其他配置 ##################################
# 终端使用宿主 HOSTNAME 标识, 首次安装自动生成
#
SERVER_HOSTNAME=${HOSTNAME}

# 当前运行的 JumpServer 版本号, 安装和升级完成后自动生成
#
CURRENT_VERSION=


# 安装 ./ install # 启动 ./ start


cd jumpserver-offline-release-v3.4.1-amd64 # 启动 ./ start # 停止 ./ down # 卸载 ./ uninstall # 帮助 ./ -h


开源堡垒机Teleport的部署 docker_SSL_03

会拉取镜像,这个时间会比较长

#可以的话在拉取完成之后为了方便下次的部署,将相关的镜像全部都打包在一个tar文件中,并进行堡垒机的部署操作

开源堡垒机Teleport的部署 docker_Redis_04

开源堡垒机Teleport的部署 docker_Redis_05

注意:在使用离线安装初始化部署的时候会只启动redis和mysql等服务,并不会将所有的服务都启动起来,需要我们手动启动bash start

开源堡垒机Teleport的部署 docker_运维_06

访问:

地址: http://服务器IP地址:<服务运行端口>
用户名: admin
密码: admin

开源堡垒机Teleport的部署 docker_学习_07

 🈂️注意:如果说安装完成之后,或是之前想要修改一些堡垒机的参数比如说是密码,账号,端口号,挂载路径(默认是在/data/jumpserver目录)

因为我们会存储一些用户操作的录像所有需要这个目录搭载到的地方越大越好)等等可以在cat /opt/jumpserver/config/config.txt文件中进行修改,修改完成后./ stop/restart

jumpserver使用

首先我们部署完成并登录堡垒机之后的第一件事,就在基本设置中设置一下当前站点URL,强烈推荐域名的方式设置URL

🈂️ 因为以后在进行资产管理给其他的用户创建账号的时候,会往对方邮箱里面发送一个当前站点的url,这个时候如果基本设置中的url是localhost的话其他人是登录不上去的

 

开源堡垒机Teleport的部署 docker_学习_08

配置堡垒机邮箱

以网易邮箱为例子:

首先注册一个属于自己的邮箱账号,开启POP3/SMTP服务,获取授权密码

开源堡垒机Teleport的部署 docker_运维_09

 

开源堡垒机Teleport的部署 docker_SSL_10

邮件服务器设置

开源堡垒机Teleport的部署 docker_运维_11

 

开源堡垒机Teleport的部署 docker_运维_12

  

用户类型以及系统用户的使用

权限划分

| 部门 | 部门分组  |  平台登录用户   | 系统用户 |
| :--: | :-------: | :-------------: | :------: |
| 研发 | dev1 dev2 | zmxdev1 zmxdev2 |   dev    |
| 测试 |   test    |     zmxtest     |   test   |
| 运维 |    ops    |     zmxops      |   ops    |

登录jumpserver用户跟系统用户是一致的在v2版本中无法实现

🈂️ 注意:平台登录用户与系统用户是不一致的,但在v3版本中是可以实现这样的一个方式,但是缺点是增加的运维的时间复杂


jumpserver支持三种登录用户 1. 普通用户 2. 系统审计员 3. 系统管理员


新建用户组(部门分组)

(依据上面的权限划分)

开源堡垒机Teleport的部署 docker_学习_13

 

开源堡垒机Teleport的部署 docker_Redis_14

 

开源堡垒机Teleport的部署 docker_SSL_15

创建平台用户并加入到对应的部门分组中

开源堡垒机Teleport的部署 docker_SSL_16

 

开源堡垒机Teleport的部署 docker_运维_17

 这边因为我们没有可以用的邮箱,所有我们配置一下密码先 🈂️ 其他内一栏信息可以不填写

开源堡垒机Teleport的部署 docker_运维_18

点击保存填写

依据权限划分将所需要的用户创建完整

开源堡垒机Teleport的部署 docker_Redis_19

补充:这里我们不用MFA(第三方登录用户),是因为如果启用的话,要使用谷歌的工具去扫码,获取动态密码

在创建最后一个运维ops用户的时候,我们将创建用户的邮箱设置成真实可用的邮箱进行一个验证操作 !

开源堡垒机Teleport的部署 docker_学习_20

 验证成功!

开源堡垒机Teleport的部署 docker_学习_21

 点击设置密码,进行重置: 🈂️ 重置完成后登录查看

开源堡垒机Teleport的部署 docker_运维_22

 

开源堡垒机Teleport的部署 docker_运维_23

 最后的系统管理员的用户列表:

开源堡垒机Teleport的部署 docker_学习_24

添加资产

在资产管理--》资产列表---》资产树中创建各个部门节点

开源堡垒机Teleport的部署 docker_Redis_25

 

开源堡垒机Teleport的部署 docker_SSL_26

 让后在各个资产树种资产节点里面添加需要管理的资产

开源堡垒机Teleport的部署 docker_学习_27

 

开源堡垒机Teleport的部署 docker_学习_28

添加资产

(那在v2版本的时候添加资产这边会有一个特权用户的设置 ,我们需要创建一个用于root权限的特权用户来帮助我们第一次添加资产之后,对资产进行一个初始化机器的时候需要用到,为后面的系统用户的推送提供依据)

开源堡垒机Teleport的部署 docker_学习_29

 其他的资产节点,依据集群配置进行补充完成!

开源堡垒机Teleport的部署 docker_学习_30

🈂️ 注意:目前还不能登录我们添加的资产,因为我们没有给对应的资产设置系统用户和授权

此时,登录运维ops用户,还没有分配任何的资产,是因为我们没有为其进行授权

开源堡垒机Teleport的部署 docker_学习_31

创建资产授权规则

(使我们登录任何用户都有对应管理的资产)

开源堡垒机Teleport的部署 docker_SSL_32

 

开源堡垒机Teleport的部署 docker_学习_33

 点击提交

再次登录ops用户就可以看到授权管理的资产

开源堡垒机Teleport的部署 docker_SSL_34

依次将其他部门的资产补充完整!!!

此时,虽然登录ops用户可以看到我们为其授权管理的资产,但是我们不能对资产进行登录操作

是因为我们没有为其创建系统用户

开源堡垒机Teleport的部署 docker_运维_35

 这里的 系统用户是指我们在linux服务器中使用到的系统用户~

首先以ops运维为例子:在对应的资产里面创建一个用户并修改密码 (其他的资产可以依次进行)
[root@jumpserver-master ~]# useradd zmxops
[root@jumpserver-master ~]# echo "000000" |passwd --stdin zmxops
Changing password for user zmxops.
passwd: all authentication tokens updated successfully.

开源堡垒机Teleport的部署 docker_Redis_36

 点击添加

开源堡垒机Teleport的部署 docker_Redis_37

再次登录ops之后就可以看到系统用户了,也可以正常连接

🈂️ 如果是v2版本的话,还需要再授权上面添加新添加的系统用户才可以,v3版本可以自动识别all

开源堡垒机Teleport的部署 docker_运维_38

 

开源堡垒机Teleport的部署 docker_运维_39

 除了上面的一些操作,我们还需要给一些指定的资产赋予他们特权用户,帮助完成一些root权限的使用,并借助特权用户完成系统账号对对应服务的推送,让我们不需要通过跳板机进入资产内部创建系统用户

那麽怎么给资产添加一个特权用户呢?

在v3版本上:

 点击创建!

开源堡垒机Teleport的部署 docker_Redis_40

 

开源堡垒机Teleport的部署 docker_SSL_41

 特权用户的使用:

开源堡垒机Teleport的部署 docker_运维_42

 

开源堡垒机Teleport的部署 docker_SSL_43

 

开源堡垒机Teleport的部署 docker_学习_44

 其他的资产也可以直接使用,方便了很多

🈂️ 上面创建的dev特权用户只是一个演示作用,建议直接使用root用户进行添加,或者在每个资产的初始阶段,创建并赋予一些root的权限

添加特权用户

让后我们可以在jumpserver-wed页面直接在资产上面创建系统用户,让后借助于特权用户通过playbook的方式进行推送创建对应的用户和密码

首先以我们创建并添加到jumpserver-master的特权账号root为例:

进入对应的资产---》账号列表----》root 进行测试账号可连接性

开源堡垒机Teleport的部署 docker_学习_45

 🈂️ 也建议在账号模板创建的特权用户,被资产添加之后就行一个连通性测试

开源堡垒机Teleport的部署 docker_学习_46

让后创建一个随机名字的系统用户进行测试: 

开源堡垒机Teleport的部署 docker_学习_47

 让后进行账号推送:

开源堡垒机Teleport的部署 docker_运维_48

 

开源堡垒机Teleport的部署 docker_运维_49

 

开源堡垒机Teleport的部署 docker_学习_50

 

开源堡垒机Teleport的部署 docker_运维_51

 

开源堡垒机Teleport的部署 docker_学习_52

资产的会话记录以及命令录像都查审计台查看

注意🈂️ 磁盘一定要大不然,审计记录就无法保存,也就无法看到结果

如果我们不想让admin管理员用户也操作审计的话,可以在用户列表中创建一个专属用户,让后将系统角色进行修改