前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SonarQube检查项目中是否存在秘钥信息

SonarQube检查项目中是否存在秘钥信息

作者头像
DevOps云学堂
发布2021-04-23 14:23:55
2.2K0
发布2021-04-23 14:23:55
举报
文章被收录于专栏:DevOps持续集成DevOps持续集成

持续集成和交付(CI / CD)管道旨在支持每天数以万计的部署。生产部署的频率不能以牺牲安全为代价,安全流程也需要与CI / CD管道集成在一起。这就是为什么我们在从开发到生产的流水线的每个步骤中都添加了持续的安全验证,以帮助确保我们的应用程序始终是安全的。

作为管道的一部分,我们开始将SonarQube用于代码质量,因为SonarQube已集成到开发人员的IDE中,所以此验证发生在开发人员提交其代码之前。我们决定利用SonarQube来进一步检查易受攻击的编码模式。

在此过程中,我们使用了现有的出色插件,例如Java的Findsecbugs,我们从Sonar Secrets开始向开发人员提供早期反馈,提醒他们使用硬编码凭据所带来的安全风险。尽早为开发人员提供反馈,使我们可以将安全控制权向左移动,从而使开发人员可以在生产代码投入使用之前达到内部定义的安全标准。

为了保护我们的用户,合作伙伴和员工,我们的服务旨在使用加密的密钥库来保护所有相关的敏感数据。然后,开发人员可以使用变量在代码中引用此数据,而不必对值进行硬编码。

构建打包

SonarQube™的Sonar Secrets插件https://github.com/Skyscanner/sonar-secrets —由Skyscanner产品安全小组创建,旨在识别硬编码的机密,例如密码,API令牌,AWS凭证等。

代码语言:javascript
复制
cd sonar-secrets/java && mvn clean package
cd sonar-secrets/javascript && mvn clean package

build成功会提示以下信息:

代码语言:javascript
复制
...
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.065 s
[INFO] Finished at: 2017-10-26T05:00:33-04:00
[INFO] Final Memory: 23M/252M
[INFO] ------------------------------------------------------------------------

sonar-secrets-java-x.x.jarsonar-secrets/java/target 目录。

sonar-secrets-javascript-x.x.jarsonar-secrets/javascript/target 目录。

安装配置

  • 复制Jar包文件到sonarqube的插件目录/opt/sonarqube/extensions/plugins
  • 重启sonarqube服务器

In startup logs you should see:

代码语言:javascript
复制
...
INFO  web[][o.s.s.p.ServerPluginRepository] Deploy plugin Sonar Secrets Java / x.x
INFO  web[][o.s.s.p.ServerPluginRepository] Deploy plugin Sonar Secrets JavaScript / x.x
...

启用 sonar-secrets-java and sonar-secrets-javascript 在 Quality Profiles。


IDE效果图

Sonar Secrets帮助我们在检测和防止代码中的敏感数据泄漏方面保持主动。我们已决定将该项目开源,以便社区可以从这项技术中受益并帮助改进它。该插件是完全可定制的,并且可以使用新规则进行扩展。

该第一个发行版目前仅支持Java和Javascript项目。

关于我们

泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps云学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 构建打包
  • 安装配置
  • IDE效果图
    • 关于我们
    相关产品与服务
    CODING DevOps
    CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档