从DevOps到DevSecOps,贯穿始终的安全栈

从DevOps到DevSecOps,贯穿始终的安全栈

作者:虫虫安全 2019-12-24 08:29:25

云计算 “二十一世纪最重要的啥?人才!”。葛大爷在《天下无贼》曾经这样呼喊。但是在时下虫虫要说最重要是数据安全。不管是自动化DevOps,大数据还是AI,安全都是第一要务和基础,甚至国家层面安全也都提到国家战略中。

 “二十一世纪最重要的啥?人才!”。葛大爷在《天下无贼》曾经这样呼喊。但是在时下虫虫要说最重要是数据安全。不管是自动化DevOps,大数据还是AI,安全都是第一要务和基础,甚至国家层面安全也都提到国家战略中。在开发即上线的DevOps一栈式模式下,对Devops做安全升级,在全栈每一阶段都进行安全检查和整改,建设成安全栈式DevSecOps势在必行。本文虫虫就就来给大家谈谈DevSecOps各阶段进行的安全实践活动和工具。

[[286538]]

DevSecOps基本上基础也采用DevOps实践,并在相应阶段增加安全性检查,并集成到的CI/CD管道中,扩展现有的devops工具和实践。

给Pipeline增加安全罩

安全无易事!当给DevOps集成安全功能时候,最容易变得不堪重负并迷失!了解当前的工作流程和工具是给管道集成安全检查和安全控制的关键。一般来说DevOps持续集成(CI),持续交付和连续部署(CD)管道分为6阶段:

编码:开发阶段,在代码进入源代码存储库之前。

构建:构建并执行系统的基本自动化测试。

测试:成功构建后,工件将部署到临时和测试环境中。

主机运行:此阶段涉及需要应用于基础架构的配置和版本更新。

运行:如果主机运行通过,则表明应用程序已准备好部署到生产环境中,可以灰度发布和升级。

监控:持续测量和监控生产活动。

本文中,我们基于以上6个阶段进行安全集成实践和探索。

开发阶段

DevOps实践强调编写良好的代码。代码运行良好,易于更改和理解。 DevSecOps通过添加用于编写良好和安全代码的安全检查来扩展这些实践。

传统的单元测试,静态代码分析,代码审查,预提交Hooks(git 客户端钩子)等实践可以扩展到该阶段的安全性检查。为了不影响开发人员的工作效率,可以在将代码提交到源代码存储库之前查找并修复常见的安全问题。

代码审查

代码审查是提搞代码安全性的重要手段。它可以增加开发人员的责任感和透明度,降低来自内部威胁的风险(比如有人代码中投毒、隐藏后门以及逻辑炸弹等),同时代码审查也有助于提高代码质量。除了代码外一些关键配置文件比如Puppet清单,Ansible playbooks,Dockerfiles,.gitlab-ci.yml等也需要纳入代码审查的范畴。

静态分析工具

市面上有大量的静态分析,包括开源和商业工具,可以将其集成到喜欢的IDE中,帮助我们检查代码的一致性,可维护性,清晰度,错误模式等等,还可以通过添加基本的规则(工具针对该语言)来识别基本安全漏洞。

工具列表

可以在此阶段使用的非详尽工具列表包括:

Gerrit,Phabricator,SpotBugs,PMD,CheckStyle,Find Security Bugs等等

项目构建

将代码提交到源存储库后(比如gitlab),将执行应用程序的构建和基本自动化测试,以确保代码始终可编译可构建。

同样,需要在此阶段添加检查,以检测严重和高危安全性问题。如果发现严重问题,则需要进行安全控制,设定构建为失败并发送警报通知。

依赖组件安全性分析

根据Sonatype的2018年软件供应链报告,在该年度开发人员总共下载使用过逾3000亿的开源组件,其中八分之一都包含已知的漏洞。而且今年内由于基础库被注入木马的安全事件也频繁发生,这虫虫之前的文章曾专门介绍过,大家可以搜索历史文章。

使用依赖组件安全性分析可以发现,依赖的开源组件(类库)是否包含已知的安全漏洞。运行SCA工具有助于识别具有已知安全漏洞的过时库和框架。

SAST(静态分析安全测试)

在此阶段提高安全性并向团队提供快速反馈的另一种有效方法是运行静态分析软件测试。这些工具可以找到审核者遗漏的隐藏错误,这类错误往往很难通过其他类型的测试找到。

单元测试

在重构代码或进行其他更改时,单元测试对于扑捉回归漏洞非常重要。对每一功能块添加单元安全测试很有必要。

工具列表

可以在该阶段使用的工具包括:众所周知的Sonarqube,OWASP依赖性检查,sourceclear,Retire.js和snyk等。

测试阶段

成功构建后,通过选择生成的工件并将其部署到到容器或者测试环境来触发测试阶段。这些测试包括功能测试,集成测试,性能测试,高级SAST,安全性和DAST。

这个阶段通常需要更多的时间和资源来执行,并且遵循失败快速方法优先原则,即更费劲和耗时的测试要尽可能后延,只有在其他测试都通过时才执行。

有针对性的动态扫描

一旦部署,应用程序就会暴露到各类可能攻击中,例如跨站点脚本,SQL注入或身份验证越过等等。而这些正是动态应用程序安全测试(DAST)发挥作用的地方。可以根据OWASP Top 10中总结的常见关高危漏洞来分析当前测试的应用程序。

 

 

模糊测试(Fuzzy)

模糊测试是一种黑盒测试,暴力可靠性测试技术,主要包括以自动方式使用非预期的数据测试结果以发现漏洞的测试方法。

自动攻击

作为自动化测试周期的一部分,我们可以进一步尝试模拟对运行应用程序的攻击,对系统执行基本的针对性自动渗透测试。

工具列表

该阶段可用的工具(开源和商业)包括:Acunetix Web Vulnerability Scanner,BDD Security,JBroFuzz,Boofuzz,OWASP ZAP,Arachi,IBM AppScan,Mittn,GAUNTLT,SecApp套件等等

主机运行(单机)

在主机运行阶段主要立足于保护运行时环境和保护其上运行的应用程序。多年来,业界提出了很多最佳安全实践,模式,指南和工具,以帮助加强基础架构并使其更具弹性。

降权、最低权限

PoLP声明每个模块(例如进程,用户或程序,取决于主题)必须只能访问其合法用途所必需的信息和资源。

配置自动化

配置管理工具可以轻松地反复大规模部署和创建安全基础架构。通过标准化配置,CM工具可以减少与补丁管理相关的问题,最大限度地降低黑客可以利用未修补的服务器的风险,并有助于减少不同环境之间的差异。值得一提的是,使用CM工具可以在中央存储库和版本控制下跟踪配置信息。

不可变基础架构

使用不可变基础架构,一旦在系统中创建工件,它就不会通过用户修改而改变,则不会有增量更改:创建新服务器实例并替换旧服务器实例,而不是一系列增量更新和更改。一。

安全标准

许多社区提供了基础架构加强指导和建议。这些标准包括Internet安全中心(CIS)基准测试和NIST配置清单等。

 

 

工具列表

该阶段可使用工具包括:Ansible,Puppet,(R)?ex,HashiCorp Terraform,Chef,Docker等等

运行阶段

如果上述所有阶段成功运行,则需要准备投入生产环境运行。该阶段目标主要是验证在配置或部署时间内是否存在任何错误,这些错误是否会降低系统的可靠性和弹性,是否可以在故障情况通过这些进行攻击。

该阶段使用自动化运行时检查和测试中发挥重要作用的地方,特别是发现安全违规和漏洞的安全问题,并突出了风险,如访问控制策略或防火墙规则的变化。

工具列表

这方面我们要特别提及一个Netflix开源的工具chaosmonkey,利用混沌学原理,在分布式系统上进行实验, 目的是建立对系统抵御生产环境中失控条件的能力以及信心。

 

 

监控阶段

系统投入生产后,安全性不会终止,而是真正开始。在DevSecOps中,自动安全检查和监视反馈循环迭代是生产操作的基本部分。

持续监控可以深入了解应用程序正在接收的流量类型,并帮助识别恶意用户的攻击模式。

运行时应用程序安全保护

RASP技术可实时识别和阻止应用程序安全威胁。通过向应用程序运行时环境添加检测和保护功能,RASP使应用程序能够通过自动重新配置来”自我保护”,无需人工干预,以响应某些条件。

安全监控

首先是自动收集和分析潜在安全威胁指标的过程,定义应触发警报的行为类型,并对警报采取严肃措施。比如IDS,主机进程监控,工作目录变更监控,流量监控等等。

漏洞悬赏

通过漏洞悬赏计划,借助第三方的力量,深入漏洞挖掘,充分了解现实的风险水平,系统弱点和漏洞。他们通常可以自由地采取行动,不会破坏系统或破坏或泄露敏感数据。

工具列表

市场上存在许多运行时防御工具:Prevoty,Alert Logic,HALO,EVIDENT等等。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/293571.html<

(0)
运维的头像运维
上一篇2025-05-20 16:28
下一篇 2025-05-20 16:29

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注