这里整理一些网上找到的IT项目

JumpServer 架构浅解

PHPer 2022-05-25 427 0 0

Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。完全开源,GPL授权

设计思路#

  • 设计一个跳转网关,所有登录操作都从网关通过 网关具有模拟终端的功能,透明的中转ssh命令,以支持Tab,Ctrl+A,Ctrl-E等快捷键,网关既可以记录操作日志,又可以审计操作命令。
  • 设计一个认证模块 为了实现认证功能,需要有个认证模块,认证信息存到数据库,用户使用跳板机首先需要认证。
  • 设计一个授权框架 授权是跳板机不可缺少的部分,授权就是用户和资产的关系,将关系保存的数据库,用户登录主机需要先查授权。
  • 设计审计模块 审计是为了追踪,我们支持了在线监控,命令统计,录像回放功能,供管理员审查。
  • 用户和主机模块 跳板机脱离不了用户和主机,所以这两个部分是基本的模块,另外我们将主机模块扩展,实现基本CMDB功能。
  • Web Terminal 现在都流行Web操作一切,于是我们又实现了Web Terminal,供用户直接在线链接服务器,这里实现是用了Tornado来完成的,Tornado实现WebSocket特别简单。

架构图#

43861631bb_normal.jpg

组件说明#

  • Jumpserver 为管理后台, 管理员可以通过 Web 页面进行资产管理、用户管理、资产授权等操作, 用户可以通过 Web 页面进行资产登录, 文件管理等操作是核心组件(Core), 使用 Django Class Based View 风格开发,支持 Restful API
  • Luna 为 Web Terminal Server 前端页面, 用户使用 Web Terminal 方式登录所需要的组件 ( WebTerminalView )
    该组件由团队自己通过Angular 实现,Jumpserver 只提供 API,不再负责后台渲染html等。
  • Koko(CoCo) 为 SSH Server 和 Web Terminal Server 。用户可以使用自己的账户通过 SSH 或者 Web Terminal 访问 SSH 协议和 Telnet 协议资产。KoKo(最新版)是go版本的coco,新的Jumpserver ssh/ws server, 重构了 coco 的 SSH/SFTP 服务和 Web Terminal 服务 ( WebSFTPView )
    SSH/SFTP/web terminal/web文件管理 ( WebSFTPView ) 实现了 SSH Server 和 Web Terminal Server 的组件,提供 SSH 和 WebSocket 接口, 使用 Paramiko 和 Flask 开发
  • Guacamole 为 RDP 协议和 VNC 协议资产组件, 用户可以通过 Web Terminal 来连接 RDP 协议和 VNC 协议资产 (暂时只能通过 Web Terminal 来访问)
    Guacamole Apache 跳板机项目,Jumpserver 使用其组件实现 RDP 功能,Jumpserver 并没有修改其代码而是添加了额外的插件,支持 Jumpserver 调用。
  • Jumpserver-Python-SDK
    Jumpserver Python SDK,(KoKo)Coco 目前使用该 SDK 与 Jumpserver API 交互。
    为 Jumpserver ssh terminal 和 web terminal封装了一个sdk, 完成和Jumpserver 交互的一些功能
    • Service 通用RestApi 接口类
    • AppService 增加了app注册等
    • UserService 用户使用该类
  • jms-storage-sdk
    主要作为录像存储的工具类,支持本地或其他cloud存储(e.g. oss)

端口说明#

  • Jumpserver 默认端口为 8080/tcp 配置文件 jumpserver/config.yml
  • KoKo(Coco) 默认 SSH 端口为 2222/tcp, 默认 Web Terminal 端口为 5000/tcp 配置文件在 KoKo(CoCo)/config.yml
  • Guacamole 默认端口为 8081/tcp, 配置文件 /config/tomcat9/conf/server.xml
  • Nginx 默认端口为 80/tcp
  • Redis 默认端口为 6379/tcp
  • Mysql 默认端口为 3306/tcp
112603368c_normal.jpg


技术实现#
使用技术#

服务启动#
./jms start 命令将会下面服务...

立即注册

更新于:2022-05-25 21:50:55
    您需要登录后才可以评论。 立即注册
    相关内容

    Opencart 免费主题下载汇总

    Opencart 可用的免费主题

    python代码整理(2022年4月-2024年3月)

    Python和PHP获取百度url跳转的真实地址代码(2022年4月实测有效)

    Pip/python-如何查看已安装的包有哪些版本?如何查看某个包存在哪些版本?pip...

    用undetected_chromedriver代替selenium解决浏览器打不开网页

    sublime text下 Python 问题:TabError: inconsistent use of tabs and s...

    视频精选一

    IT理论

    OSI模型-百度百科

    OSI模型-智库百科

    OSI model-维基百科

    SOCKS-维基百科

    socks-百度百科

    这里整理一些网上找到的IT项目

    All in Web | 远程桌面网关-Apache Guacamole

    gitlab 的简介

    【教程】使用腾讯云轻量应用服务器搭建 Guacamole 远程桌面代理服务器,让境...

    apache 开源项目全家桶 2020年12月中文介绍

    JumpServer 架构浅解

    手把手从0开始教你搭建Jumpserver,为服务器安全保驾护航!

    一步步安装Jumpserver堡垒机图文详解(官方教程版),从此爽歪歪!

    [Awesome Github] -2020_07_25

    Windows系统Git安装教程(详解Git安装过程)

    Aria2:windows上的详细使用方法

    开源论坛:社区选择Discourse(​在github上论坛排名第一 ,35.8K个星星)

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享