一个计算机技术爱好者与学习者

0%

JumpServer入门篇

1. JumpServer简介

本文部分内容来自ChatGPT。

JumpServer是一款开源的堡垒机系统,是符合 4A 规范的专业运维安全审计系统,提供了Web页面管理、资产管理、权限管理、会话审计等功能。通过JumpServer,用户可以轻松地实现对多个设备的远程访问和管理,同时还能进行权限控制,从而提高了运维效率和安全性。

主要功能:

  • 资产管理:对各类设备进行统一管理,支持SSH、RDP、VNC等多种协议。
  • 权限管理:用户、用户组、资产、系统用户等多维度权限控制。
  • 审计功能:实时会话监控,录像回放,命令审计等。
  • Web访问:无需安装客户端,可直接通过浏览器访问设备。

相关文档:

2. 安装JumpServer

2.1. 源码安装

1
curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.28.10/quick_start.sh | bash

2.2. Docker安装

在安装JumpServer之前,请确保已安装以下组件:

Docker:版本17.12.0以上
Docker Compose:版本1.18.0以上

1、下载JumpServer的Docker Compose配置

1
2
3
git clone https://github.com/jumpserver/Dockerfile.git
cd Dockerfile
git checkout v2.4.4

2、修改配置项

1
2
cp config_example.conf .env
vim .env

修改下面的参数:

1
2
3
4
SECRET_KEY=my-secret-key
BOOTSTRAP_TOKEN=my-bootstrap-token
DB_PASSWORD=my-db-password
REDIS_PASSWORD=my-redis-password

3、启动JumpServer

1
docker-compose up -d

4、访问JumpServer
在浏览器中输入服务器IP地址和8080端口,使用默认的管理员账号admin和密码admin登录。

3. 节点和权限概念

3.1. 节点管理

节点(Node)是JumpServer中的一个逻辑概念,用于对资产进行分组和管理。建议根据组织结构或业务需求来创建和维护节点。

在“资产管理”-“节点列表”中点击“新建节点”按钮。
输入节点名称,如“开发环境”、“生产环境”、“数据库服务器”等。
将相应的资产分配到对应的节点中。

3.2. 权限管理

权限管理是JumpServer的核心功能之一,通过创建不同的用户、用户组、系统用户,可以实现细粒度的权限控制。

  • 用户管理:根据实际需要创建用户,如“运维人员”、“开发人员”等,建议接入LDAP。
  • 用户组管理:将具有相似权限需求的用户归纳到同一个用户组中,相当于角色,如“运维组”、“开发组”等。
  • 系统用户管理:创建系统用户,如“root”、“ubuntu”等,并配置对应的认证信息。
  • 资产授权:为用户或用户组分配访问资产的权限。

以下是一个权限管理的示例:

  • 在“用户管理”中创建用户“dev01”,并设置其密码。
  • 在“用户组管理”中创建用户组“开发组”,并将“dev01”添加到该组中。
  • 在“系统用户管理”中创建系统用户“ubuntu”,并配置其认证信息。
  • 在“资产管理”-“授权列表”中点击“新建授权”,选择“开发组”作为授权对象,选择相应的资产节点和系统用户,“ubuntu”作为授权系统用户,并设置合适的有效期。

通过以上设置,用户“dev01”将获得访问和管理授权节点中资产的权限。同时,JumpServer会根据授权的有效期自动生效和失效,确保权限在特定时间范围内有效。

注意:不要开启用户名与用户相同的系统用户,否则主机上会创建几十甚至几百个用户,不方便维护。

4. 节点和权限最佳实践

4.1. 节点管理

资源节点分成三类:按地域划分、按业务划分和按组件划分。每个机器属于一个地域节点,同时属于多个业务节点或多个组件节点。

  1. 按地域划分,例如可以分成腾讯云广州3区、阿里云杭州2区、自建机房北京2区等,每个地域下面可以根据用途再细分成开发、测试和生产。当有新机器加入时,直接添加到这些节点下面。
  2. 按业务划分,例如可以分成搜索、度秘、语音、地图、商业、文心一言等,每个业务下面可以根据用途再细分成开发、测试和生产。当业务需要机器时,就点击资产更新,把分配的机器加入到对应业务节点下面。
  3. 按组件划分,例如可以分成K8S、Spark、Hadoop、GitLab等,每个组件下面可以根据用途再细分成开发、测试和生产。当组件需要机器时,就点击资产更新,把分配的机器加入到对应组件节点下面。

4.2. 权限管理

权限管理说明:

  • 授权时以业务和用户组为基本单位
  • 一个机器可以属于多个业务
  • 一个业务包含多个用户组(角色)
  • 授权给用户组,而不是给用户
  • 每个用户组具有不同的权限
  • 一个用户可以属于多个用户组

例如,业务A包含host1和host2两台机器,运维用户组具有系统用户root、dev、qa的权限,开发用户组具有系统用户dev的权限,测试用户组具有系统用户qa的权限。
张三是业务A的开发同学,那么就把他加入到业务A的开发用户组。张三同时还是业务B的运维同学,那么就把他加入到业务B的运维用户组。

5. JumpServer问题记录

参考文档《JumpServer问题记录》

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-jumpserver-start/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~