浅谈企业 DevSecOps 实践: 平安设计 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

浅谈企业 DevSecOps 实践: 平安设计

申博_安全预警 申博 22次浏览 未收录 0个评论

申博开户

申博开户是本土的一家新闻门户网站,是生活交友网站。包括区县要闻、视听、时评、论坛等多个栏目,涵盖旅游、文化、政治、美食、生活、时尚等多个领域。申博开户为本地居民提供新闻、生活便民、社交、政见表述方面的诸多便民服务功能,让圈儿随时随地讲述的那些事。

,

系列文章(1):浅谈企业 DevSecOps 实践:基本准绳

系列文章(2):浅谈企业 DevSecOps 实践:平安怎样与研发协同事变

系列文章(3):浅谈企业 DevSecOps 实践: 平安测试集成

系列文章(4):浅谈企业 DevSecOps 实践: 构建平安东西链

本文旨在协助平安职员为运用顺序平安顺序建立一个纲要或构造。 我们将回覆一些罕见的题目,比方“我们怎样最先构建运用顺序平安战略? ” “我怎样最先兼并 DevSecOps? ” 及”我应当恪守什么样的运用程式平安范例? ”我将议论软件开辟生命周期(SDLC) ,引见在实行设想时须要斟酌的平安事项,并参考一些运用程式平安范例,作为应采纳哪些平安措施的指引。 这篇文章将协助你制订计谋; 下一篇文章将引见战术东西的挑选。

平安设想和你的 SDLC

平安软件开辟生命周期(S-SDLC)本质上形貌了平安该怎样顺应软件开辟生命周期的差别阶段。 我们将研讨 SDLC 中的每一个阶段,并议论哪些平安东西和手艺是恰当的。 请注意,S-SDLC 一般是作为一个瀑布开辟历程描写的,具有线性历程中的差别阶段,但这现实上只是为了更清楚地形貌——现实的 SDLC 多是迅速的、极限的,或许像瀑布一样的螺旋式的。 有充足的来由将 S-SDLC 基于更当代的 SDLC之上; 然则架构、设想、开辟、测试和布置阶段都可以很好地映照到任何开辟历程当中的开辟阶段。 它们供应了一个很好的出发点,可以将当前的模子和流程顺应到 DevOps 框架中。

在我们之前的文章中,我们愿望你将 S-SDLC 看做是构建你的平安顺序的框架,而不是一个完整的循规蹈矩的历程。 我们认识到这与课堂教授教养和维基教授教养有所差别,然则关于每一个阶段的平安设想来讲更好一些。

定义和架构

· 参考平安体系架构: 参考平安体系架构适用于差别范例的运用顺序和效劳,包含 web 运用顺序、数据处置惩罚运用顺序、运用顺序的身份和接见治理效劳、流或事宜处置惩罚、音讯通报等。 架构在大众云环境、 Kubernetes 集群和效劳网格环境中以至更有用——在这些环境中,我们可以经由过程战略严厉掌握每一个运用顺序的操纵和通讯体式格局。 关于云效劳,我们发起你运用效劳供应商关于布置平安的指点方针,只管他们可以不会称之为“参考平安体系架构” ,但他们确切供应了这些指点方针。 相识运用顺序平台,并讯问软件设想师和架构师他们运用了哪些要领。 假如关于传统的运用顺序,假如他们给你一个茫然的眼神,不要觉得惊奇。 然则新的运用顺序应当包含流程断绝、星散和数据平安设想,以及完整的 IAM 模子,以增进职责星散和数据接见掌握。

· 操纵范例: 与你的开辟团队一同定义最小的平安测试需求,以及症结的和高优先级的题目。 你将须要协商哪些平安缺点将致使构建失利,并提前定义流程。 你可以须要就修复题目的时刻框架杀青一致,并须要某种范例的假造补丁来处理难以修复的运用顺序平安题目。 你须要预先定义这些事变,并确保你的开辟职员和 IT 合作伙伴赞同这些事变。

· 平安需求: 就像在代码验收之前必需运转的最小功用测试一样,你将在布置之前运转一组平安测试。 这些多是针对你的团队所写的细致要挟而约定的一系列单位测试。 或许你可以要求一切 OWASP 十大破绽在代码或支撑产物中取得减缓,将每一个要挟映照到一切 web 运用顺序的特定平安掌握。 不论你挑选什么,你的基准需求应当既斟酌到旧的功用,也斟酌到新的功用。 越来越多的测试须要更多的资本举行考证,而且跟着时刻的推移可以会减慢测试和布置周期,因而你可以决议哪些测试可以阻挠宣布,哪些测试可以扫描以便举行后期生产。

· 监控和器量: 假如你将在每一个版本中举行小的迭代革新,那末须要修复什么? 哪些代码模块对平安有题目? 什么是有用的,你怎样证实它? 器量范例是回覆一切这些题目的症结。 你须要斟酌须要收集哪些数据,并将其构建到 CI:CD 和生产环境中,以器量剧本和测试的实行情况。 这意味着你须要让开辟职员和 IT 职员介入收集数据。 你将精益求精器量范例的收集和运用,然则从一最先就要对数据的基本收集和流传举行计划。

设想

· 平安设想准绳: 一些运用顺序的平安设想和操纵准绳供应了严重的平安革新。 比方用于协助修补和削减进击者持久性的暂时实例、用于移除进击外表的不可变效劳、用于确保效劳器和运用顺序准确设置的设置治理、用于设置一致的云环境布置的模板、自动化修复、经由过程锁定开辟职员和 QA 职员而将职责星散出生产资本等等。 一样主要的是,这些要领是 DevOps 的症结,因为它们使软件的托付和治理变得更快更轻易。 这听起来好像有很多须要处理的题目,但 IT 和开辟职员也投入个中,因为这也使他们的生活变得越发轻易。

· 确保布置管道的平安: 跟着开辟和生产环境越发牢固,开辟和测试效劳器成为更具吸引力的目的。 传统上,这些运转环境的平安性很低或基本没有平安性可谈。 然则,对平安源代码治理、构建效劳器和布置管道的需求正在增进。 因为 CI/CD 管道供应了进入生产的自动化途径,你最少须要对这些体系举行更严厉的接见掌握——特别是构建效劳器和代码库。 而且,假如剧本在背景一连运转,而且人工看管很少,那末你将须要分外的看管来捕获毛病和不当运用。 很多东西供应了优越的平安性,具有数字指纹、2FA、日记、以角色为基本的接见掌握和其他平安特征。 当布置在云环境中时,治理台许可掌握全部环境,必需异常小心肠举行接见掌握和职责星散。

· 要挟建模: 要挟建模依然是最有效果的平安实践之一。 虽然 DevOps 没有转变这一点,但它确切为平安团队成员供应了时机,可以指点开辟团队成员处置惩罚罕见的要挟范例,并协助设想单位测试来应对进击。 这个时刻你须要决议是不是在公司内部造就这个人材,照样约请一个参谋,因为没有哪一个产物可以为你做到这一点。 要挟建模一般在设想阶段实行,但也可以在开辟较小的代码单位时实行,偶然也可以经由过程自建单位测试实行。

WebLogic EJBTaglibDescriptor XXE漏洞(CVE-2019-2888)分析

这个漏洞和之前@Matthias Kaiser提交的几个XXE漏洞是类似的,而EJBTaglibDescriptor应该是漏掉的一个,可以参考之前几个XXE的分析。我和@Badcode师傅反编译了WebLogic所有的Jar包,根据之前几个XXE漏洞的特征进行了搜索匹配到了这个EJBTaglibDescriptor类,这个类在反序列化时也会进行XML解析。 Oracle发布了10月份的补丁,详情见链接(https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html) 环境 · Windows 10 · WebLogic 10.3.6.0.190716(安装了

开辟

基本架构和自动化优先: 自动化和延续革新是症结的 DevOps 准绳,关于平安也一样主要。 正如前面的文章所议论的,自动化是必不可少的,因而你须要挑选和布置平安东西。 我们强调这一点是因为设想很主要,有助于开辟职员在托付新代码之前设想出他们须要布置的东西和测试事变。 请记着,很多平安东西须要集成一些开辟妙技,因而要么设想让你的员工供应协助,要么介入专业效劳。 坏音讯是,在预备历程当中须要预先付出用度和完成事变; 好音讯是,将来的每一个构建都将从这些勤奋中受益。

· 自动化优先: 请记着,开辟并非编写代码和构建剧本的唯一团队——如今操纵也是云云。 这就是 DevOps 怎样将修复和加固带到一个新的水平。 运维的 DevOps 角色是供应构建剧本,用于构建开辟、测试和生产效劳器的基本设施。 好音讯是,你如今正在测试的是生产环境的准确副本。 模板和设置治理处理了传统 IT 多年来一向勤奋处理的一个题目: 暂时性的无文档的事变“调解”环境使得环境可以一般事变。 一样,要使环境完整自动化须要做大批的事变——在效劳器、收集设置、运用顺序等等上面——然则它使将来的事变更快、更一致。 我们采访的大多数团队每周都邑构建新的机械镜像,并更新他们的剧本以运用补丁、更新设置和构建剧本以顺应差别的环境。 然则这项事变确保了一致性和平安的基线。

· 平安代码存储库: 你愿望为开辟职员供应一种轻便的要领来取得平安的和(内部)同意的开放源码库。 我们的很多客户都保留了经由同意的库的当地副本,使得接见这些资本变得很轻易。 然后,在将代码布置到生产环境之前,他们运用身分剖析东西和剧本的组合,以确保开辟职员运用的是经由同意的版本。 这有助于削减易受进击的开放源码的运用。

· Scrum 中的平安性: 如前一章节所述,DevOps 是与流程无关的。 你可以依据本身的喜欢运用螺旋式,迅速,或手术团队的要领。 然则迅速 Scrums 和看板手艺异常适宜 DevOps。 他们专注于较小的、重点凸起的、疾速可证实的使命上,这很好地完成了协调一致。 我们发起在这个时刻设置你的“平安冠军”顺序,在每一个团队中最少培训一个人进修平安基本知识,并肯定哪一个团队成员对平安主题感兴致。 经由过程这类体式格局,平安使命可以很轻易地分配给那些有兴致而且有肯定的妙技处置惩罚这些使命的团队成员。

· 测试驱动开辟: 延续集成的一个中心准绳是永远不要将有毛病或未经测试的代码提交到代码库中。 毛病和未经测试的定义取决于你。 与编写庞大的瀑布式范例文档以进步代码质量或平安性差别,你正在用函数剧本和顺序编写战略文档。 单位测试和功用测试不仅定义而且加强平安需求。 很多开辟团队运用所谓的“测试驱动开辟” ,个中的测试确保所需的功用——并防止不须要的效果——与代码一同构建。 这些测试用例被存入代码库,并成为运用顺序测试套件的永远部份。 平安团队没有充足运用这类范例的测试,然则这是检测特定于代码的平安题目的一个极好要领,而贸易东西却没有如许做。

测试

· 为失利而设想: DevOps 推翻了 IT 和软件开辟中很多历久对峙的准绳。 比方,耐久性过去意味着“一般运转时刻” ,但如今是替换的速率。 带有细致产物规格的大型文档已被方便贴所庖代。 关于平安性来讲,曾专注于让代码经由过程功用需求的团队如今正在寻觅赶在其他人之前损坏运用顺序的要领。 这类“浑沌工程”的新要领故意损坏了运用顺序的布置,迫使工程师在可靠性和平安性方面举行构建。 詹姆斯 · 维克特的《哥特列特》中有一句话: 对你的代码要苛刻——就像它雄辩地表达了你的头脑一样。 我们的目的不仅仅是在自动托付历程当中测试功用,而且是要真正测试代码的牢固性,并大幅度的进步可接收发行版的最低平安性。 我们经由过程在运用顺序上线之前故意地对其举行种种功用测试、压力测试和平安测试,从而加强了运用顺序的机能——削减了平安专家亲身测试代码所需的时刻。 假如你可以找到某种要领来损坏你的运用顺序,那末进击者也有可以损坏你的运用顺序,因而,你须要在运用顺序启动之前构建测试以及补救措施。 你须要设想这些测试事变,以及构建它们所需的资本。

· 并行化平安测试: 一切迅速开辟要领都有一个配合的题目,那就是怎样处置惩罚比开辟周期更长的测试。 比方,我们晓得对症结代码片断举行隐约测试所需的时刻比迅速 sprint 的均匀时刻要长。对大批代码举行 SAST 扫描一般要比构建历程长一个数量级。 DevOps 也是云云—— 运用 CI 和 CD 代码可以在建立后的几个小时内托付给用户,而且可以没法实行完整的白盒测试扫描或动态代码扫描。 为相识决这个题目,DevOps 团队同时运转多个平安测试以防止耽误。 他们将大型运用顺序分解效果劳,以加快扫描速率。 针对已知症结题目的考证由单位测试来处置惩罚,以便举行疾速抽查,并将失利的代码返回给开辟团队。 代码扫描器一般与单位测试或其他功用测试并行运转。 我们的看法是,作为一位平安专家,你应当寻觅加快平安测试的要领。 构造效力与速率的测试以及完整性与完成时刻的测试,关于我们交谈过的每一个开辟团队来讲,都是一种延续的均衡历程。 将扫描集合在代码的特定地区有助于更快地发明题目。 一些公司还议论了庇护预添补和完整设置的测试效劳器的设想——就像他们庇护生产效劳器一样——守候下一个测试周期以防止耽误。 为了进步效力和疾速布置而重写和重新设置测试环境有助于 CI。

预宣布

· 弹性 FTW: 有了大众云和假造化资本后,疾速供应测试效劳器变得越发轻易。 我们如今可以经由过程一些 API 挪用启动新环境,并在不运用时缩容。 运用随需应变的弹性云效劳来加快平安测试。

· 测试数据治理: 开辟职员和测试职员有一个异常坏的习气,就是将生产数据复制到开辟和测试环境中以革新他们的测试。 在过去的几十年里,这一向是很多数据泄漏事宜的泉源。 锁定生产环境,如许 QA 和开辟职员就不能泄漏受控制的数据,这很好,但也确保他们不会绕过你的平安掌握。 数据屏障、标记化和种种东西都可以生成高质量的测试数据,从而最大限制的下降它们运用生产数据的效果。 这些东西供应来自生产数据的测试数据,但去除了敏感信息。 这类要领已证实关于很多公司是胜利的,而且大多数厂商为 DevOps 管道供应了适宜的 API 或自动化功用。

布置

· 手动与自动化布置: 经由过程自动化将新代码推入生产环境异常轻易。 但对代码举行检察,或许在涌现毛病时举行回滚,要难题很多。 与我们交谈过的大多数团队还不能完整顺应全自动化布置——这会吓坏很多平安职员。 延续的软件托付现实上只要少数公司运用。 大多数公司每隔几周才向客户宣布新代码,一般是在一系列冲刺以后。 这些公司经由过程剧本实行很多布置操纵,然则在操纵和开辟资本可用时手动启动剧本以完整看管推送操纵。 有些构造确切对完整自动化的生产推送异常惬意,天天会宣布频频。 没有单一的准确答案,但不管哪一种体式格局,自动化都能完成大部份事变,从而腾出职员举行测试和看管。

· 布置和回滚: 为了仔细搜检在预布置前的测试中事变的代码可以在开辟环境中依然可以事变,我们交谈过的团队依然会举行“冒烟”测试,然则他们已将这些测试进化为自动化和更细粒度的掌握。 我们看到了三个常用于加强布置的技能。 第一个也是最壮大的布置称为蓝-绿或红-黑布置。 新旧代码并排运转,各自由本身的一组效劳器上。 在负载均衡器级别,假如发明毛病,负载均衡器就会指向旧代码。 第二种是金丝雀测试,个中一小部份零丁的会话是针对新代码的——优先的对内部员工的测试职员开放,然后开放给外部客户的子集。 假如金丝雀殒命(碰到毛病) ,新代码将退出,直到发出的代码可以修复为止,此时将反复该历程。 末了,特征标记经由过程设置文件启用和禁用新的代码元素。 假如在新的代码段中发明了事宜毛病,则可以封闭该特征,直到该特征取得修复。 在差别的模子和构造之间,自动化和人工干预的水平有很大的差别,但总的来讲,这些布置比传统的 web 效劳环境越发自动化。

· 生产环境平安测试: 纵然平安掌握失利,运用顺序一般也能继承运转。 比方,一个新的布置剧本可以会错过对 web或运用层防火墙战略的更新,或许运用顺序可以在没有任何防火墙庇护的情况下启动。 考证——最少是症结平安组件的健全性搜检——关于生产环境是必不可少的。 我们采访的大多数大公司都雇佣了渗入测试职员,很多公司都有专职的“红队”来搜检运用顺序运转时的平安缺点。

· 自动化运转时的平安防护: 很多公司将 Web 运用顺序防火墙(WAF)作为其运用顺序平安顺序的一部份,一般是为了满足 PCI-DSS 需求。 与我们交谈过的大多数公司对这些东西都不惬意,所以当他们继承运用 WAF 黑名单时,他们采纳了运转时运用顺序自我庇护(RASP)来弥补盈余的空缺。 RASP 是一种运用平安手艺,嵌入到运用顺序或运用顺序运转时环境中,搜检运用层的要求,以及时检测进击和误用。 除了“运用顺序高低文中的 WAF” ,RASP 还可以在运用顺序框架的很多地方举行监控和实行,既可以针对特定范例的进击定制庇护,也可以许可 web 运用顺序要求“完成” ,直到在阻挠要求之前发明某个要求确切是歹意的。 在过去三年里,我们接到的险些一切议论运用顺序平安和 DevOps 的电话都议论了 RASP,而且我们打仗的大多数公司都布置了这项手艺。

运用顺序平安范例

现在已有一些运用顺序平安范例可用。 开放式 Web 运用顺序平安项目(OWASP) TOP 10和 SANS 罕见缺点罗列 TOP 25 是最盛行的平安破绽,但也有其他要挟和罕见缺点列表,这些列表一般侧重于特定的子主题,如云布置或运用顺序平安器量。每一个范例都倾向于被一个或多个范例构造所接收,因而你运用的范例一般取决于你所处的行业。 或许你可以把它们都用上。

不管你的挑选怎样,我们的主意都是相识哪些进击是罕见的,并在构建管道中运用一个或多个平安掌握和运用顺序平安测试来诠释这些进击。 本质上,你构建的是一个要挟矩阵,并将它们映照到平安掌握。 此步骤将协助你设想采纳哪些平安东西并将这些东西放入构建历程,以及在生产中运用哪些平安东西。

本文翻译自:http://securosis.com/blog/enterprise-devsecops-security-planning


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明浅谈企业 DevSecOps 实践: 平安设计
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址