【玩转Lighthouse】使用宝塔面板搭建jumpserver开源堡垒机

2022-04-13 17:01:09 浏览数 (1)

  • 前言JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v3.0 开源协议,是符合 4A 规范的运维安全审计系统。

JumpServer 使用 Python / Django 为主进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。

  • 环境准备 jumpserver官方文档中提供了多种部署方法。但这些都需要完全在命令行中操作,且要求纯净环境安装,导致无法再使用服务器搭建其他网站应用,不便于新手进行后期维护。下面将采用腾讯云轻量应用服务器,安装可视化的 宝塔Linux面板 进行部署演示,尽可能减少部署维护难度,助力保证私有云财产安全运维。如果你还没有服务器,可以前往腾讯云热门云产品首单特惠秒杀页面购买,低至45元/年。记得选购 轻量应用服务器 产品: https://cloud.tencent.com/act/cps/redirect 创建好自己的轻量应用服务器后,进入控制台重装系统,选择 宝塔Linux面板 镜像安装。 image.pngimage.png 成功重装系统后,点击 应用管理 选项卡,根据提示获取宝塔面板的登录信息登录进宝塔面板,绑定宝塔账号 image.pngimage.png image.pngimage.png 然后进入宝塔面板的软件商店,安装下列依赖软件Nginx 1.20 MySQL 5.7 Docker管理器 Redis 6.2回到腾讯云轻量应用服务器后台,找到 网络信息——IP地址中 的服务器内网IP image.pngimage.png 打开redis软件的设置页面,将 性能调整 中的bind条目改为刚刚查看到的服务器内网IP image.pngimage.png 打开宝塔面板的 数据库 选项卡,创建数据库。访问权限选择 指定IP ,并在后面的输入框中粘贴服务器内网IP image.pngimage.png image.pngimage.png
  • 安装jumpserver 进入文件管理,在 /www/wwwroot 目录下使用远程下载功能下载jumpserver代码包,下载地址如下。完成下载后点击解压https://github.com/jumpserver/installer/releases/download/v2.20.2/jumpserver-installer-v2.20.2.tar.gz image.pngimage.png image.pngimage.png 打开 /www/wwwroot/jumpserver-installer-v2.20.2/config-example.txt 文件,参考 官方文档 根据自己的需要进行修改;也可以使用下面我的配置信息
代码语言:javascript复制
# 以下设置如果为空系统会自动生成随机字符串填入
## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置
## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/

## 安装配置, 可以使用华为云加速下载, arm64 用户需要注释掉 DOCKER_IMAGE_PREFIX
# DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com
VOLUME_DIR=/www/wwwroot/jumpserver
DOCKER_DIR=/var/lib/docker
SECRET_KEY=
BOOTSTRAP_TOKEN=
LOG_LEVEL=ERROR

##  MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置 MySQL, 请输入正确的 MySQL 信息
USE_EXTERNAL_MYSQL=1
DB_HOST=服务器内网IP
DB_PORT=3306
DB_USER=jumpserver
DB_PASSWORD=
DB_NAME=jumpserver

##  Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置 Redis, 请输入正确的 Redis 信息
USE_EXTERNAL_REDIS=1
REDIS_HOST=服务器内网IP
REDIS_PORT=6379
REDIS_PASSWORD=

## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServer
COMPOSE_PROJECT_NAME=jms
COMPOSE_HTTP_TIMEOUT=3600
DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=192.168.250.0/24

## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64

## Nginx 配置
HTTP_PORT=8080
SSH_PORT=2222
RDP_PORT=3389

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

## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启
USE_TASK=1

## XPack, USE_XPACK=1 表示开启, 开源版本设置无效
USE_XPACK=0

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

## Koko Lion XRDP 组件配置
CORE_HOST=http://core:8080

## Lion 开启字体平滑
JUMPSERVER_ENABLE_FONT_SMOOTHING=true

## Nginx 文件上传大小
CLIENT_MAX_BODY_SIZE=4096m

## 终端使用宿主 HOSTNAME 标识
SERVER_HOSTNAME=${HOSTNAME}

## 额外的配置
CURRENT_VERSION=

完成后回到腾讯云的控制台,使用 远程连接 功能进入服务器命令行,执行下面命令

代码语言:javascript复制
sudo su
cd /www/wwwroot/jumpserver-installer-*
./jmsctl.sh install
image.pngimage.png

根据脚本的提示做出回答即可。大部分都可以直接回车使用默认设置,但是如果使用的是我的配置信息,出现下面提示时需要替换成你自己的服务器内网IP

代码语言:javascript复制
Please enter MySQL server IP
Please enter Redis server IP

出现下面提示时请输入上面宝塔自动生成的MySQL密码

代码语言:javascript复制
Please enter MySQL password (no default): 

安装脚本会自动完成部署。

image.pngimage.png
代码语言:javascript复制
./jmsctl.sh start
image.pngimage.png

然后在宝塔面板网站选项卡内创建一个网站,并设置反向代理。

代码语言:javascript复制
目标URL  http://127.0.0.1:8080
image.pngimage.png

点开配置文件,使用以下内容替换默认配置,否则web终端无法正常工作。

代码语言:javascript复制
    client_max_body_size 4096m;  # 上传文件大小限制

    location / {
            # 这里的 ip 是后端 JumpServer nginx 的 ip
            proxy_pass http://127.0.0.1:8080;
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_request_buffering off;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
    }
image.pngimage.png

出于安全考虑,你还可以设置堡垒机使用https访问

image.pngimage.png

这时就可以使用你宝塔绑定的域名在浏览器中访问jumpserver了:

代码语言:javascript复制
默认用户名:admin
默认密码:admin
  • jumpserver入门 这是官方推荐的视频教程:https://www.bilibili.com/video/BV19D4y1S7s4 官方文档:https://docs.jumpserver.org/zh/master/admin-guide/quick_start/ 下面部分内容官方文档有详细说明。本文只做简单介绍,jumpserver很多实用的功能,比如命令过滤(禁止使用危险命令)都没有演示到 先进入站点设置重新保存一下站点的URL image.pngimage.png 回到控制台 创建特权用户,也就是把你服务器的root用户密码添加到上面。 image.pngimage.png 创建资产,这里以连接本机为例。特权用户选择刚才新创建的root用户 image.pngimage.png 给自己办理授权 image.pngimage.png 使用jumpserver自带的终端或者xshell等终端连接,完美 image.pngimage.png PS:如需使用xshell等终端连接堡垒机操作服务器,请使用以下服务器信息,请连接到堡垒机服务器的2222端口,并在鉴权时输入你jumpserver的用户名和密码,而不是root,如图 image.pngimage.png 运维完成后,进入审计台享受jumpserver强大的审计和风险控制功能吧 image.pngimage.png

0 人点赞