让开发人员全心全意投入应用安全(APPSEC)的关键方法之一,就是清除掉将安全过程嵌入日常工作流时遇到的诸多麻烦。DevSecOps取得成功的一大因素,在于公司有能力实现开发人员不会痛恨的安全工具。
为此,公司企业需改善安全测试工具包与开发人员所用其他软件开发工具之间的集成。值得庆幸的是,这种集成还没到需要抢银行的烧钱程度。虽然也不是完全零花费,但确实大多数能良好集成进持续工作流的DevOps友好安全工具往往是免费的。
下面就列出其中几个最具前景的DevOps友好免费工具。
1. OWASP Zed Attack Proxy (ZAP)
由推出行业标准基准 OWASP 10大漏洞列表的同一组织领导,OWASP ZAP 赋予开发人员免费自动化安全扫描的能力。ZAP已被很多企业采纳,其蕴含的一大DevOps优势,是拥有一款评价很好的,能帮开发团队无缝融合进DevOps工具链的Jenkins插件。
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
2. Gauntlt
作为专门为嵌入持续集成(CI)流水线而生的安全测试框架,Gauntlt在开发界和安全界都有大批拥趸。它之所以如此受欢迎,是因为能让DevOps团队自动化测试所用Cucumber框架中许多现有安全工具发挥作用。
3. BDD-Security
BDD-Security提供了安全验收测试框架的额外选择。该工具采用“行为驱动开发”的概念帮助团队设立并自动测试其安全规范,且同样基于Cucumber测试框架。BDD-Security 预置支持 Selenium/WebDriver、OWASP ZAP、SSLyz和Nessus,是一款无需访问目标源代码即可工作的外部扫描器。
https://github.com/continuumsecurity/bdd-security
4. Git-Hound
如果缺乏足够的过程或工具帮助开发人员约束敏感数据,DevOps往GitHub上仓促提交代码的行为无疑会引入很多风险。最近两年我们见证了数起相当引人注目的GitHub代码仓库敏感数据泄露事件,都是因为松懈的安全实践引起的。比如2016年的Uber数据泄露事件。Git-Hound是一款旨在减少此类敏感数据泄露风险的免费安全工具,可以提供对敏感数据提交的自动检查,避免敏感数据被提交到代码仓库中。
https://github.com/ezekg/git-hound
5. Brakeman
Brakeman是一款开源静态代码分析工具,有着成熟而活跃的社区支持,能够捕获 Ruby on Rails 应用中的安全漏洞。自2013年首度进入人们视线以来,Brakeman发展一直很好,最近更是打破了1100万下载大关。
6. FindSecurityBugs
与Brakeman类似,FindSecurityBugs也是一款免费静态代码分析攻击,只不过分析目标主要集中在Java应用程序上。它能嵌入集成开发环境(IDE),有适用于Jenkins、Eclipse和Maven等多种平台的有用插件。
https://find-sec-bugs.github.io
7. Archery
Archery今年早些时候才在黑帽亚洲的武器库上亮相,是本列表中相对较年轻的一员,但绝对有实力脱颖而出。这是一款开源漏洞评估及管理工具,用Selenium执行动态身份验证扫描。Archery的 REST API 能让开发人员方便地将之融入DevOps工具集,应会受到开发人员的广泛欢迎。
https://github.com/toolswatch/blackhat-arsenaltools/blob/master/vulnerability_assessment/archery.md
8. CIS Kubernetes 标准检查程序
DevOps团队纷纷投入Kubernets的怀抱以有效编配其容器化的工作负载。Kubernetes为容器化应用部署提供了强有力的可扩展工具,但正如任何强力可扩展工具所需的,它也要求有一些重要的安全实践以确保过程中的风险被控制在最小。幸运的是,互联网安全中心(CIS)发展出了一整套强化Kubernetes实现的建议。该工具提供一套很有价值的自动化脚本,可帮助公司企业遵从那些标准。
https://github.com/neuvector/kubernetes-cis-benchmark
9. Cloudsploit
说到企业AWS安全,最近两年的尴尬事还真不少。为了更快推送代码,很多软件公司在开发环境安全保护方面可谓十分松懈,也由此导致了数起引人注目的数据泄露事件。Cloudsploit帮助DevOps团队扫描其AWS实例,查找能直接导致此类数据曝光的各种配置错误和其他安全风险。
https://github.com/cloudsploit/scans
10. InSpec
InsSpec由基础设施即代码提供商Chef主导,提供将合规、安全和策略要求融入到基础设施即代码思想中的工具。该开源项目促进了将策略转变为人类和机器可读的语言。这是一个平台无关的项目,不单单是Chef可用,Puppet环境也能用,Docker、Azure、AWS等其他平台和系统中同样表现良好。
【本文是51CTO专栏作者“”李少鹏“”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】