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