DevOps“为故障而构建”的理念是否会带来安全风险?

F5生态系统 | 2018年2月08日

打破贝特里奇标题定律,简短的回答是肯定的。但如今凡是涉及技术的问题,详细答案都要复杂一些。

我认为,DevOps已在各行各业得到相当广泛的应用。虽然并非每个组织都会采用这种方法的方方面面,也不会像Netflix那样积极践行其原则,但DevOps无疑已成为一种趋势。

虽然这并非直接证据,但在《2018 年应用交付现状》调查中,当我们询问3,000多名受访者数字化转型如何影响其应用决策时,排名前三的回答中有两项是“在IT系统和流程中采用自动化和编排”以及“改变应用开发方式(例如转向敏捷开发)”。在我看来,这两项都可以视为采用部分DevOps方法,在现代架构中开发和交付应用所带来的反应。

因此,如果组织正在采用一些与DevOps相关的工具和技术,或许可以推测,它们也在采用其他工具和技术。其中甚至可能包括(此处响起戏剧性音乐):以故障为前提进行构建。

不过,这种说法不太准确,因为没有人会专门设计注定发生故障的系统。实际上,人们设计的是能够从故障中恢复的系统。例如,如果某个实例(服务器)崩溃,系统应能自动处理这种情况,移除已失效的实例,并启动一个新实例来替代它。

瞧!这就是“为故障而设计”。

虽然这无疑是理想的响应方式,尤其是在系统承受高负载和高需求时,但这种方法也存在需要考虑并有望随后解决的风险。

以2017年初的Cloudflare漏洞为例。Cloudflare在自身发布的问题报告中保持了值得肯定的透明度。该公司指出,问题本质上是HTTP解析器扩展中的缺陷引发内存泄漏(可能导致数据泄露)。简而言之,缺陷导致内存泄漏,进而造成实例崩溃。由于系统采用容错设计,这些实例随后被终止并重启。

需要说明的是,这篇文章并不是要“因为一个漏洞而抨击Cloudflare”。作为开发者,我非常理解自身缺陷被如此公开曝光的处境。但如果有人不重视查明系统崩溃、内存泄漏或彻底失效的原因,我就不太能理解了。

这正是今天这篇文章要讨论的重点。因为有时,DevOps理念会让其拥护者对故障后的调查采取放任态度。

服务或应用发生故障时,为确保可用性而终止并重启服务是完全合理的,前提是随后要调查崩溃原因。应用不会无缘无故崩溃;一旦崩溃,必有诱因。十有八九只是无法被利用的错误,没什么值得专门写篇博客。但只要有一次是尚未被利用的严重漏洞,就值得为此投入精力,即使另外九次看似白费功夫。因为这种情况确实值得写篇博客。

忽视这一问题并不可取。

对故障及其他问题进行监控和告警,也是完善DevOps体系的关键组成部分。这正是构成整体DevOps方法的CAMS中的“S”:文化、自动化、度量和共享。Damon和John(两人于2010年提出了这一缩写)所说的不只是披萨和啤酒(不过,这确实有助于促进DevOps文化,也就是其中的“C”)。共享还涉及数据和系统状态,旨在确保能从相关信息中受益的人员及时知情,其中也包括系统故障信息。

故障,尤其是崩溃,不应无人过问。如果流水线中的系统崩溃,应有人知晓并进行检查。忽视此类故障会带来安全风险。更糟的是,这种风险本可避免,因为相关环境、系统和代码均由您掌控。既然拥有完全控制权,就没有理由置之不理。

简而言之,“为故障而构建”可能会使应用乃至业务面临安全风险。好消息是,只要确保这一理念不只是纸面上的“为故障而构建”,实际执行时也不会变成“构建后却忽略故障”,这些风险就完全可以管控。

请关注发生崩溃的系统,即使为了保持高可用性而将其重启,也不能忽视。这样或许能避免您和企业因负面事件登上Twitter热搜。

分享
标签: DevOps, 2018

关于作者

Lori Mac Vittie
Lori Mac Vittie杰出工程师兼首席技术布道师 | F5

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。

Lori Mac Vittie 的更多博客文章

相关博客文章

F5纪念2021年世界艾滋病日
F5生态系统 | 2021/12/01

F5纪念2021年世界艾滋病日

值此世界艾滋病日,F5郑重承诺,将与员工、客户、社区和合作伙伴共同努力,消除社会对HIV感染者仍然存在的污名与偏见。

Thingbot正转变为攻击平台
F5生态系统 | 2018/11/29

Thingbot正转变为攻击平台

Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。

借助F5全新Quick Start,在AWS上快速开展业务
F5生态系统 | 2018/11/20

借助F5全新Quick Start,在AWS上快速开展业务

在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。

为什么声明式模型对NetOps自动化至关重要?
F5生态系统 | 2018/04/30

为什么声明式模型对NetOps自动化至关重要?

为什么声明式模型对NetOps自动化至关重要?阅读F5博客,了解基础设施即代码如何简化网络扩展。

开源聚焦:F5基础设施即代码与多云可管理性
F5生态系统 | 2017/11/16

开源聚焦:F5基础设施即代码与多云可管理性

开源聚焦:基础设施即代码与多云。阅读博客,了解模板和Terraform如何简化F5应用服务的部署。

破解IT“无解困局”的答案:私有云
F5生态系统 | 2016/09/12

破解IT“无解困局”的答案:私有云

破解IT“无解困局”的答案:私有云。阅读F5博客,了解本地部署的敏捷性如何化解安全与速度难以兼顾的问题。