【51CTO.com快译】2015年Mir Ali加入惠誉评级(Fitch Ratings)时,公司已经在热议改变软件流程,原因是软件堆栈不可靠。惠誉评级是一家金融公司,与穆迪和标准普尔同为美国证券交易委员会(SEC)认定的三大全国公认的统计评级机构。
现为惠誉共享服务主管的Ali表示,让一家百年历史的公司改用DevSecOps(开发安全运维)并非易事。但再也不能无视存在的问题了。他说,大家基本上不明白出现在生产环境中的情况。故障太多,无法追根溯源,整条管道上下缺乏合作。事件发生时,没有人知道原因,也不知道该怎么做。标准程序就是重启数据库服务。这在SEC监管的公司显然是不可接受的。
重大挑战
一个挑战是普遍缺乏安全知识。另一个挑战是缺乏合作或对个人的责任缺乏了解。***是自动化不足。
起初,有很多事情要做,很难分清轻重缓急。团队冷静下来思考,对于他们想要的内容从长计议,而这个愿景为他们随后的所有决策提供了指导。
他们决定将消除安全缺陷放在首位。剩余的任务分为三个方面。他们希望在整个开发过程中确保安全,并在整个公司中实现这套流程标准化。***,他们希望尽可能地简化流程。
Ali表示,简而言之,DevSecOps扩大了DevOps合作的范围,包括安全。
devsecops.org声称:“DevSecOps的目的和意图是立足于‘每个人都对安全负责’这个理念,目的是在不牺牲所需安全的情况下,尽快让***层的人员做出安全决策。”
在整个开发过程中运用安全
Ali表示,关键是将安全整合到DevOps管道中,因而让安全成为整个软件开发过程中不可或缺的一部分。
图1:惠誉的DevSecOps管道中的安全检查点
管理团队一开始在打破整个DevOps管道的孤岛时,将安全专家安插到了每个团队。他说:“让他们觉得自己是团队的一员,听取他们的意见,运用他们的技能。让这成为自动化的一部分。”安全专家让你洞察上下文,提供了专业知识,了解***风险以及我们需要注意什么。安全成了每个人的工作。
接下来,他们部署了安全工具。Ali说:“这不仅仅与工具有关,你还要部署使安全成为可能的工具。”比如说,良好的仪表板以及自动化是关键。为了确保持续交付管道的安全性,适当的访问控制、严加保护构建系统以及统一命名约定是几个优先事项。
他们从容易见效的方面着手。雅虎的数据泄露是由于它的系统没有落实密码保护机制,因此有人克隆了其数据库。他表示,应该避免这样的情况。所以***步是,默认任何人都无权访问。必须授予权限,而且完全基于角色并自动化。
“加密一切”成了新的座右铭。深入了解管道是另一个关键方面。Ali建议:“确保日志条目一目了然。”许多日志看起来像乱码,这在排除故障时毫无助益。
设立安全检查点
一旦基本的整体安全到位,他们开始为管道设立自动化安全检查点。他说:“如果系统没有通过,工程师会关闭系统,说‘稍后我再处理’,但他们永远不会处理。”通过自动化检查点,你不给他们这样的机会。他们使用Gauntlt,这个工具让用户可以专门针对安全编写自动化测试。
图2:惠誉的DevSecOps管道
Ail加入时,工程师们一直在部署扩展数据规模的解决方案,但是每个团队独立工作,因此部署了各种各样的解决方案,工程师们给出了一大堆不同的选择。一段时间后,工程师们为管道的每个部分选择了满足要求的***解决方案,并使其成为标准。
与PagerDuty自己的DevOps转型相似,这个项目耗时大概三年。
DevSecOps的误区
Ali表示,DevSecOps方面有几个误区需要揭穿。***个误区是,如果你实现安全自动化,就放弃了控制。事实上,这让贵公司更加合规。自动化提供了一致性和可追溯性。
下一个误区是,只要添加安全工具即可打造DevSecOps。关键不是添加新工具,也不是增加更多的开发人员。他表示,DevSecOps不是一种能力,而是一种理念。“可以借助已有的开发人员轻松做这项工作。”让安全成为他们工作的一部分,成为绩效评估的一部分。
从哪儿开始?
仍然不知所措?答案是从小处入手。Ali先从电子邮件集成入手,慢慢地添加了工具,开始打破孤岛,改变期望目标。电子邮件集成完成后,该公司开始使用PagerDuty的警报服务,这促使公司集成了Atlassian的Jira错误跟踪系统,整条管道集中起来,拥有日志和智能监控功能。
三年后的今天,他们在故障发生之前就能发现隐患。
开发人员面临的***挑战
你要站在开发人员的角度来考虑。如果你告诉他们,你要自动化,要使用DevOps工具,现在说‘还要融入安全’,那么从他们的角度来看,突然之间有三份工作,而不是只有一份工作。
Ali说:“有鉴于此,我会讨厌那样的工作。”于是他加入公司,积极提供指导和支持。他告诉团队,他们要提供培训、工具和框架,并支持开发人员的工作。
看到大部分工作已完成,开发团队意识到他们不得不充分利用自动化。现在,没人签入代码,每个人都很自然地完成工作。部署不再是个问题。
他说:“仍然存在挑战,但我们已经为他们开始采用DevSecOps开辟了一条道路。”
***提示
他说:“你要意识到你把数据放在哪里,弄清楚里面有什么数据,如何检查数据,谁与数据交互以及数据如何受到保护。”
“除非你提出这些问题,否则你的应用程序和数据是不安全的。”
原文标题:100-Year-Old Fitch Ratings Upgrades to DevSecOps,作者:TC Currie
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】