Jumpserver 3.0 全新改版 更轻、更快、更便捷

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
日志服务 SLS,月写入数据量 50GB 1个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
简介:

           Jumpserver Wiki

 

 wKioL1aExz_ACEoQAALWN1yWbAg265.png

 

 


                作者:广宏伟 

            官网地址:http://www.jumpserver.org/

                Github地址https://github.com/ibuler/jumpserver/wiki

                    文档统计者:火拳Ace





一、概述

Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能

首页

wKioL1aExgSSNToMAABty9rrgTE478.png

 

WebTerminal:

wKiom1aExgCBlH8VAADEJlPx90Y856.png 

Web批量执行命令

wKiom1aExi2DtZa4AABxZZPF8pc851.png

录像回放

wKioL1aExmCQU-S7AAFMqz32i2w759.png


跳转和批量命令

wKiom1aExmeygHMzAAA3z0DWVEg761.png 

命令统计

wKioL1aExqmyb5PoAABxOeiLuaw789.png

 

 

 

 

 

特点

 

完全真开源,GPL授权

Python编写,容易再次开发

实现了跳板机基本功能,认证、授权、审计

集成了Ansible,批量命令等

支持WebTerminal

Bootstrap编写,界面美观

自动收集硬件信息

录像回放

命令搜索

实时监控

批量上传下载

二、快速安装

快速安装

 

建议使用 centos 6 mini环境快速安装,安装过一些软件后,其中可能会安装一些不兼容的python库,如pycrypto, django, 会影响快速安装

环境

 

CentOS 6.x x86_64 mini

iptables stop

selinux disable

开始

 

1. 安装依赖rpm

 

Yum源可以使用阿里的,本人测试阿里没有问题,在Centos 6.6上。

(详情:http://mirrors.aliyun.com/help/centos

 

yum -y install epel-release

 

yum -y install git python-pip mysql-devel gcc automake autoconf python-devel vim sshpass lrzsz

2. 下载jumpserver

 

cd /opt

 

git clone https://github.com/ibuler/jumpserver.git

3. 执行快速安装脚本

 

cd jumpserver/install && pip install -r requirements.txt

 

python install.py

根据提示输入相关信息,完成安装,完成安装后,请访问web,继续查看后续文档

 

如果启动失败,请返回上层目录,手动运行 ./service.sh restart启动

 

*默认账号密码 admin 5Lov@wife

 

注意

 

1. 后端服务器需要有python环境才能使用推送用户,批量命令等功能

2. 后端服务器如果开启了selinux,请安装 libselinux-python

 

三、名词解释

 

用户 用户是授权和登陆的主体,将来为每个员工建立一个账户,用来登录跳板机, 将资产授权给该用户,查看用户登陆记录命令历史等

 

用户组 多个用户可以组合成用户组,为了方便进行授权,可以将一个部门或几个用户 组建成用户组,在授权中使用组授权,该组中的用户拥有所有授权的主机权限

 

资产 资产通常是我们的服务器、网络设备等,将资产授权给用户,用户则会有权限登 录资产,执行命令等

 

管理账户 添加资产时需要添加一个管理账户,该账户是该资产上已有的有管理权限的用户, 如root,或者有 NOPASSWD: ALL sudo权限的用户,该管理账户用来向资产推送系统用户, 为系统用户添加sudo,获取资产的一些硬件信息

 

资产组 同用户组,是资产组成的集合,为了方便授权

 

机房 又称IDC,不解释

 

Sudo 这里的sudo其实是Linux中的sudo命令别名,一个sudo别名包含多个命令, 系统用户关联sudo就代表该系统用户有权限sudo执行这些命令

 

系统用户 系统用户是服务器上建立的一些真实存在的可以ssh登陆的用户,如 dev, sa, dba等,系统用户可使用jumpserver推送到服务器上,也可以利用自己公司 的工具进行推送,授权时将用户、资产、系统用户关联起来则表明用户有权限登陆该资产的 这个系统用户 如:用户 小明 以 dev 系统用户登录 172.16.1.1资产简单理解就是 将某个资产上的某个系统用户映射给这个用户登录

 

推送系统用户 添加完系统用户,需要推送,推送操作是使用ansible,把添加的系统 用户和系统用户管理的sudo,推送到资产上,具体体现是在资产上useradd该系统用户, ,设置它的key,然后设置它的sudo,为了让用户可以登录它

 

授权规则 授权规则是将 资产 系统用户 和 用户 关联起来,用来完成授权。 这样用户就可以以某个系统用户账号登陆资产。大家对这好像不是很理解,其实也是对系统用户, 用户这里没有搞清楚。我们可以把用户当做虚拟的用户,而系统用户是真实再服务器上存在的用户, 系统用户可以使用jumpserver推送,也可以自己手动建立,但是推送的过程一定要有,哪怕是模拟 推送(不选择秘钥和密码推送,如网络设备),因为添加授权规则会检查推送记录。为了简化理解, 我们暂时 以 用户 资产 系统用户 来理解,暂时不考虑组,添加这样的规则意思是 授权 用户 在这个资产上 以这个系统用户来登陆系统用户是一组具有通用性,具有sudo的用户, 不同的用户授权不同的 系统用户,比如 dba可能有用数据库的sudo权限

 

日志审计

 

在线 查看当前在线的用户(web在线),可以监控用户的命令执行,强制结束用户 登录。

实时监控 实时监控用户的操作

 

登录历史 查看以往用户的登录历史,可以查看用户登陆操作的命令,可以回放用户 执行命令的录像

 

命令记录 查看用户批量执行命令的历史,包含执行命令的主机,执行的命令,执行的结果

上传下载 查看用户上传下载文件的记录

默认设置 默认设置里可以设置 默认管理账号信息,包括账号密码密钥,默认信息为了方便添加资产 而设计,添加资产时如果选择使用默认管理账号,则会使用这里设置的信息,端口是资产的ssh端口,添加 资产时,默认会使用该端口

 

四、快速开始

1. 添加用户

 

用户管理 查看用户 添加用户 填写基本信息,完成用户添加

 

用户添加完成后,根据提示记住用户账号密码,换个浏览器登录下载key

ssh登录jumpserver测试

2. 添加资产

 

资产管理 查看资产 添加资产 填写基本信息,完成资产添加

 

3. 添加sudo

 

授权管理 - Sudo - 添加别名 输入别名名称和命令,完成sudo添加

 

4. 添加系统用户

 

授权管理 系统用户 添加 输入基本信息,完成系统用户添加

 

5. 推送系统用户

 

授权管理 推送 选择需要推送的资产或资产组完成推送

 

推送只支持服务器,使用密钥是指用户从跳板机跳转时使用key,反之使用密码,

授权时会检查推送记录,如果没有推送过则无法完成系统用户在该资产上的授权。

如果资产时网络设备,请不要选择密码和秘钥,模拟一下推送,目的是为了生成

推送记录。

6. 添加授权规则

 

授权管理 授权规则 添加规则 选择刚才添加的用户,资产,系统用户完成授权

 

7. 测试登录

 

用户下载key 登录跳板机,会自动运行connect.py,根据提示登录服务器

 

用户登陆web 查看授权的主机,点击后面的链接,测试是否可以登录服务器

 

8. 监控和结束会话

 

日志审计 在线 查看当前登录的用户登录情况,点击监控查看用户执行的命令, 点击阻断,结束用户的会话

 

9. 查看历史记录

 

日志审计 登录历史 查看登录历史,点击统计查看命令历史,点击回放查看录像

 

10. 执行命令

 

测试命令的执行,命令记录查看 批量执行命令的日志

 

11. 上传下载

 

测试文件的上传下载,日志审计 上传下载 查看上传下载记录

五、更新Log

更新Log

 

-- 登录脚本 --

 

1.1 精确记录执行命令

 

1.2 新增文件上传下载

 

1.3 更改为输入ID登陆主机

 

1.4 增加主机搜索

 

1.5 执行命令使用ansible执行

 

1.6 优化脚本

 

-- web管理 --

 

1.7 增加web terminal

 

1.8 增加web端批量命令执行

 

1.9 增加录像回放

 

1.10 资产增加硬件信息抓取

 

1.11 资产增加Excel导出和导入

 

1.12 资产增加批量更改

 

1.13 废弃了LDAP支持,改为在主机上授权系统用户(系统用户为一些通用用户,如dev,dba)

 

1.14 授权改为以授权规则为中心

 

1.15 添加系统用户推送

 

1.16 更改sudo管理

 

1.17 增加执行命令日志审计

 

1.18 增加文件上传命令审计

 

1.19 增加web端历史命令搜索

 

1.20 取消权限申请

 

1.21 取消部门管理员

 

1.22 取消资产别名

 

1.23 授权细颗粒化

 

六、FAQs

查看日志

 

tail -f logs/jumpserver.log

里面包含了详细的日志,包含了账号和密码,一切完成后,请将 jumpserver.conf中的log改为 warning

 

推送系统用户失败

 

在系统用户列表,点击系统用户名称,查看系统用户详情,把鼠标放到失败按钮上,会看到失败的原因,通常是因为 管理账号添加的不对(见管理账号名称解释),或服务器没有安装sudo(推送系统用户时,会推送sudo设置)

 

邮件发送失败

 

如果出现mail,smtp等错误通常都是由于发送邮件导致的,请尝试不同提供商的邮件设置

 

service启动失败

 

请进入jumpserver目录,手动运行

 

python manage.py runserver 0.0.0.0:80

 

python run_websocket.py

如果启动失败,可能是由于 80端口和3000端口已经被占用,或者数据库账号密码不对,请检查

 

监控,websocket, web命令执行失败

 

他们会像运行的websocket服务发起请求, 可能是websocket没有启动,可能是Jumpserver.conf中 websocket的地址不正确,务必保证设置的地址用户可以访问到(映射或防火墙等), service.sh先关掉服务器,手动运行(见 3), 查看websocketconsole输出

 

CryptoHAVE_DECL_MPZ_POWM_SEC等错误

 

很常见的错误,通常是由 pycrypto的版本问题,请卸载重新安装

 

pip uninstall pycrypto

 

rm -rf /usr/lib64/python2.6/site-packages/Crypto/

 

pip install pycrypto

用户,系统用户,管理用户对比

 

为了简单的描述这个问题,我们举例来说明, 用户 小明(公司员工), 系统用户 dev(后端服务器上存在的账号), 授权时将 系统用户dev在某台服务器授权给小明时,这是小明登陆后面的服务器,其实是登陆了服务器上的dev用户类似 [xiaoming@localhost ~]$ ssh dev@somehost 。管理账号是为了帮助大家推送系统用户用的,在jumpserver上新建系统用户并推送,其实相当于 ssh 管理账户@somehost -e 'useradd 系统账号', 当然,我们是用ansible完成这样的操作










本文转自 赵大鑫 51CTO博客,原文链接:http://blog.51cto.com/xinzong/1730377,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
域名解析 监控 安全
比宝塔面板更好用的部署软件工具面世了
本文对比了宝塔面板与新兴部署软件Websoft9,介绍了Websoft9在部署开源应用时的独特优势,如丰富的即用型模板、简便的安装配置流程、支持泛域名解析及高效的安全性措施,适合不同技术水平的用户使用。
104 4
比宝塔面板更好用的部署软件工具面世了
|
2月前
|
存储 数据可视化 定位技术
如何高效管理远程团队?2024年最佳免费工作协作工具排行榜
随着远程工作日益普遍,选择合适的协作工具成为提升团队效率的关键。本文介绍了7款优秀的免费远程协作工具,包括板栗看板、Wrike、Miro、ClickUp、Zoho Projects、MeisterTask和Quire,它们各自具备独特优势,如项目管理、任务跟踪、文件共享及实时协作等功能,适用于不同规模和需求的团队,帮助实现高效远程工作。
如何高效管理远程团队?2024年最佳免费工作协作工具排行榜
|
3月前
|
数据可视化 BI 定位技术
2024 最佳在线协作软件推荐:提升团队效率的 4 大工具
在数字化时代,团队协作方式发生了巨大变化。在线协作成为提高工作效率、实现项目成功的关键。本文介绍了在线协作的重要性,包括打破地域限制、提高工作效率、优化沟通效果和增强团队凝聚力。推荐了四款最佳在线协作软件:板栗看板、Trello、Asana 和 Basecamp,每款软件都有各自的功能特点和优缺点,适合不同团队的需求。
|
2月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
77 0
|
3月前
|
敏捷开发 监控 数据可视化
如何选择最适合的团队任务管理工具?适用企业的高效协作软件推荐
在数字化时代,团队任务管理对各行各业至关重要。从初创公司到大型企业,如何高效管理任务、提升工作效率是管理者面临的重要挑战。市场上的团队任务管理工具应运而生,涵盖项目规划、进度跟踪、团队沟通和任务分配等多个方面,助力企业高效协作。本文将详细介绍几款适用于不同行业的团队任务管理软件,包括板栗看板、飞书、Jira 和 Teambition,帮助你根据团队需求选择最适合的协作工具。通过可视化看板、跨团队协作、信息透明化和高效资源分配等功能,这些工具能够显著提升团队的工作效率和协作水平。
40 0
如何选择最适合的团队任务管理工具?适用企业的高效协作软件推荐
|
3月前
|
监控 安全 搜索推荐
SCUM 管理员工具:提升效率与优化体验的利器
在数字化时代,SCUM 游戏的管理工具为游戏运营和玩家体验带来了新变革。本文介绍了该工具的概述、意义、应用场景及未来趋势,展望了智能化、多元化、个性化和开放化的发展方向。
|
5月前
|
搜索推荐 Java Android开发
打造个性化安卓应用:从设计到部署的全攻略
【8月更文挑战第31天】在这篇文章中,我们将一起探索如何从零开始构建一个安卓应用,并为其添加个人特色。我们将通过实际的代码示例,学习如何使用Android Studio进行开发,以及如何将应用发布到Google Play商店。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧,帮助你打造独一无二的安卓应用。
|
6月前
|
存储 监控 安全
公司电脑监控软件深度对比:软件功能、易用性和成本效益分析
随着企业对信息安全和员工效率管理的日益重视,公司电脑监控软件逐渐成为企业管理工具箱中的必备品。本文将深入探讨三款行业领先的监控软件——WorkWin、OsMonitor和ManageEngine Desktop Central,分析它们在功能、易用性和成本效益等方面的优劣,为企业管理提供参考。
142 1
|
6月前
|
存储 Windows
5款软件让电脑更方便,更快,更好看
你有没有想过,有些软件能让你的电脑用起来更方便,更快,更好看?
50 0
|
8月前
|
缓存 移动开发 Android开发
构建高效Android应用:从系统优化到用户体验
【5月更文挑战第2天】 在移动开发的浪潮中,创造一个流畅且响应迅速的Android应用是每个开发者追求的目标。本文将深入探讨如何通过系统级别的优化和细致的设计考量,提升应用性能并增强用户满意度。我们将从减少应用启动时间、内存管理的最佳实践、电池寿命的优化策略以及用户界面(UI)设计的心理学影响等方面,展开全面而具体的技术讨论。

热门文章

最新文章