堡垒机模块

2023-10-30 19:07:16 浏览数 (3)

前两天在项目里加了个webshell,还没开发完成,有读者朋友说费那劲干嘛,直接引入类似jumpserver开源堡垒机就完事了。说的不无道理,当然我觉得这也看个人喜好,因为我是出于学习目的,自己做个简单的应用了解下其中原理,看看怎么用xtermjs、怎么用websocket等等。那么今天我们就来部署下jumpserver,我这导航栏里也加一个堡垒机,到时候可以自己转向各种堡垒机地址。

Jumpserver快速部署:

1、官网地址:

代码语言:javascript复制
https://www.jumpserver.org/

项目地址:

代码语言:javascript复制
https://github.com/jumpserver/jumpserver

2、官网文档:

代码语言:javascript复制
https://docs.jumpserver.org/zh/v3/

3、安装

安装很简单,人家已经写好自动化部署脚本,我们只需要运行以下命令即可:

代码语言:javascript复制
Curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh
| bash

环境要求:

代码语言:javascript复制
https://docs.jumpserver.org/zh/v3/installation/setup_linux_standalone/requirements/

示例配置:

代码语言:javascript复制
Centos7.9 2C4G 20GSSD core:3.10

4、访问web页面

代码语言:javascript复制
http://localhost

要求重置密码,修改即可:

具体的细节大家可以自己搭建结合官方文档探索即可。

5、webshell连接

功能繁多,咱们自己开发的就是闹着玩,人家这是专业的。

基础的介绍就这些,至于详细的部分,感兴趣的朋友可以自己动手研究。

我们再来说说,咱开发的平台和jumpserver提供的功能有什么区别:

1、jumpserver工作台的三个部分:资产管理、webshell、批量执行的功能就是我在传统模块要开发的东西,我可以照这个去学着开发,看看这中间有没有什么可以优化的。

2、jumpserver里面这个审计台功能也很强大,只要是有用户连接上就处于监控状态,你想rm -rf /*不留痕迹吗?看看这个功能,实时监控终端画面:

其他的命令记录、操作日记都有,所以审计功能是比较完善的,足够应付通用场景。

再来看看架构:

应用架构:

代码语言:javascript复制
Core 组件是 JumpServer的核心组件,其他组件依赖此组件启动。
Koko 是服务于类 Unix 资产平台的组件,通过 SSH、Telnet 协议提供字符型连接。
Lion 是服务于 Windows 资产平台的组件,用于 Web 端访问 Windows 资产。
Omnidb 是服务于数据库的组件,用于可视化界面纳管数据库。
Razor 是服务于 RDP 协议组件,该组件主要功能是通过 JumpServer Client 方式访问 Windows 资产。
Magnus 是服务于数据库的组件,用于通过客户端代理访问数据库。
Celery 是处理异步任务的组件,用于执行 JumpServer 相关的自动化任务。

逻辑架构:

如果源码安装,安装顺序:

代码语言:javascript复制
1.Core 环境部署
2.Lina 环境部署
3.Luna 环境部署
4.KoKo 环境部署
5.Lion 环境部署
6.Magnus 环境部署
7.Nginx 环境部署
8.JumpServer 环境整合

开发接口:

代码语言:javascript复制
http://<url>/api/docs/

通过以上介绍,应该对于jumpserver有一个大致了解了。我在这里也觉得,开发之前需要想一想自己开发产品的价值是什么?如果只是学习倒是没什么,因为只有自己动手做一遍,才能更加熟悉和理解其中的逻辑和流程。但如果想开发一款优秀的产品就不能是这样开发,需要保证专业和开发效率。我觉得我这个项目就是用来学习,后期还需要进行多角度的思考和需求分析,开发能给别人提供服务,有价值的产品,那么这样的开源项目才有可能成功。

好了,今天的分享就到这了,祝学习顺利!

1 人点赞