JumpServer 堡垒机单机部署 - 企业运维安全审计解决方案

快速部署

需要的工具

介绍

JumpServer 是一款由开源中国(OSCHINA)旗下团队使用 Python 开发的开源堡垒机系统,遵循 Apache 2.0 开源协议。作为企业级的运维安全审计解决方案,它主要用于解决复杂环境下的服务器、网络设备、云资源等资产的集中管理、权限控制、操作审计等问题,帮助企业实现合规性管理并降低运维风险。

JumpServer 作用

  1. 统一资产管理

    • 支持管理多种类型资产,包括 Linux/Windows 服务器、网络设备(如交换机、路由器)、数据库、云主机(如 AWS、阿里云、腾讯云等)等。
    • 资产可按部门、环境(生产/测试)、标签等维度分组管理,方便权限分配和审计。
  2. 细粒度权限控制

    • 基于 RBAC(角色访问控制)模型,可灵活创建用户、角色、资产组的关联关系。
    • 支持动态授权,例如按时间段、协议(SSH/RDP/Telnet/MySQL 等)、IP 来源限制访问权限。
  3. 多协议支持与会话管理

    • 支持 SSH、RDP、Telnet、VNC、MySQL、Redis 等主流协议的远程连接。
    • 提供会话录制与实时监控,管理员可实时查看用户操作,或通过录像回放追溯历史操作,满足审计需求。
  4. 审计与日志管理

    • 自动记录所有用户操作日志,包括登录日志、命令执行记录、文件传输记录等。
    • 支持日志检索、统计分析,可导出日志用于合规性检查(如等保、分保要求)。
  5. 双因子认证(2FA)

    • 支持 Google Authenticator、RSA 令牌、短信验证等二次认证方式,增强登录安全性。
  6. 插件扩展与 API 接口

    • 提供丰富的插件机制(如 LDAP/AD 集成、Sentry 监控、K8s 管理等),支持与企业现有系统对接。
    • 开放 RESTful API,方便与 ITSM、CMDB 等平台集成,实现自动化运维流程。

准备

  • JumpServer 安装包

安装

将 JumpServer 安装文件发送至 Ubuntu 虚拟机/opt目录下

修改参数配置

1
2
cd jumpserver-installer-v2.28.8 &&
cat config-example.txt

提示:如果不了解配置项用途,可跳过修改此文件,系统会自动填入默认值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# JumpServer configuration file example.


################################## 镜像配置 ###################################
#
# 国内连接 docker.io 会超时或下载速度较慢, 开启此选项使用华为云镜像加速
# 取代旧版本 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

################################## 访问配置 ###################################
# 对外提供服务端口, 如果与现有服务冲突请自行修改
# 如果不想对外提供访问可以使用 127.0.0.1:<port>, eg: 127.0.0.1:33060
#
HTTP_PORT=80
SSH_PORT=2222
MAGNUS_PORTS=30000-30100

################################# 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

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

# 当前运行的 JumpServer 版本号, 安装和升级完成后自动生成
#
CURRENT_VERSION=
root@jumpserver:/opt/jumpserver-installer-v2.28.8#

安装命令

为避免拉取镜像失败,建议提前安装 Docker 并配置国内源:

  1. 安装 Docker
    1
    apt install docker.io

  1. 更换 Docker 源

    1
    bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
  2. 启动快速安装

    1
    ./jmsctl.sh install


安装完成后,默认账户密码为:admin/admin

常用命令

1
2
3
4
5
6
7
8
9
10
11
# 启动服务
./jmsctl.sh start

# 停止服务
./jmsctl.sh down

# 卸载系统
./jmsctl.sh uninstall

# 查看帮助
./jmsctl.sh -h

邮件配置

填入QQ 邮箱密码等配置即可