堡垒机模块
关注“希里安”,get更多有用干货
前两天在项目里加了个webshell,还没开发完成,有读者朋友说费那劲干嘛,直接引入类似jumpserver开源堡垒机就完事了。说的不无道理,当然我觉得这也看个人喜好,因为我是出于学习目的,自己做个简单的应用了解下其中原理,看看怎么用xtermjs、怎么用websocket等等。那么今天我们就来部署下jumpserver,我这导航栏里也加一个堡垒机,到时候可以自己转向各种堡垒机地址。
Jumpserver快速部署:
1、官网地址:
https://www.jumpserver.org/
项目地址:
https://github.com/jumpserver/jumpserver
2、官网文档:
https://docs.jumpserver.org/zh/v3/
3、安装
安装很简单,人家已经写好自动化部署脚本,我们只需要运行以下命令即可:
Curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh| bash
环境要求:
https://docs.jumpserver.org/zh/v3/installation/setup_linux_standalone/requirements/
示例配置:
Centos7.9 2C4G 20GSSD core:3.10
4、访问web页面
http://localhost
要求重置密码,修改即可:
具体的细节大家可以自己搭建结合官方文档探索即可。
5、webshell连接
功能繁多,咱们自己开发的就是闹着玩,人家这是专业的。
基础的介绍就这些,至于详细的部分,感兴趣的朋友可以自己动手研究。
我们再来说说,咱开发的平台和jumpserver提供的功能有什么区别:
1、jumpserver工作台的三个部分:资产管理、webshell、批量执行的功能就是我在传统模块要开发的东西,我可以照这个去学着开发,看看这中间有没有什么可以优化的。
2、jumpserver里面这个审计台功能也很强大,只要是有用户连接上就处于监控状态,你想rm -rf /*不留痕迹吗?看看这个功能,实时监控终端画面:
其他的命令记录、操作日记都有,所以审计功能是比较完善的,足够应付通用场景。
再来看看架构:
应用架构:
Core 组件是 JumpServer的核心组件,其他组件依赖此组件启动。Koko 是服务于类 Unix 资产平台的组件,通过 SSH、Telnet 协议提供字符型连接。Lion 是服务于 Windows 资产平台的组件,用于 Web 端访问 Windows 资产。Omnidb 是服务于数据库的组件,用于可视化界面纳管数据库。Razor 是服务于 RDP 协议组件,该组件主要功能是通过 JumpServer Client 方式访问 Windows 资产。Magnus 是服务于数据库的组件,用于通过客户端代理访问数据库。Celery 是处理异步任务的组件,用于执行 JumpServer 相关的自动化任务。
逻辑架构:
如果源码安装,安装顺序:
1.Core 环境部署2.Lina 环境部署3.Luna 环境部署4.KoKo 环境部署5.Lion 环境部署6.Magnus 环境部署7.Nginx 环境部署8.JumpServer 环境整合
开发接口:
http://<url>/api/docs/
通过以上介绍,应该对于jumpserver有一个大致了解了。我在这里也觉得,开发之前需要想一想自己开发产品的价值是什么?如果只是学习倒是没什么,因为只有自己动手做一遍,才能更加熟悉和理解其中的逻辑和流程。但如果想开发一款优秀的产品就不能是这样开发,需要保证专业和开发效率。我觉得我这个项目就是用来学习,后期还需要进行多角度的思考和需求分析,开发能给别人提供服务,有价值的产品,那么这样的开源项目才有可能成功。
好了,今天的分享就到这了,祝学习顺利!