写点什么

企业系统稳定性建设和安全性保障该怎么做?

  • 2024-03-21
    北京
  • 本文字数:2991 字

    阅读完需:约 10 分钟

企业系统稳定性建设和安全性保障该怎么做?

系统稳定性和安全性是各个公司的技术负责人最关注的问题。但即使是像微软和 Facebook 这样国际性的大公司,也偶尔会出现系统故障,这种事一旦出现就是爆炸性的新闻。本质原因是什么呢?越复杂越精密的系统就是容易,就是比较脆弱,就是容易出故障。除了自身故障之外,还有来自外界的攻击,而被攻击的本质原因是防守一方和攻击一方在力量和难度上极度的不对称——防守的一方就是一个团队,而攻击的一方是一个产业链。

 

那要怎么做好稳定性建设和安全性建设呢?本次就整理一些专家的实战经验来传递给一线的从业人员,希望对大家的工作有借鉴作用。


故障的本质是必然性的风险加上偶然性的触发。就好比地上埋了个地雷,这是一个必然性的风险,那只要经过的人次数足够多,早晚会有人踩上这个雷。那谁踩上这个雷和什么时间踩上这个雷就是偶然性的。要想把稳定性做好,首先得减少这个风险,即预防故障。另外就是减少这个故障触发之后的影响吗,也就是减少爆炸半径。


那如何做好稳定性建设呢?主要分为两方面,故障预防(架构梳理、风险矩阵、变更预案,日常巡检和代码防御),和减少影响(全面监控、应急预案、一键逃生、故障演练,管理制度)。

 

架构梳理是稳定性建设之首,软件系统就好比一辆汽车,用先进的技术、先进的架构可以打造出一辆好车。如果用老旧的技术、老旧的架构,老旧的版本,搭的是一辆抛锚概率高的破车。在做架构设计的时候要有面向失败的思想。即使一个单元失败了,整个系统还能继续用。那这里要做到几点:高可用、高性能和高质量。高可用首先是消除单点(硬件单点、存储单点、网络单点、机房单点、依赖单点等),其次是减少冗余设计(数据冗余、计算冗余,网络冗余等)。同时还要弱化依赖,避免强依赖。对流量的管理也是必不可少的,限流、降级、熔断等等这些手段。还有容量的管理,为应对急剧增加的一些流量,要做动态扩缩容等等。高性能这方面需要则需要在数据上做索引,网络宽带要加 CDN,冷热数据要分离等。高质量的设计上要在数据技术做纵向分层,横向的要做业务分区,使得软件系统好维护,以及缩小爆炸半径。

 

灾备设计包括冷备、热备,还有数据级别容灾,包括数据集的容灾,应用级的容灾,业务级的容灾等。业务系统也要尽可能做多活,尤其异地多活,包括两地三中心,甚至于先进的做三地五中心。

 

风险矩阵,这里要梳理出所有可能出现的问题,比如说连接不上,网络断了,证书过期等也会连接不上,根据对应的故障去做预防。


变更预案,变更种类很多,有软件变更、配置变更、数据库变更、硬件变更、主机变更、网络变更等。那么变更的原则首先是尽可能在灰度环境上不要一把梭哈,然后再变更,在灰度上要做监控,有异常出现就赶快回滚。变更的流程也要严格,变更要有方案的评审,效果的验证以及业务的检查。这里强调的是变更预案,就提前把所有可能的变更对任何一个团队介绍,所有可能的变更的种类是有限的,要提前把它梳理出来,提前把预案做好,模拟预案的模板做好,然后将来做预案做的时候,可以不用依赖于做这个变更的同学的技术高低了,所以变更预案很重要。

 

日常巡检,这个概念来自于传统的航空、电力、汽车工业里的巡检机制,来保障设备系统的正常运转。计算机系统也一样需要做巡检,这里包括基础信息的巡检,比如说 CPU 的利用率、磁盘利用率、内存利用率等,以及服务器时间同步等。


代码防御,在编程的时候 Defensive Programming,就是不仅要保证自己的代码没有 bug,还要防止别人的代码没有 bug;对于每一个软件模块,不仅这个模块不要有 bug,还要防止上游的模块有 bug。异常处理怎么做呢,通过异常处理 Java try-catch,处理所有可能的错误,包括系统错误的用户错误。自愈代码,在 Coding 的过程中,在任何关键环节都要具备稳定性意识。数据校验也是很重要的,实时校验来防止 bug 发作,离线校验是为了发现脏数据。

 

全面监控是全公司的事,可能会增加上万条监控项目。包括系统监控、应用监控,还有业务监控,当然还包括终端监控。那系统监控包括主机监控,网络监控、中间件的监控以及数据监控等。应用监控项包含的目如异常总数、FullGC 次数,慢调用次数、响应时间、请求数,慢查询、慢消息等等,还有全链路监控;业务监控包括卡顿、崩溃等。


应急预案,也就是对每一个可能的故障都要提前把预案做好,否则一团混乱。在组织上明确到具体的人员,谁去通知谁?谁去协调谁,谁做决策,决策什么内容等都要提前设计好。应急的原则首先是止血,要快速的恢复业务,而不是定位根因,这是一个运维人员经常犯的一个错误。还有这个在短时间内如果不能解决问题的话,必须升级处理。另外,在不影响用户体验的前提下,要保留一部分现场和数据,便于恢复后定位分析原因。

 

一键逃生,对于阻断性的安全设备,必须提前准备好一键逃生方案,比如说防火墙、WAF、上网行为管理、SSLO 等非常重要。一旦发生故障,这种主备切换也不一定能够 100% 的成功,那这个时候必须要一键能够把设备 bypass,这些都要提前做好演练,提前做好方案,提前写好脚本,一个命令完成。故障演练,第一原则就是演练的时候不要出事,演练的目标之一就是检验预案,锻炼队伍、磨合团队。全链路压测也可以算作一种演练。


管理制度,首先要有值班机制,7* 24 小时要能够收到紧急报警。还有故障的复盘,不仅要复盘自己的故障,还要复盘其他团队的故障,也要复盘其他公司的故障,收集业界发生的所有的故障信息,然后来做复盘。


信息安全建设关于信息安全建设,这里也有五点要介绍。首先是进不来,保证黑客进不来,那首先是对 DMZ 的防护,有防火墙 + WAF + SSLO + API + APT 的组合拳。对内网的防护要有 VPN 二次认证,以及远程设备准入,还有基于身份的访问权限最小化,还有业务要做各种隔离。同时要有自己的认证系统。其次要做到能发现,就是一旦进来了你能发现,所有终端系统都装 EDR,另外内存安全,即指令序列白名单。对于员工上网要制定行为管理、DLP,严控各种敏感数据的导出,联合业务应用软件的开发部门做大量的应用系统改造,所有的系统导出都要经过严格审批。

 

另外是防泄漏,要防止终端层面的这种数据泄露,员工个人电脑首先是做 VPN 准入。还有 IM 系统改造。在个人电脑不允许下载文件。还有对数据库的防护,那么数据库要做防泄漏就要基于 AI 进行数据风险监控。还有数据加密,存储加密、传输加密使用加密隐私计算。


第四是保合规,安全方面是有各种合规要求的。首先在产品设计方面,要告知用户哪些数据会被收集使用、保护数据、授权同意等。另外像数据加密、疏密、脱敏、访问控制等等要有应急响应方案。

 

关于数据跨境传输安全合规方法案也很重要,非必要不出境,大多数跨境传输的数据是需要改造的,同时海要评估境外数据接收方是否能够承担数据管理责任。

 

最后一点是重运营。在组织方面,全公司范围内建立 CISO 体系,有事情能及时同步,安全运营有 7* 24 小时的应急响应机制,对安全事件的处理要及时止损。同时要组织公司级别的攻击演练,实战演练。培训员工制度以及安全意识提升也是必不可少的,宣发各种宣传资料。

 

活动推荐

 

InfoQ 正在筹备 2024 年 6 月 14-15 日深圳 ArchSummit 架构师峰会目前已经邀请了 CNCF、阿里云、顺丰集团、腾讯、百度等企业的专家来演讲。会议上还设置了大模型、架构升级等专题,如果你感兴趣来会议上演讲,欢迎进入 ArchSummit 会议官网,提交议题。


会议现已进入 8 折早鸟购票阶段,联系票务经理 17310043226,锁定优惠。



2024-03-21 15:059452

评论 1 条评论

发布
用户头像
安全漏洞xz技术圈最火的事情没人关注?
防止不必要损失请紧急操作:https://mp.weixin.qq.com/s?__biz=MzU4ODc0Njk0Mg==&mid=2247486045&idx=1&sn=86906b0b10637b484ed310b64b15b5a8&chksm=fdd9538ccaaeda9affc957a4aff8c008939dd14e7021cec5049fc7c17fe5ceb102e16ee3163c&token=1424558924&lang=zh_CN#rd
2024-04-01 12:07 · 湖北
回复
没有更多了

神州新桥正式加入openGauss社区

openGauss

青藤:省心又省钱!安全运营服务正在成为甲方企业的主流选择

青藤云安全

多IOT设备上跑物联网应用,你也可以

Speedoooo

物联网 IoT ios开发 Andriod开发

中国电信发布运营商行业首个云原生关系型数据库TeleDB for openGauss

openGauss

恒源云(GPUSHARE)_字节跳动的mRASP预训练模型真香

恒源云

字节跳动 机器翻译 语音识别

深入理解虚拟化

极客重生

云计算 容器 虚拟机 调度 资源隔离

开源demo| anyRTC 互动白板发布,助力实时互动场景

anyRTC开发者

音视频 在线教育 视频会议 智慧协同 开源demo

龙蜥实验室来了!收下这份指南,秒级体验 Anolis OS

OpenAnolis小助手

国产操作系统 龙蜥社区

openGauss数据库源码解析系列文章——存储引擎源码解析(一)

openGauss

数字人民币app公开上架应用市场 试点区域外用户暂无法使用

CECBC

使用JDBC进行openGauss的读写分离及负载均衡

openGauss

openGauss 2021 感谢有您,一起创造了那些灿烂记忆

openGauss

从GitHub 到极狐GitLab 的迁移指南

极狐GitLab

GitHub 极狐GitLab 迁移指南

技术说|拓维·建木边缘计算平台,让算力先行一步

拓维信息

云计算 大数据 边缘计算

Linux之find命令的参数详解

CRMEB

05 Prometheus之监控主机和容器

穿过生命散发芬芳

Prometheus 1月月更

AI开发平台系列1:AI开发平台“家族”概览

Baihai IDP

人工智能 ide AI 平台

小声嘟囔:char 和 unsigned char 有那么大差距吗?

BUG侦探

c ios 汇编 ios开发

技术干货 | WebRTC 技术解析之 Android VDM

网易云信

Java android 音视频 VDM

共话数据库技术与行业数字化融合创新,探讨开源数据库未来发展

openGauss

云计算厂商们,你们辜负了中国的用户

观测观测

云原生 云计算架构师

新思科技:2022年软件安全行业七大趋势预测

InfoQ_434670063458

新思科技 2022 安全趋势

LabVIEW图像模式匹配(基础篇—11)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像模式匹配

应急响应-Yara规则木马检测

H

网络安全 应急响应

中国联通联合openGauss开源社区启动数据库自主创新

openGauss

openGauss Summit 2021你想知道的都在这!

openGauss

加密货币、去中心化金融和交易的演变:一种交易成本方法

CECBC

一周信创舆情观察(2021.12.27~2022.1.3)

统小信uos

深度揭秘openGauss分区表如何实现大数据量的快速转移

openGauss

GBASE南大通用加入openGauss社区

openGauss

廖湘科:数据库需要充分利用开源和发展开源,广泛吸纳全产业力量

openGauss

企业系统稳定性建设和安全性保障该怎么做?_框架_Xue Liang_InfoQ精选文章