案例研究|萤石网络通过JumpServer解决安全运维难题
杭州萤石网络股份有限公司(以下简称为萤石网络)于2015年在杭州成立,是安全智能生活主流品牌,核心产品包括智能家居摄像头、智能门锁、智能服务机器人等。2021年,萤石网络家用摄像头占国内出货量市场份额的25%,占全球市场份额的18%。

安全运维的挑战
萤石网络的业务处在快速发展的状态,这为其IT系统的日常运维管理带来了很多挑战,同时公司所使用的传统运维审计平台也面临着版本老旧、功能缺失、缺少鲁棒性( 即Robust,指健壮性、稳健性、强健性)设计等问题。总结来说可以概括为以下几个方面:
1.传统运维审计平台无法满足鲁棒性需求
在萤石网络以往的实际工作场景中,出现过云平台故障导致服务器意外宕机的情况,系统运行不稳定,并且之前在使用的传统运维审计平台没有针对风险情况(如云平台故障宕机、网络断开等)进行鲁棒性设计,因此难以抵抗系统风险。
在咨询原厂商后得知,如果采用传统运维审计平台的方案,鲁棒性方案的投入成本较大。而且后续如果资产增加、项目扩大,对审计平台的架构进行变更或者横向拓展会比较困难;
2.现存传统运维审计平台版本老旧,升级需额外资金投入
萤石网络之前一直使用的是传统的运维审计平台,该审计平台已经运行了较长时间,所使用的版本较为老旧,相比最新稳定的版本之间存在较大的版本差异。升级操作较为复杂和困难,原厂商在收到萤石网络运维团队对系统平台升级的请求时,提出因版本代差较大、升级繁琐等原因需要额外付费,升级的成本较高;
3.自动化工作方面,传统堡垒机和Jira对接存在挑战
在日常的工作中,萤石网络有一个常见的场景是,新员工入职后需要开通一些默认的堡垒机授权访问权限。入职的新人需要按入职引导,提交内部工单,通过Jira推送到堡垒机,经授权审批后,即可获得部分默认资产的访问权限,日常资产授权申请的流程也需要进行类似的操作。
这种纯人工的推进操作流程流转速度慢,会给运维人员带来大量机械性的运维工作,运维工作效率低下;
4.统一管理以及权限隔离的需求
萤石网络拥有多个项目和多个组织,希望通过堡垒机对分属不同部门的用户、不同来源的资产、细化分层的授权权限进行隔离,并且还要通过技术手段来隔离不同来源的用户、资产和授权权限,同时还要保持在公司层面对资产、用户以及访问权限的统一管理。
原有的运维审计平台难以实现IT资产统一管理和权限隔离的需求,萤石网络的运维团队需要寻求新的运维审计平台解决方案。
为什么选择JumpServer?
萤石网络在经过一系列的市场调研和选型之后,对JumpServer堡垒机进行了内部测试,发现其核心功能能够满足公司对堡垒机的核心诉求。JumpServer开源堡垒机的优势主要体现在以下几个方面:
■ 支持负载均衡和系统鲁棒性
JumpServer堡垒机能够很好地支持负载均衡和鲁棒性架构。JumpServer堡垒机的代理层可负载均衡以及调整系统鲁棒性架构,并在此基础之上对负载均衡节点进行高可用化处理,进一步强化系统的鲁棒性,满足了企业安全运维的要求。
在鲁棒性架构之下,当堡垒机发生宕机事故时,可以保障最终用户至少能够通过一套堡垒机环境来正常访问资产;
■ 开源开放,版本迭代速度快
JumpServer作为一款开源堡垒机,提供了一个开源开放的平台,拥有非常活跃的开源社区,社区用户可以随时在GitHub上提交对项目的建议和想法。JumpServer每月会发布一个新版本,用户可以顺滑地升级版本。对于企业版用户来说,版本的升级并不需要支付额外的费用;
■ 采用OpenAPI规范,内置RESTful API
JumpServer堡垒机提供了标准的REST API接口,可以正常对接Jira,实现自动化的工单管理,提升了系统的自动化程度,有效提高运维效率;
■ 组织管理功能
JumpServer堡垒机企业版支持组织管理功能,能够实现多租户管理和权限隔离。公司可以按照部门或者项目的维度进行细分,将用户、资产、授权权限等分别按需隔离在不同的组织中,同时也很好地满足了公司层面IT资产统一管理的需求。
JumpServer的部署架构
基于企业的自身需求,萤石网络最终选用了强鲁棒性负载均衡架构的JumpServer部署方式。为了营造更好的用户体验,JumpServer前端为最终用户提供了两个域名入口,分别用于日常工作访问/上传下载和批量调用。
JumpServer的部署架构分为四层,并可进行分层解耦,易于扩展:
■ 代理层的负载均衡节点采用高可用方案,在架构实施完成后的多次灾备演练中,在最少有一个负载均衡节点存活的前提下,堡垒机服务可正常访问;
■ 节点层的JumpServer节点可随资产和访问并发的增加进行合理的横向拓展,在多次灾备演练中,堡垒机服务均可正常访问;
■ 数据库节点采用高可用方案,在多次灾备演练中,堡垒机服务均可正常访问;
■ 数据存储层采用远端数据盘方案,异机留存历史数据、备份数据等。

JumpServer的功能亮点
实际使用下来,JumpServer的两个功能给萤石网络的运维团队留下了深刻的印象。
■ 远程应用(RemoteApp)
JumpServer堡垒机企业版支持远程应用(RemoteApp)。远程应用作为微软内置的应用发布工具,可用于运行Web页面资产,例如网络设备网页管理界面、内部业务页面等。远程应用也可以用于拉起安装在远程发布机上的自定义应用,例如Navicat、PL/SQL等数据库连接工具等。
对上述应用的访问进行监控并提供录像回放,能够很好地满足公司层面的安全审计的要求;
■ 账号备份
JumpServer堡垒机企业版支持对资产账户的定期备份功能。资产的账户信息托管到JumpServer后,管理员可以根据公司安全运维的规范要求,制定账号备份计划,自动定期异机保存全量资产的登录账号及密码。
账号备份作为一种极端场景下的逃生方案,可以很好地满足公司安全运维的需求,提高了公司应对系统故障的能力。
对JumpServer的建议
经过两年的实际使用,萤石网络积累了丰富的JumpServer使用经验,也希望JumpServer能够越来越强大。
在目前的使用场景中,萤石网络在通过JumpServer进行大规模批量推送用户、通过API批量创建资产授权等自动化作业(2000条以上)时,会遇到无法得知任务结束时间的问题,也无法判定什么时候可以继续公司的内部流程,希望JumpServer能够增加异步化的任务反馈。
此外,针对之前已成功推送到资产的系统用户,希望JumpServer在推送流程中能够提供加以校验并自动跳过的功能。
相关文章:
案例研究|萤石网络通过JumpServer解决安全运维难题
杭州萤石网络股份有限公司(以下简称为萤石网络)于2015年在杭州成立,是安全智能生活主流品牌,核心产品包括智能家居摄像头、智能门锁、智能服务机器人等。2021年,萤石网络家用摄像头占国内出货量市场份额的25%ÿ…...
即时聊天app开发-即时通讯app开发方案分析
如今,即时聊天APP层出不穷,它已经成为人们日常生活中密不可分的社交工具。如今,即时聊天APP不仅是聊天工具,也是企业营销的利器。我们经常可以在聊天主页上看到一些广告。如有必要,用户可以直接点击广告了解详情。即时…...
js为什么会阻塞渲染, 什么是异步?
javaScript 是单线程执行的语言,它的执行机制是基于事件循环模型的。当 JavaScript 执行代码时,如果遇到阻塞(如执行时间较长的代码、同步的网络请求、计算密集型操作等),则会阻塞 JavaScript 引擎的执行,直…...
Nuvoton NK-980IOT开发板 u-boot 编译
前言 最近搭建了 Nuvoton NK-980IOT开发板 的开发编译环境,记录一下 u-boot 的 编译流程 Nuvoton NK-980IOT开发板 资源还是比较的丰富的,可以用于 嵌入式Linux 或者 RT-Thread 的学习开发 开发板上电比较的容易,两根 USB 线即可࿰…...
OpenCL使用CL_MEM_USE_HOST_PTR存储器对象属性与存储器映射
随着OpenCL的普及,现在有越来越多的移动设备以及平板、超级本等都支持OpenCL异构计算。而这些设备与桌面计算机、服务器相比而言性能不是占主要因素的,反而能耗更受人关注。因此,这些移动设备上的GPU与CPU基本都是在同一芯片上(So…...
浅谈osgEarth操控器类的createLocalCoordFrame函数如何将局部坐标系的点转为世界坐标系下的Martix(ENU坐标)
在osgEarth操控器类的EarthManipulator中的如下函数: void EarthManipulator::setLookAt(const osg::Vec3d& center,double azim,double pitch,double range,const osg::Vec3d& posOffset) {setCenter( center );.... //…...
PHP程序员和Python程序员的职业前景怎么样?我来聊聊自己的体会
大家好,今天我们来聊一下程序员这个职业的特点。在讲这个话题之前,我先说一下我自己的情况:我在福州和深圳做了8年左右的程序员,然后回到老家,在家里面为福州的一个公司做远程开发。目前已经在老家做了将近3年。 今天…...
【MATLAB图像处理实用案例详解(8)】—— 图像数字水印算法
目录 一、背景意义二、基本原理三、算法介绍3.1 数字水印嵌入3.2 数字水印提取 四、程序实现 一、背景意义 数字水印技术作为信息隐藏技术的一个重要分支,是将信息(水印)隐藏于数字图像、视频、音频及文本文档等数字媒体中,从而实现隐秘传输、存储、标注…...
最全的免费SSL证书申请方式
在SSL广泛普及的今天,申请一张免费的SSL证书是一件非常容易的事情。这里为大家总结当前阶段(2023年)拥有一张免费SSL证书的方式。首推的方式为来此加密网站,文章后面会有详细的介绍。 下面介绍几种获取免费SSL证书的方式,大家可以根据自己的…...
Ceph入门到精通-CrushMap算法概述
下面是伪代码object到osd的伪代码 locator =object_name obj_hash =hash(locator) pg =obj_hash %num_pg OSDs_for_pg =crush(pg) # returns a list of OSDs primary =osds_for_pg[0] replicas =osds_for_pg[1:] defcrush(pg): all_osds=[osd.0,osd.1,osd.2,...] resu…...
如何利用API做好电商,接口如何凋用关键字
一.随着互联网的快速发展,电子商务成为了众多企业的首选模式,而开放API则成为了电商业务中不可或缺的部分。API(Application Programming Interface),即应用程序接口,是软件系统不同组件之间交互的约定。电…...
Give me a logic game idea about economics
Here’s an logic game idea about economics: Game name: “Economics Tycoon” Game Objective: Build an economic empire and grow from a small business owner to a global tycoon. Gameplay: Start with a small business and limited resources. Manage your compa…...
测试之路,2023年软件测试市场领域有哪些变化?突破走得更远...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…...
配置Windows终端直接执行Python脚本,无需输入“python“
配置Windows终端直接执行Python脚本,无需输入"python" 1. 将Python加入环境变量2. 将Python后缀加入环境变量PATHEXT中3. 修改Python脚本的默认打开方式4. *将Python脚本命令加入环境变量*5. 测试 在Linux系统中,在Python脚本的开头指定Python…...
IDEA快捷键
文章目录 快捷键介绍重点掌握CtrlAltShiftCtrl AltCtrl ShiftAlt ShiftCtrl Shift Alt其他 快捷键介绍 重点掌握 psvmmain函数sout输出soutv带变量名输出.sout变量.调用 输出变量值.if布尔值.调用 生成if语句.for数组类型变量.for 生成for语句.var补全接收的变量&#x…...
关于c++指针数组的要设置初值的情况
在大多数情况下,都应该对指针数组进行初始化,以避免出现未知的值和潜在的未定义行为。指针数组在定义时必须指定元素个数,如果未指定元素值,则需要对其进行显式初始化。如果未初始化数组,则未知的值可能指向无效的内存…...
泰克RSA306B频谱分析仪测试信道功率方法
泰克RSA306B实时频谱分析仪是一种用于无线信号分析的仪器。它可以实时监控无线信号的频谱,帮助用户分析信号特征,掌握信号的功率、频率、调制等关键信息。在无线通信中,信道功率是一个非常重要的指标,它反映了信号在传输过程中的强…...
深度学习技巧应用12-神经网络训练中批归一化的应用
大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用12-神经网络训练中批归一化的应用,在深度学习中,批归一化(Batch Normalization,简称BN)是一种重要的技巧,它在许多神经网络中都得到了广泛应用。本文将详细介绍批归一化的原理和应用,并结合PyTorch框架构建一个简…...
Masonry使用以及源码解析(未完待续
文章目录 Masonry使用约束约束优先级 以及 intrinsicContentSize相关问题 Masonry:iOS12Masonry源码解析下面是使用make.width点语法后的全部内部调用过程: Masonry使用 约束 在写Masonry之前,我想先来聊聊约束的基础知识,我们首先要了解一…...
118-Linux_数据库_索引
文章目录 一.索引是什么?二.索引为什么选择b树三.测试索引1.在mysql中创建数据库 test_indexdb2.在test_indexdb中创建表 test_index3.运行程序向表中插入1万条数据,都是字符串4. 查询验证 一.索引是什么? 索引是一种特殊的文件,它包含着对数据表里所…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
