极狐GitLab 应用程序安全入门
在你应用程序的源码中识别并修复漏洞。将安全扫描集成到软件开发生命周期中,通过自动化扫描来发现代码中的潜在安全漏洞。
你可以扫描不同的编程语言和框架,并检测诸如 SQL 诸如、XSS 和不安全的依赖等漏洞。安全扫描的结果在极狐GitLab UI 中显示,你可以审查和解决它们。
这些功能也可以与其他极狐GitLab 特性集成,如合并请求和流水线,以确保在整个开发过程中优先考虑安全。
This process is part of a larger workflow:
第一步:学习扫描
密钥检测会扫描你的仓库以防止密钥被泄露。它可以在任何编程语言中工作。
依赖项扫描分析你应用程序依赖中的已知漏洞。所有依赖都会被扫描,包括间接依赖,也称为嵌套依赖。
更多详情,可查阅:
第二步:选择一个项目进行测试
如果这是你第一次设置极狐GitLab 安全扫描,你应该用单个项目开始入手。项目应该:
- 使用你的组织的典型编程语言和技术,因为一些扫描功能对不同的语言有不同的表现。
- 让你尝试新的设置,如所需的批准,而不会中断你团队的日常工作。你可以创建一个高流量项目的副本,或者选择一个不太繁忙的项目。
第三步:启用扫描
要识别项目中泄露的密钥和有漏洞的软件包,创建一个启用密钥检测和依赖扫描的合并请求。
这个合并请求会更新你的.gitlab-ci.yml
文件,这样扫描就会作为项目 CI/CD 流水线的一部分运行。
作为这个 MR 的一部分,你可以更改设置以适应你的项目布局或配置。例如,你可能需要排除第三方代码目录。
在将此 MR 合并到默认分支后,系统会创建一个基线扫描。这个扫描会识别默认分支上已经存在的哪些漏洞。然后,合并请求会突出显示任何新引入的问题。
如果没有基线扫描,合并请求会显示分支中的每个漏洞,即使该漏洞已经在默认分支上存在。
更多详情,可查阅:
第四步:查看扫描结果
要让团队在合并请求和漏洞报告中查看安全漏洞时感到舒适。
建立一个漏洞管理工作流。考虑创建标签和议题看板来管理从漏洞创建的议题。有了议题看板,所有的利益相关者就会有一个共同的议题视角病追踪修复进度。
监控安全仪表盘趋势来评估修复现有漏洞和防止引入新漏洞的成功程度。
更多详情,可查阅:
第五步:计划未来扫描作业
通过使用扫描执行策略来加强定时安全扫描作业。这些定时扫描作业独立于你可能在合规框架流水线或项目.gitlab-ci.yml
文件中定义的任何其他安全扫描而运行。
定时扫描对于那些开发活动低的项目或重要分支来说最有用,其中流水线扫描很少。
更多详情,可查阅:
第六步:限制新漏洞
要强制所需的扫描类型和确保安全和工程之间的职责分离,使用扫描执行策略。
要限制新漏洞被合并到你的默认分支中,创建一个合并请求批准策略。
在你熟悉扫描是如何工作的以后,你可以选择:
- 遵循相同的步骤在更多的项目中启用扫描。
- 一次强制扫描更多项目。
更多详情,可查阅:
第七步:持续扫描新漏洞
随着时间的流逝,你可能想要确保不要再引入新漏洞。
- 要浏览已经在你的仓库中发现的新的漏洞,定期运行依赖和容器扫描。
- 要扫描生产集群中的容器镜像以查找安全漏洞,启用操作容器扫描。
- 启用其他扫描类型,如 SAST、DAST 或模糊测试。
- 要允许 DAST 和 Web API 模糊测试在临时测试环境中运行,考虑启用审查应用程序(Review app)。
更多详情,可查阅: