案例研究|萤石网络通过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. 查询验证 一.索引是什么? 索引是一种特殊的文件,它包含着对数据表里所…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
GB/T 43887-2024 核级柔性石墨板材检测
核级柔性石墨板材是指以可膨胀石墨为原料、未经改性和增强、用于核工业的核级柔性石墨板材。 GB/T 43887-2024核级柔性石墨板材检测检测指标: 测试项目 测试标准 外观 GB/T 43887 尺寸偏差 GB/T 43887 化学成分 GB/T 43887 密度偏差 GB/T 43887 拉伸强度…...
linux设备重启后时间与网络时间不同步怎么解决?
linux设备重启后时间与网络时间不同步怎么解决? 设备只要一重启,时间又错了/偏了,明明刚刚对时还是对的! 这在物联网、嵌入式开发环境特别常见,尤其是开发板、树莓派、rk3588 这类设备。 解决方法: 加硬件…...