极狐 GitLab DevSecOps
极狐 GitLab DevSecOps 具备七大平安性能:容器镜像扫描、动态利用平安测试 (SAST)、动静利用平安扫描(DAST)、密钥检测、License 合规、依赖项扫描以及含糊测试,笼罩了软件开发的全生命周期。极狐 GitLab DevSecOps 除了可能助力用户真正的做到平安左移和继续自动化以外,还具备以下特点:
- 使用方便,用户敌对
用户在开启 DevSecOps 性能(旗舰版用户默认可见可用,其余版本用户如果想用,能够申请收费试用,流程参考文章结尾章节)之后,只须要在 CI/CD Pipeline 中进行简略配置(个别仅为寥寥数行代码,下文会演示)即可开始应用,用户无需装置配置第三方工具或插件,加重了保护多种平安工具链所带来的工作累赘,同时对研发、平安、运维等人员也十分敌对(只需简略配置 yaml 文件即可),晋升了上述人员的应用体验。
- 后果可视,公开通明
所有平安扫描后果都会在平安面板进行对立展现,能够依据不同的过滤器选项来失去指定平安防护伎俩的平安报告,只有是与此相关相干且曾经获取受权的人员,都能够查看到相应的平安报告,包含破绽内容,修复策略等。
- 追踪不便,便于管理
能够通过配置,在提交 MR 的时候,对于所提交代码进行平安扫描,整个扫描后果最终会显示在 MR 中,如果发现有安全漏洞,能够立马创立相应的 Issue 来对此破绽进行追踪治理。这种和研发工作流相结合的形式可能大大缩短安全漏洞的修复工夫,同时整个过程是公开通明的,可能让团队成员之间建设起良好的信赖。
后面的文章中别离介绍了极狐 GitLab DevSecOps 性能中的容器镜像扫描、敏感信息检测以及依赖扫描:
极狐 GitLab DevSecOps 之容器镜像扫描
极狐 GitLab DevSecOps 之敏感信息检测
极狐 GitLab DevSecOps 之依赖项扫描
本文来演示极狐 GitLab DevSecOps 性能中 SAST 的用法。
SAST
SAST 是 Static application security testing 的缩写,也即动态应用程序平安测试,俗称动态剖析,是一种应用程序的平安测试伎俩,呈现较早,次要是通过剖析源码来发现潜在的安全漏洞,从而确保软件平安。
SAST 属于白盒测试,剖析后果可能准确到代码行数,而且通常是在代码编译之前进行,因而属于 SDLC 的晚期,修复问题的老本绝对较低。
极狐 GitLab DevSecOps 之 SAST
极狐 GitLab 的 SAST 性能反对多种语言,包管理器,框架等,诸如 Java、Go、.Net、JavaScript、Node.js 等,Helm Charts、Kubernetes manifests 等,React。只须要在极狐 GitLab CI/CD 中退出如下两行代码即可使能 SAST:
include:
- template: Security/SAST.gitlab-ci.yml
上面通过一个 Demo Repo 来演示应用流程。Demo Repo 很简略,代码目录如下:
├── Dockerfile
├── README.md
└── main.go
main.go 的内容如下:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello, this is JiHu!!")
}
func main() {http.HandleFunc("/jihu", handler)
http.ListenAndServe(":9998", nil)
}
触发 CI/CD Pipeline,查看剖析后果:
在平安仪表盘(平安与合规 –> 破绽报告)能够看到具体的报告:
与极狐 GitLab workflow 的联合
SAST 的剖析后果只是保障软件平安的其中一步,重要的是可能对问题进行追踪治理,不便相干人员进行修复。而对于极狐 GitLab 来讲,能够将 SAST 与 MR 无缝集成。构建起一个规范的端到端软件平安交付流水线:
同样应用上述的 Demo,在创立 MR 的时候,会触发 CI/CD 进行 SAST 剖析,最终的后果会展现在 MR 中:
紧接着就能够通过创立 Issue 来对相应的 SAST 破绽进行追踪治理:
极狐 GitLab DevSecOps 性能试用申请
DevSecOps 性能是极狐 GitLab 旗舰版专属的,然而用户能够申请收费试用。
抉择一个想要应用 DevSecOps 性能的 Group,点击左侧导航栏中的平安,能够看到如下界面并点击 开始收费应用:
在呈现的表单中输出相应的信息,点击 持续:
点击 开始收费试用 即可:
接着就能够看到 DevSecOps 性能曾经开启: