DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

weixin_44821942 2022-11-15 18:34:39

极狐GitLab 在 14.5 中引入了基础设施即代码(Infrastructure as code,即 IaC)的安全扫描功能。主要针对 IaC 配置文件中的已知漏洞进行扫描。目前支持的配置文件类型有 Ansible、Dockerfile、Kubernetes 以及 Terraform 等。

 

 

极狐GitLab IaC 安全扫描功能

 

目前 IaC 扫描在极狐GitLab SAST 功能下面,使用方式也很简单,只需要在 CI/CD 中加入如下代码即可使用:

 

include:
  - template: Security/SAST-IaC.latest.gitlab-ci.yml

 

 

 

使用极狐GitLab IaC 扫描功能

 

用 IaC 扫描功能进行 Dockerfile 扫描

 

使用云原生时代,保证容器镜像安全分几步?中的 Dockerfile 来进行扫描。Dockerfile 内容如下:

 

FROM golang:1.12.9-alpine3.9 as builder
WORKDIR /tmp
COPY main.go /tmp
RUN go build main.go

FROM alpine:latest
WORKDIR /usr/src/app/
RUN addgroup -S jh && adduser -S devsecops -G jh
COPY --from=builder --chown=devsecops:devsecops /tmp/main /usr/src/app/
USER devsecops
CMD ["./main"]

 

将上述 Dockerfile 托管到极狐GitLab SaaS 的 Repo 上,并在仓库中添加 .gitlab-ci.yml 文件写入 IaC 安全扫描的内容:

 

stages:          
  - test

include:
  - template: Security/SAST-IaC.latest.gitlab-ci.yml

 

接着可以触发 CI/CD Pipeline 并查看构建日志。

 

 

 

IaC 扫描与 MR 的集成以及漏洞管理

以下内容为是极狐GitLab 旗舰版功能

 

如果是旗舰版用户,可以在MR中看到扫描结果:

 

 

可以看到 SAST 检测中检测到三个漏洞:使用了 latest 镜像 tag、没设置容器启动用户以及未添加 HEALTHCHECK。可以根据漏洞的情况来决定是进行修复还是忽略。可以直接点击漏洞在出现的界面上进行 issue 创建来完成漏洞的跟踪或者直接忽略该漏洞:

 

 

根据提示修复(修复了镜像 tag 与启动用户添加,忽略了 HEALTHCHECK)之后,提交代码后会自动触发安全扫描:

 

 

可以看到只扫描出来了一个漏洞(HEALTHCHECK)且已经标注了忽略,接着直接点击合并进行代码合入即可。

 

当然,所有的漏洞都会在极狐GitLab 安全面板上进行展示:

 

 

上面是使用极狐GitLab IaC 扫描功能对于 Dockerfile 进行扫描并修复,其他的 IaC 文件也是同样的使用方法,诸如 Ansible、Terraform。在 CI/CD 中调用扫描功能即可开启安全扫描。在旗舰版功能中还能将安全扫描结果与 MR 相结合,进一步确保变更的质量。

 

...全文
25 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-网络空间安全 发布问题, 以便更快地解决您的疑问
发帖
开发者生态英雄会

342

社区成员

这里是CSDN社区云内技术市场、开源布道、开发者关系运营、生态创新者的大本营,大家可在此集中讨论工作中遇到的问题,以及资源互助等。同时也是CSDN社区云的服务社区,相关问题24小时内回复。
其他 其他
社区管理员
  • 开发者生态英雄会
  • 社区云(官方)
  • DeveloperCommunity
加入社区
帖子事件
创建了帖子
2022-11-15 18:34
社区公告

如想加入开发者生态运营人员同行交流群,请备注【公司-职位-姓名】,↓↓↓  扫下方二维码联系工作人员: