云上远程运维的最后那点担心,“云梯”帮你解决_华为云开发者联盟的博客-程序员秘密

技术标签: 远程运维  华为助力企业上云  安全  运维  华为云Stack  devops  

摘要:安全可信的网络连接方案是远程运维的基础,否则反而会将安全风险(数据安全、网络攻击)引入到客户本地云中。

本文分享自华为云社区《【华为云Stack】【大架光临】第2期:云上远程运维的最后那点担心,“云梯”帮你解决》,作者:大架光临 。

远程运维是趋势,安全可信是根基

便捷高效的云服务已成为企业解放生产力、推动业务创新的重要支撑。随着云平台的规模快速扩大,若继续使用传统的运维手段,将会对政企IT运维部门带来非常繁琐复杂的工作。这表现在:

  • 云服务需持续更新迭代,规模大,变更升级风险高;
  • 传统运维手段不适应云化运维,故障识别难,运维效率低;
  • 面对容器、大数据、AI等纷杂的新技术,运维人员无法快速应对突发故障;
  • 云运维专家成本高,如某局点配置的PaaS/大数据等运维专家,仅20%时间处理复杂的问题,80%处理低阶日常维护工作,造成人力浪费。

在这种背景下,华为云着力构建“1+3+N”全球技术服务体系,为政企用户提供全球交付和运维能力。依托华为云专业的运维人员、成熟的运维体系、领先的运维能力,把客户从复杂的运维工作中解放出来,聚焦于业务创新。企业客户通过专线或VPN等方式接入远程运维服务时,安全可信的网络连接方案是远程运维的基础,否则反而会将安全风险(数据安全、网络攻击)引入到客户本地云中。

聊一聊远程运维的安全风险

智能化的远程运维中心至少需要具备如快速升级、部署、扩容、故障处理、巡检、告警监控等能力,典型架构如下图1,远程运维中心的多种运维工具或通信协议往往会导致通信矩阵庞大,网络配置复杂,这样必然带来一些网络安全风险。

图1 远程运维典型架构

这些风险主要包括:

  • 防火墙上通信矩阵复杂,监听端口众多,网络攻击者可能会针对这些监听端口发起攻击,威胁客户本地云内网安全;
  • 运维工具和运维代理间的通信多样化,除了从防火墙控制外,无法有效地从某一个控制端点上按照运维业务或数据维度做细粒度的控制,缺乏自助控制;
  • 基于TLS等协议的加密流量,客户无法统一审计,依赖离散的运维工具代理(分布式运维工具代理)本身的审计能力,审计难度大,数据安全无法有效保证;
  • 缺乏针对潜在恶意指令的拦截和防范手段。

华为云Stack的远程运维安全连接方案

基于上面描述的远程运维接入过程中可能存在的问题,华为云Stack基于专线或VPN基础之上提供远程运维安全接入产品“云梯”,整体架构设计如下:

图2 “云梯”架构

在不改变运维工具本身架构的情况下,整体架构主要包含这些关键组件:

运维工具的这些特性能力十分重要:

  1. 快速部署、升级、扩容:实现云服务快速部署、持续迭代升级,全网同版本、同架构、同生态;升级变更方案专家统一制定,降低变更升级风险;
  2. 快速故障定位、故障处理、主动巡检、AIOps等:专家7*24小时在线,重大问题研发专家会诊,疑难问题发现快、定位快、修复快,快速一键式巡检,发现系统潜在风险;
  3. 告警监测:实时监测告警数据,智能分析,及时快速提前介入,主动预防;
  • 云梯Server:完成中心运维工具的请求转发、响应和告警监控数据上报;
  • 云梯Client:与远程运维中心的云梯Server建立安全加密的消息通道,接收云梯Server的转发消息,针对不同协议完成请求的代理,调用目标运维工具代理获取响应;
  • 运维工具代理:接收并执行运维指令,主要包括如:
  1. 安装包、升级包下载,完成云服务安装与版本升级;
  2. 驱动AIOps脚本执行,收集、分析故障日志,快速定位问题根因,执行巡检任务,检查云服务健康状态;
  3. 对接客户本地云告警,完成告警数据上报;以华为云Stack为例主要包括如下类型告警:
  • 通信告警:网元内部、网元之间、网元与管理系统之间、管理系统之间的通信失败而引起的告警。如:设备通信中断告警。
  • 业务质量告警:如:设备拥塞告警。
  • 设备告警:物理资源故障而引起的告警。如:计算节点磁盘不足。
  • 完整性告警:请求的操作不能正常提供。如:非法的修改、增加和删除用户信息
  • 安全告警:安全服务或机制检测到有关安全方面的问题发生。如:鉴权失败、非法访问。

当客户远程运维使用“云梯时”,各组件相互配合,共同保障安全:

  1. 位于客户本地云中的云梯Client与远程运维中心云梯Server保持长连接,建立一条连接远程运维中心与客户本地云的消息通道,所有运维指令下发或监控数据上报请求都通过这一通道进行传输,这样能够避免客户本地云边界防火墙端口监听的同时也能将原有运维工具与运维工具代理间多种协议的连接收编到统一的长连接中,实现通信矩阵的收编;
  2. 以运维指令下发为例:远程运维中心的运维工具通过https向运维工具代理发送运维请求时,请求经过云梯Server进行动态路由,分别在云梯Server中完成请求的封装,通过长连接消息通道完成消息分发,在云梯Client中完成请求的解封装,恢复请求发起调用运维工具代理获取响应,响应消息返回至调用方。这样的好处在于针对如上的每一个请求位于客户侧的云梯Client均能够解析请求指令和响应的详细内容,实时将完整的请求与响应数据记录到审计日志中实现透明审计;
  3. 如上请求转发过程中,客户侧云梯Client能够实时获取请求和响应数据,基于目的地址或运维数据特征,提供细粒度的白名单放通策略(自定义或预置),云梯Client仅会转发允许放通的请求,其他请求均无法经过云梯到达客户本地云运维区,更无法到达客户云内网,保证数据安全,将通道控制权掌握在客户手中。

“云梯”作为一体化的安全、可信、可控远程运维解决方案中的关键能力,我们做了几个重点技术能力构建,解决远程运维的安全风险:

1. 将客户本地云运维工具代理相关的防火墙监听端口减少至0,将运维工具多种通信协议的通信链路收编到统一的长连接中,如下图所示:

图3 “云梯”场景运维接入

2. 针对运维过程中的加密协议(如https等)提供透明审计能力,实时查看运维指令内容,如下图5所示,同时提供敏感数据(账号、口令等)识别、脱敏与拦截,防止数据泄露;

图4 “云梯”流量审计

3. 提供细粒度基于运维业务或数据特征的控制策略,按需放通运维指令,将运维的控制权掌握在客户手中。如在某段时间内仅允许巡检指令下发,则该时段内变更类指令将会被拦截。

“云梯”已成,加速政企智能升级

当前云梯已上线华为云(西安)运维中心,同时云梯结合运维工具提供安全、可信、可控的远程运维解决方案,形成“1+2+5”的安全体系:

  • 1套安全管理体系:构建远程+现场两级安全运维体系;
  • 2项安全认证:ISO27001认证、网络安全三级等保认证;
  • 5类安全管控机制:数据安全、IT安全、人员安全、物理安全、作业可信。

现已支撑50+政企云上运维,囊括政府、交通、医疗、电力等8大行业。如:

1. 华为云Stack为国家电网提供集中运维解决方案:

  • 问题处理效率比常规情况提升约50%;
  • 各省问题平均闭环时间缩短至45天,快速迭代云服务版本。

2. 华为云(西安)运维中心为甘肃省医疗保障局提供智能运维解决方案:

  • 智慧医保系统运维效率提升30%-50%,全面保障医保信息平台全生命周期业务连续性。

3. 华为云(西安)运维中心为中国一汽提供一站式运维服务:

  • 累计处理线上问题500+;
  • 问题处理效率提升46%;
  • 需求变更100%成功。

面向未来,在线智能化的远程运维已经成为政企数字化转型的最优解。华为云Stack远程运维“云梯”连接方案,实现客户云便捷安全的接入远程运维中心,对现有客户本地云配置影响小,提供透明的统一审计能力,易控可控的连接通道,全方位保障客户本地云远程运维接入安全。帮助客户从复杂的云运维中解放出来,更加专注业务创新,加速千行百业数字化转型和智能升级。

点击关注,第一时间了解华为云新鲜技术~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/devcloud/article/details/121208878

智能推荐

前端必学的动画实现思路!_傲娇的koala的博客-程序员秘密

大厂技术高级前端Node进阶点击上方程序员成长指北,关注公众号回复1,加入高级Node交流群一个合理的动画是良好用户体验中必不可少的一部分。我们平常是怎样写动画的?CSS 中的 animation 和 transition,还有 requestAnimationFrame?相信大家写动画的时候心里也是在万马奔腾。今天我们从一个另辟蹊径的角度来探索一个动画实现。示...

2021-02-25【OpenCV Error】 Assertion failed_csdn_partonzhou的博客-程序员秘密

记录一下用opencv做矩阵运算遇到的坑。1. Assertion failed (a_size.width == len) in gemm 解决办法:https://blog.csdn.net/hunteryoung0718/article/details/883426282. error: (-215:Assertion failed) type == B.type() in function 'gemm'解决办法:https://blog.csdn.net/u01134185.

调试时ASP.NET中的控制台输出_生活热爱就好的博客-程序员秘密_asp控制台输出

web程序执行时,是被附加到IIS进程的一个单独的AppDomain中的,所以就算有输出也看到,所以Console.Write调试信息无法显示出来。那么解决办法是,用debug代替:System.Diagnostics.Debug.Write("");

2.5.2 近邻方法(PRML读书笔记)_笑看风云之变换的博客-程序员秘密

  核⽅法进⾏概率密度估计的⼀个困难之处是控制核宽度的参数hhh对于所有的核都是固定的。在⾼数据密度的区域,⼤的h值可能会造成过度平滑,并且破坏了本应从数据中提取出的结构。但是,减⼩hhh的值可能导致数据空间中低密度区域估计的噪声。因此,hhh的最优选择可能依赖于数据空间的位置。这个问题可以通过概率密度的近邻⽅法解决。  回到公式(2.246),与之前固定VVV然后从数据中确定KKK的值不同,我...

WKWebView 简介WKWebView_weixin_34195546的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

事务码VF04开具发票所触发的行为_CharlieMC的博客-程序员秘密_sap中vf04

销售人员创建销售订单(使用事务码VA01)之后,所填写的数据,不会马上写入CE11000这个表中,可能会直接写入VBAK之类的表,但是不会马上写入CE11000当销售人员使用事务码VF04 维护发票清单 ,出具发票凭证之后,相关数据才会写入CE11000.现在的问题是,我们有一个数据,在一堆数据中,有其中一个数据,没有成功写入到CE11000这个表中,其他的数据都写入了,只有一个数据没有写

随便推点

矩池云配置MMDetection环境+训练自己的数据集_yezzii的博客-程序员秘密_矩池云配置环境

自用,方便查找。参考:采用矩池云配置MMDetection环境_一只大憨憨的博客-程序员秘密_矩池云配置环境环境镜像:Pytorch1.5.0镜像描述:预装:Python3.8, CUDA 10.1, cuDNN 7.6, Pytorch 1.5.0,Ubuntu18.04步骤安装环境:1. 安装torchconda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch -y...

SEDA架构_lxlzhn的博客-程序员秘密_seda架构

纯粹转发,没有深入研究,转自:SEDA架构笔记一、传统并发模型的缺点基于线程的并发特点:每任务一线程直线式的编程使用资源昂高,context切换代价高,竞争锁昂贵太多线程可能导致吞吐量下降,响应时间暴涨。基于事件的并发模型特点:单线程处理事件每个并发流实现为一个有限状态机应用直接控制并发负载增加的时候,

ubuntu中eclipse无法识别android手机问题_梁瑾的博客-程序员秘密

问题:在ubuntu中eclipse中用真机来调试androi程序时,发现无法识别手机,如下图显示2.37一栏之前显示全是乱码,这是解决后截的图。问题原因是:在window下我们可以通过安装驱动来实现abd的连接,而在ubuntu下就没有安装手机驱动这个概念,那我们肯定也需要个啥来实现这个驱动功能。这个android官网介绍得很详细。记录下解决步骤如

解决微信小程序MQTT通讯真机调试失败的问题附加可用代码_德宏大魔王的博客-程序员秘密

原因:模拟器上测试可以,选中了不校验合法域名,真机调试没能连接服务器,解决思路换了个mqtt.js可参考https://unpkg.com/[email protected]/dist/mqtt.min.js废话不多说!上代码前端部分自己改改就可以用了,我懒得改了微信小程序index.wxml<view style="width: 750rpx;height:330rpx;"> <image src="https://img-blog.csdnimg.cn/295062b06acc

go语言基本类型_简单专注的博客-程序员秘密

这篇文章主要介绍了GO语言基本类型,较为详细的分析了整形、浮点型、字符串、指针等类型的具体用法,是深入学习GO语言所必须掌握的重要基础,需要的朋友可以参考下 本文实例分析了GO语言基本类型。分享给大家供大家参考。具体如下: 一、整型 go语言有13种整形,其中有2种只是名字不同,实质是一样的,所以,实质上go语言有11种整形。如下: (1)int :依赖不同平台下的实现,可以是int32或i

oracle数据库迁移后线程阻塞,错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题..._xi li的博客-程序员秘密

今天在往数据库中插入数据时遇到了线程阻塞问题: 代码是这样的,使用批处理最优时间的方式,向数据库中插入多条数据:public class TransTest {private String driver = "oracle.jdbc.OracleDriver";private String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";private St...

推荐文章

热门文章

相关标签