【Linux 的开胃小菜】JumpServer来袭,开源堡垒机安装及使用教程
介绍JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。特色优势开源:零门槛,线上快速获取和安装;分布式:轻松支持大规模并发访问;无插件:仅需浏览器,极致的 Web Terminal 使用体验;多云支持:一套系统,同时管理不同云上
介绍
JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。
JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。
特色优势
- 开源:零门槛,线上快速获取和安装;
- 分布式:轻松支持大规模并发访问;
- 无插件:仅需浏览器,极致的 Web Terminal 使用体验;
- 多云支持:一套系统,同时管理不同云上面的资产;
- 云端存储:审计录像云端存储,永不丢失;
- 多租户:一套系统,多个子公司和部门同时使用;
- 多应用支持:数据库,Windows远程应用,Kubernetes。
安装要求:
这里推荐 一键安装,如需其他安装方式 需求参考官网
推荐使用外置 数据库 和 Redis,方便日后扩展升级。
DB | Version | Cache | Version |
---|---|---|---|
MySQL | >= 5.7 | Redis | >= 5.0 |
MariaDB | >= 10.2 |
一键部署
# 默认会安装到 /opt/jumpserver-installer-v2.14.2 目录
curl -ssl
https://github.com/jumpserver/jumpserver/releases/download/v2.14.2/quick_start.sh | bashcd /opt/jumpserver-installer-v2.14.2
# 安装完成后配置文件
/opt/jumpserver/config/config.txt
# 启动
cd /opt/jumpserver-installer-v2.14.2
./jmsctl.sh start
# 停止
cd /opt/jumpserver-installer-v2.14.2
./jmsctl.sh down
# 卸载
cd /opt/jumpserver-installer-v2.14.2
./jmsctl.sh uninstall
# 帮助
cd /opt/jumpserver-installer-v2.14.2
./jmsctl.sh -h
快速入门
以下操作均在 Web 页面完成,请使用 admin 用户登陆,默认密码 admin
一、系统设置
1.1 基本设置
当前站点URL | https://demo.jumpserver.org | 不设置的话,邮件收到的地址为http://localhost |
---|---|---|
用户向导URL | 用户首次登陆可以看到此超链接,可以不设置 | |
忘记密码URL | 使用了LDAP,OPENID等外部认证系统,可以自定义 |
1.2 邮件设置
必须设置才能使用与邮件相关的功能
不可以同时勾选 使用SSL
和 使用TLS
名称 | 备注 |
---|---|
SMTP主机 | 服务商提供的 smtp 服务器 |
SMTP端口 | 通常是 25 |
SMTP账号 | 通常是 user@domain.com |
SMTP密码 | 需要重新输入密码 |
使用SSL | 如果端口使用465 , |
使用TLS | 如果端口使用587 , |
发件人 | 测试连接 必须要输入 |
主题前缀 | 收到的邮件是[JMS] 开头 |
测试收件人 | 测试连接必填 |
二、资产管理
准备两个测试资产和一个数据库来验证功能
IP | Host name | Port |
---|---|---|
172.16.80.11 | test_ssh01 | 22 |
172.16.80.21 | test_rdp01 | 3389 |
172.16.80.31 | test_mysql01 | 3306 |
Windows 资产先进行 Windows SSH 设置
MySQL 应用需要授权 Core 和 KoKo 的远程访问的权限 MySQL 应用要求
2.1 编辑资产树
根节点 Default 不能重名,右击节点可以添加、删除和重命名节点,以及进行资产相关的操作.
说明:
点击页面左侧的 资产管理
- 资产列表
先在根节点Default
右键新建SSH Server
和 RDP Server
两个节点
Defaule
├─ SSH Server
└─ RDP Server
2.2 创建特权用户
点击页面左侧的 资产管理
- 系统用户
- 创建特权用户
创建两个特权用户,特权用户的内容就是上面表单的 Admin User
和 Password
名称不能重名,密码或者密钥二选一即可,一些资产不允许通过 密码认证 可以改用 私钥 认证
表单 | 特权用户示例 |
---|---|
名称 | root |
用户名 | root |
密码 | Test 2020.L |
2.3 创建资产
点击页面左侧的 资产管理
- 资产列表
- 创建资产
把两个资产导入
主机名不能重名
表单 | SSH 资产示例 | RDP 资产示例 |
---|---|---|
主机名 | test_ssh01 | test_rdp01 |
IP(域名) | 172.16.80.11 | 172.16.80.21 |
系统平台 | Linux | Windows |
公网IP | ||
网域 | ||
协议组 | ssh 22 | rdp 3389 |
特权用户 | root | administrator |
节点 | Default | Default / |
创建 Windows 资产,注意协议组我们需要选择 ssh
和 rdp
,否则无法获取 Windows 资产的状态及硬件信息。
2.3.1 创建数据库应用
击页面左侧的 应用管理
- 数据库应用
- 创建数据库应用
创建 mysql 数据库
表单 | MySQL 资产示例 |
---|---|
名称 | test_mysql01 |
类型 | MySQL |
主机 | 172.16.80.31 |
端口 | 3306 |
数据库 | |
备注 | MySQL 资产 |
数据库 选项可以留空,如果是某些特定用户,只允许访问指定的数据库,这里指定数据库名称即可。
2.4 创建系统用户
IP | System User | Password |
---|---|---|
172.16.80.11 | testssh01 | random pass |
172.16.80.21 | testrdp01 | random pass |
172.16.80.23 | root | Test2020.M |
2.4.1 系统用户提示
点击页面左侧的 资产管理
- 系统用户
- 创建普通用户
创建对应协议系统用户
表单 | SSH 系统用户 |
---|---|
名称 | test_ssh01_测试系统用户 |
协议 | ssh |
用户名 | testssh01 |
动态用户名 | |
登录模式 | 自动登陆 |
认证方式 | 托管密码 |
自动生成 | √ |
自动推送 | √ |
Sudo | ALL |
Shell | /bin/bash |
家目录 | |
用户附属组 | |
命令过滤器 | |
SFTP根路径 | / |
表单 | RDP 系统用户 |
---|---|
名称 | test_rdp01_测试系统用户 |
协议 | rdp |
用户名 | testssh01 |
动态用户名 | |
认证方式 | 托管密码 |
自动生成 | √ |
自动推送 | √ |
AD域名 | |
自动推送 | √ |
用户附属组 | Users |
表单 | MySQL 系统用户 |
---|---|
名称 | test_mysql01_测试系统用户 |
认证方式 | 托管密码 |
用户名 | root |
协议 | mysql |
密码 | Test2020.M |
三、创建授权规则
3.1 为用户分配资产
IP | System User | User |
---|---|---|
172.16.80.11 | testssh01 | admin |
172.16.80.21 | testrdp01 | admin |
172.16.80.31 | root | admin |
点击页面左侧的 授权管理
- 资产授权
- 创建授权规则
创建两个授权
表单 | SSH 资产授权 | RDP 资产授权 |
---|---|---|
名称 | 测试授权 | 测试授权 |
用户 | Administrator | Administrator |
用户组 | ||
资产 | test_ssh01 | test_rdp01 |
节点 | ||
系统用户 | 测试系统用户 | 测试系统用户 |
权限 | √ 全部 | √ 全部 |
资产授权提示
3.1.1 为用户分配数据库应用
点击页面左侧的 授权管理
- 数据库应用
- 创建授权规则
创建数据库授权
表单 | MySQL 资产授权 |
---|---|
名称 | test_mysql01_测试授权 |
用户 | Administrator(admin) |
用户组 | |
数据库应用 | test_mysql01 |
系统用户 | test_mysql01_测试系统用户(root) |
四、用户登录
登录 JumpServer
点击页面左侧的 会话管理
- Web终端
用户只能看到自己被管理员授权了的 资产
,如果登录后无资产,请联系管理员进行确认
4.1 连接资产
在我的资产点击资产右边的 连接
快速连接资产 也可以点击左侧栏的 Web终端
点击 资产 名字,就连上资产
了 如果显示连接 超时
,请参考 FAQ
文档进行处理
4.2 断开资产
点击页面顶部的 Server
按钮会弹出选个选项,第一个断开所选的连接,第二个断开所有连接 也可以直接点资产小窗口的 X,SSH
会话也可以输入 exit
来退出 直接关闭页面也可以,但是不推荐
4.3 文件管理
点击 文件管理
先在左边选择 资产
,目前只支持自动登录的 SSH
协议 资产
也可以使用 sftp
方式进行 文件管理
五、安全建议
- Jumpserver 对外需要开放
80
443
和2222
端口 - JumpServer 所在服务器操作系统应该升级到最新
- JumpServer 依赖的软件最好升级到最新版本
- 服务器、数据库、redis 等组件请勿使用弱口令密码
- 不推荐关闭 firewalld 和 selinux只开放必要的端口。如果必须开放到外网使用的话请通过 vpn 或者 sslvpn 访问 JumpServer
- 最好部署 web 应用防火墙做安全过滤请部署 ssl 证书通过 https 协议来访问 JumpServer
- JumpServer 不要使用弱口令密码,应立即改掉默认的 admin 密码
- 推荐开启 MFA 功能,避免因密码泄露导致的安全问题关注官方更新,及时更新修复漏洞的版本
更多操作使用方法请参考官网
References https://docs.jumpserver.org/zh/master/
You can’t change the world, but you can change yourself. 你无法改变世界,但你可以改变自己。
本篇完_
更多推荐
所有评论(0)