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

December 09, 2023
测试
测试
测试
测试
7 分钟阅读

前言

JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v3.0 开源协议,是符合 4A 规范的运维安全审计系统。 JumpServer 使用 Python / Django 为主进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。

环境准备 jumpserver官方文档中提供了多种部署方法。但这些都需要完全在命令行中操作,且要求纯净环境安装,导致无法再使用服务器搭建其他网站应用,不便于新手进行后期维护。下面将采用腾讯云轻量应用服务器,安装可视化的 宝塔Linux面板 进行部署演示,尽可能减少部署维护难度,助力保证私有云财产安全运维。如果你还没有服务器,可以前往腾讯云热门云产品首单特惠秒杀页面购买,低至45元/年。记得选购 轻量应用服务器 产品: https://cloud.tencent.com/act/ 创建好自己的轻量应用服务器后,进入控制台重装系统,选择 宝塔Linux面板 镜像安装。

成功重装系统后,点击 应用管理 选项卡,根据提示获取宝塔面板的登录信息登录进宝塔面板,绑定宝塔账号

然后进入宝塔面板的软件商店,安装下列依赖软件

Nginx 1.20
MySQL 5.7
Docker管理器
Redis 6.2

回到腾讯云轻量应用服务器后台,找到 网络信息——IP地址中 的服务器内网IP

打开redis软件的设置页面,将 性能调整 中的bind条目改为刚刚查看到的服务器内网IP

打开宝塔面板的 数据库 选项卡,创建数据库。访问权限选择 指定IP ,并在后面的输入框中粘贴服务器内网IP

安装jumpserver 进入文件管理,在 /www/wwwroot 目录下使用远程下载功能下载jumpserver代码包,下载地址如下。完成下载后点击解压

https://github.com/jumpserver/installer/releases/download/v2.20.2/jumpserver-installer-v2.20.2.tar.gz

打开 /www/wwwroot/jumpserver-installer-v2.20.2/config-example.txt 文件,参考 官方文档 根据自己的需要进行修改;也可以使用下面我的配置信息

# 以下设置如果为空系统会自动生成随机字符串填入
## 迁移请修改 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=

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

sudo su
cd /www/wwwroot/jumpserver-installer-*
./jmsctl.sh install

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

Please enter MySQL server IP
Please enter Redis server IP

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

Please enter MySQL password (no default): 

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

提示安装成功后,执行下面命令启动

./jmsctl.sh start

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

目标URL  http://127.0.0.1:8080

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

    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;
    }

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

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

默认用户名:admin
默认密码:admin
  • jumpserver入门 这是官方推荐的视频教程:https://www.bilibili.com/video/BV19D4y1S7s4 官方文档:https://docs.jumpserver.org/zh/master/admin-guide/quick_start/ 下面部分内容官方文档有详细说明。本文只做简单介绍,jumpserver很多实用的功能,比如命令过滤(禁止使用危险命令)都没有演示到 先进入站点设置重新保存一下站点的URL

回到控制台 创建特权用户,也就是把你服务器的root用户密码添加到上面。

创建资产,这里以连接本机为例。特权用户选择刚才新创建的root用户

给自己办理授权

使用jumpserver自带的终端或者xshell等终端连接,完美

PS:如需使用xshell等终端连接堡垒机操作服务器,请使用以下服务器信息,请连接到堡垒机服务器的2222端口,并在鉴权时输入你jumpserver的用户名和密码,而不是root,如图

运维完成后,进入审计台享受jumpserver强大的审计和风险控制功能吧

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多