精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

將Docker鏡像安全掃描步驟添加到CI/CD管道

運維 數據庫運維
如今,鏡像安全掃描變得越來越流行。這個想法是分析一個Docker鏡像并基于CVE數據庫尋找漏洞。這樣,我們可以在使用鏡像之前知道其包含哪些漏洞,因此我們只能在生產中使用“安全”鏡像。

 

使用GitlabCI和Trivy

介紹

如今,鏡像安全掃描變得越來越流行。這個想法是分析一個Docker鏡像并基于CVE數據庫尋找漏洞。這樣,我們可以在使用鏡像之前知道其包含哪些漏洞,因此我們只能在生產中使用“安全”鏡像。

有多種分析Docker鏡像的方法(取決于您使用的工具)。可以從CLI執行安全掃描,也可以將其直接集成到Container Registry中,或者更好(在我看來),您可以將安全掃描集成到CI/CD管道中。最后一種方法很酷,因為它使我們能夠自動化流程并不斷分析所生成的圖像,從而符合DevOps的理念。

這是一個簡單的例子:


因此,今天我將向您展示如何設置集成到CI/CD管道中的鏡像安全掃描。

工具類

有多種工具可以執行鏡像安全掃描:

  • Trivy:由AquaSecurity開發。
  • Anchore:由Anchore Inc.開發。
  • Clair:由Quay開發。
  • Docker Trusted Registry:如果您使用Docker Enterprise,尤其是Docker Trusted Registry,則可以使用直接集成在注冊表中的即用型安全掃描程序。
  • Azure/AWS/GCP:如果您使用這些云提供程序之一,則可以輕松設置安全掃描。實際上,您不需要進行任何設置,只需要您的信用卡即可。:)

當然,還有更多開放源代碼或專有工具可以實現該目標。對于本教程,我將在GitlabCI管道上使用Trivy。

Trivy快速概述

Trivy是一種易于使用但準確的圖像安全掃描儀。安裝非常簡單:

  1. $ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/master/contrib/install.sh | sh -s--b / usr / local / bin $ sudo mv ./bin/trivy / usr / local / bin / trivy $ trivy --version  

及其用法:

  1. $ trivy image nginx:alpine 

給我們這樣的輸出: 


就如此容易。

有關更多信息:Trivy的Github

添加一個簡單的Docker鏡像

為了說明將安全掃描包含在CI/CD管道中,我們需要一個Docker鏡像作為示例。我將使用該簡單的Dockerfile:

  1. FROM debian:buster 
  2. RUN apt-get update && apt-get install nginx -y 

 這個Dockerfile非常簡單。它從正式的debian buster映像開始,并添加了nginx的安裝。

我們稍后將在CI/CD管道中構建該映像,但是我們可以如下構建它:

  1. $ docker build -t security_scan_example:latest。 

現在,我們只需要創建一個Gitlab項目并將Dockerfile推送到該項目中即可。

創建一個簡單的CI/CD管道

現在,我們已經為示例鏡像創建了Dockerfile,我們可以創建CI/CD管道來構建鏡像并使用Trivy對其進行掃描。

毫不奇怪,由于我們正在使用Gitlab,因此我們將在我們的CI/CD管道中使用GitlabCI。首先,讓我們添加構建部分:

  1. build: 
  2.   stage: build 
  3.   image: docker:stable 
  4.   services: 
  5.     - docker:dind 
  6.   tags: 
  7.     - docker 
  8.   before_script: 
  9.     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY 
  10.   script: 
  11.     - docker build -t $CI_REGISTRY_IMAGE:latest  . 
  12.     - docker push $CI_REGISTRY_IMAGE:latest 

 該作業在基于docker:stable映像的容器上運行。它基于我們之前推送的Dockerfile構建項目的映像,然后將映像推送到Gitlab容器注冊表中。

現在讓我們添加有趣的部分:

  1. security_scan: 
  2.   stage: test 
  3.   image:  
  4.     name: aquasec/trivy:latest 
  5.     entrypoint: [""
  6.   services: 
  7.     - docker:dind 
  8.   tags: 
  9.     - docker 
  10.   script: 
  11.     - trivy --no-progress --output scanning-report.txt  $CI_REGISTRY_IMAGE:latest 
  12.   artifacts: 
  13.     reports: 
  14.       container_scanning: scanning-report.txt 

 這項工作是我們的安全掃描工作。這次,它在基于Trivy官方圖像的容器上運行。它基于trivy命令掃描鏡像,并將報告輸出到名為scanning-report.txt的文件中

太好了!讓我們看一下我們的GitlabCI管道,該管道應該在推送后自動運行。我們可以看到我們的兩個作業都成功運行了:

 

讓我們看一下安全掃描作業:

 

images

報告在哪里?

如您在掃描作業的結果中看到的,我們有多個漏洞,更確切地說是114個“低”和8個“中”,24個“高”和1個“嚴重”漏洞。

我們希望獲得有關這些漏洞的更多詳細信息。默認情況下,Trivy在標準輸出中打印報告。在此示例中,我們告訴trivy將報告輸出到文件中,并根據該文件創建了作業工件。因此,該報告可按以下方式下載:


images

下載后,我們可以查看報告以獲取更多詳細信息:

images

我們可以看到我們有更多有關掃描程序發現的漏洞的信息,例如受影響的庫/二進制文件,CVE ID,嚴重性,可能的修復程序等。

現在怎么辦 ?

好的,現在我們已經將鏡像掃描集成到CI / CD管道中,現在的問題是如何處理這些信息?

當前,安全掃描作業永遠不會失敗,因為trivy命令默認情況下返回0。如果鏡像“不安全”,則使工作失敗,否則,則可以使工作成功,從而改善這種情況。

問題是,什么時候失敗?顯然,我們不能簡單地說“每當發現一個漏洞時就會失敗”,因為我們的映像很可能至少會存在一些漏洞。答案很難說,因為它取決于您要實現的安全級別。通常,我們希望盡可能避免嚴重漏洞。答案還取決于您獲得的漏洞。您能忽略其中一些嗎?這取決于您。這就是為什么與安全團隊持續合作可以從這些掃描中受益匪淺的原因。

對于此示例,如果我們只有一個嚴重漏洞,我們將使我們的CI/CD管道失敗,否則將成功。

幸運的是,trivy允許我們使用“嚴重性”選項僅查找特定嚴重性的漏洞。我們還可以借助“退出代碼”選項來處理退出代碼,告訴trivy如果發現一個漏洞,則返回1,否則返回0。

因此,如果發現一個或多個“關鍵”漏洞,我們將更改掃描作業以使其失敗,例如:

  1. script: 
  2.   - trivy --no-progress --output scanning-report.json $CI_REGISTRY_IMAGE:latest 
  3.   - trivy --exit-code 1 --no-progress --severity CRITICAL $CI_REGISTR_IMAGE:latest 

 因此,當執行我們的作業時,我們仍然可以下載完整的報告,但是這次,CI/CD作業將成功還是失敗,這取決于trivy是否發現了嚴重漏洞:

最后一步……

好的,我們的CI/CD管道看起來很棒!我們需要處理最后一件事……

目前,僅在構建/推送圖像時才對其進行分析。這很酷,但不足。確實,我們的掃描工具使用的CVE數據庫每天都有新的漏洞在發展。今天的“安全”鏡像明天可能(而且很可能)不安全。因此,我們需要在第一次推送圖像后繼續對其進行掃描。

好吧,讓我們添加一個計劃的管道,比如說每晚2AM掃描鏡像。我們需要進入CI/CD->時間表->新時間表:

注意:我們使用“ security_scan”值定義了一個名為SCHEDULED_PIPELINE的變量。稍后我們將看到此變量的目的。

這樣做,我們的管道將被完全執行,包括構建部分。這不是我們真正想要的。因此,我們將修改gitlabCI文件,以使計劃的管道僅執行掃描作業。

我們將添加一個額外的掃描作業,其中包含與上一個作業完全相同的定義,并帶有一個額外的“only”選項,使其僅在變量SCHEDULED_PIPELINE(我們先前在計劃的管道中定義)等于“ scanning_scan”時才可執行。為了避免代碼冗余,我們將使用作業模板。

因此,我們最終的gitlabCI文件如下所示:

  1. .scanning-template: &scanning-template 
  2.   stage: test 
  3.   image: 
  4.     name: aquasec/trivy:latest 
  5.     entrypoint: [""
  6.   services: 
  7.     - docker:dind 
  8.   tags: 
  9.     - docker 
  10.   script: 
  11.     - trivy --no-progress --output scanning-report.json  $CI_REGISTRY_IMAGE:latest 
  12.     - trivy --exit-code 1 --no-progress --severity CRITICAL $CI_REGISTR_IMAGE:latest 
  13.   artifacts: 
  14.     reports: 
  15.       container_scanning: scanning-report.json 
  16. build: 
  17.   stage: build 
  18.   image: docker:stable 
  19.   services: 
  20.     - docker:dind 
  21.   tags: 
  22.     - docker 
  23.   before_script: 
  24.     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY 
  25.   script: 
  26.     - docker build -t $CI_REGISTRY_IMAGE:latest  . 
  27.     - docker push $CI_REGISTRY_IMAGE:latest 
  28.   except
  29.     variables: 
  30.       - $SCHEDULED_PIPELINE 
  31. security_scan: 
  32.   <<: *scanning-template 
  33.   except
  34.     variables: 
  35.       - $SCHEDULED_PIPELINE 
  36. security_scan:on-schedule: 
  37.   <<: *scanning-template 
  38.   only
  39.     variables: 
  40.       - $SCHEDULED_PIPELINE == "security_scan" 

 這樣,當我們推送一些代碼時,我們的標準管道(構建+掃描)將正常執行,而調度的管道將每天凌晨2點執行安全掃描作業。

我們如何解決這些漏洞?

通常,通過升級映像。在我們的情況下,我們可能會升級基礎映像(或者可能使用另一個鏡像,例如Alpine)或升級我們安裝的nginx。

另一個答案可能是通過刪除映像中不必要的內容,無論如何構建docker映像都是一個好習慣。安全掃描可以幫助您檢測實際未使用的組件。

在我們的情況下,讓我們更改基本圖像并改為使用Alpine:

  1. FROM alpine:3.12RUN apk update && apk add nginx -y 

這次,我們的管道成功了……:

……沒有一個漏洞。

結論

因此,我們已經看到了如何將安全掃描作業集成到GitlabCI管道中,這非常簡單(至少使用Trivy)。當然,在我的示例中,我在單個master分支中完成了所有操作。在現實世界中,我們將進行多分支項目,這需要進行一些調整。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-05-19 09:00:00

安全CI/CD工具

2023-06-26 14:03:31

2019-07-25 10:31:55

AWSDevOps架構

2022-02-22 09:00:00

軟件開發CI/CD 管道工具

2023-05-04 16:03:50

KubernetesCI/CD集成

2021-07-02 16:30:01

CICDDevOps

2020-12-15 16:13:21

DevSecOpsCICD

2023-01-30 15:55:08

2021-09-26 09:26:46

開發安全CICD管道

2021-05-26 14:39:27

FedoraLinux企業域

2011-11-15 14:52:39

Mac OSWindows域

2021-07-28 13:23:32

CICD管道安全漏洞

2023-02-19 15:28:39

CI/CD 管道集成開發

2011-07-18 10:32:39

域控制器

2018-08-24 09:00:00

DevOps持續集成連續部署

2023-05-24 16:20:39

DevOpsCI/CD 管道軟件開發

2020-02-11 12:54:34

Linux日志文件消息

2021-08-31 09:00:00

開發Azure DevOp集成

2023-04-18 08:17:11

GitLab持續集成

2018-08-15 14:56:51

windows 10引導菜單安全模式
點贊
收藏

51CTO技術棧公眾號

日韩国产一区三区| 午夜精品一区二区三区免费视频| 国产专区欧美专区| 久久久无码一区二区三区| 高清日韩欧美| 色婷婷激情久久| 手机福利在线视频| 熟妇人妻一区二区三区四区 | 亚洲综合久久网| 欧美丰满日韩| 亚洲电影av在线| 91小视频网站| 欧美日韩经典丝袜| 久久精品夜色噜噜亚洲aⅴ| 国产精品影片在线观看| 久久无码精品丰满人妻| 国产精品视频一区二区三区四蜜臂| 欧美日韩三级视频| 日本xxxxxxxxxx75| 国产盗摄在线观看| 国产亚洲精品免费| 成人国产1314www色视频| 中文字幕第一页在线播放| 好看不卡的中文字幕| 一区国产精品视频| 国产精品一区二区无码对白| 精品福利在线| 欧美性jizz18性欧美| 97超碰国产精品| 日本在线免费| 国产日韩欧美综合在线| 国产福利久久| 国产乱人乱偷精品视频a人人澡| 国产色综合网| 欧美高跟鞋交xxxxhd| 成人午夜免费影院| 深爱激情综合网| 亚洲精品久久久久久久久久久| 91网址在线观看精品| 精品裸体bbb| 在线欧美日韩国产| 国产极品尤物在线| 国产盗摄一区二区| 亚洲黄色片在线观看| 中文字幕中文字幕99| av在线电影网| 国产欧美精品在线观看| 欧美在线视频二区| 麻豆影视在线| 久久久精品2019中文字幕之3| 国产精品视频在线免费观看| www.色播.com| 国产精品中文字幕一区二区三区| 成人欧美在线观看| 一级爱爱免费视频| 久久99久久久久| 成人激情在线播放| 国产精品一区二区人人爽| 麻豆一区二区在线| 91精品久久久久久久久久久久久久 | 国产视频一区二区三区在线播放 | 国产成人小视频在线观看| 亚洲图片在线视频| 日韩国产在线观看一区| 国产精品扒开腿爽爽爽视频| 国产裸体美女永久免费无遮挡| 葵司免费一区二区三区四区五区| 日本亚洲欧美成人| 中文字幕日韩经典| 韩国女主播成人在线| 亚洲直播在线一区| 日本精品一二区| 91麻豆视频网站| 先锋影音亚洲资源| 国产不卡在线| 亚洲一级电影视频| 午夜肉伦伦影院| 精品123区| 日韩欧美国产一区在线观看| 91精品啪在线观看国产| 一区二区三区韩国免费中文网站| 一区二区三区 在线观看视| 日韩av片在线免费观看| 欧美日韩亚洲一区三区 | 五月天综合激情网| 日本亚洲欧美天堂免费| 成人综合网网址| 欧性猛交ⅹxxx乱大交| 久久先锋影音av| 亚洲日本欧美在线| 国内在线视频| 欧美午夜免费电影| 师生出轨h灌满了1v1| 日韩伦理一区二区三区| 色噜噜久久综合伊人一本| 免费无遮挡无码永久在线观看视频| 一本久道久久久| 国产精品午夜国产小视频| 亚洲AV无码一区二区三区少妇| 91影院在线免费观看| 一本一道久久a久久精品综合 | 亚洲午夜久久久久久久久久久| 国产麻花豆剧传媒精品mv在线| 日韩护士脚交太爽了| 亚洲国产精品一区二区三区| 人妻互换一区二区激情偷拍| 黑人一区二区| 91精品视频在线免费观看| 性xxxx搡xxxxx搡欧美| 中文字幕亚洲区| 伊人成色综合网| 另类视频一区二区三区| 亚洲天堂av在线免费观看| 麻豆视频在线观看| 美女爽到高潮91| 久久久久网址| 欧美人动性xxxxz0oz| 欧美在线影院一区二区| 30一40一50老女人毛片| 欧美日韩91| 成人性教育视频在线观看| 欧美91精品久久久久国产性生爱| 一级日本不卡的影视| 久热精品在线观看视频| 嫩草一区二区三区| 91精品国产高清自在线 | 国产精品一品二品| 亚洲午夜高清视频| 日韩中文视频| 亚洲视频日韩精品| www.毛片.com| 97久久精品人人做人人爽| 精品日韩在线播放| 日韩黄色三级在线观看| 国产一区二区久久精品| 国产婷婷色一区二区在线观看| 成人深夜在线观看| 久久av高潮av| 欧美片网站免费| 久久久精品久久久久| 一区不卡在线观看| 国产精品婷婷午夜在线观看| 色哟哟精品视频| 精品久久成人| 国产精品一区二区三区免费视频 | 97久久伊人激情网| 黄色片网站免费在线观看| 亚洲精品免费在线| 伊人影院在线观看视频| 一区二区蜜桃| 999在线免费观看视频| 成码无人av片在线观看网站| 欧美精选午夜久久久乱码6080| 殴美一级黄色片| 理论电影国产精品| av电影一区二区三区| 国产精品高清一区二区| 欧美刺激性大交免费视频| 国内老熟妇对白hdxxxx| 亚洲一区免费视频| japanese在线观看| 亚洲一区二区毛片| 日产精品一线二线三线芒果| 日韩欧美一区二区三区免费观看 | 国产精品日本| 日韩国产欧美精品| 免费成人高清在线视频| 欧美成人合集magnet| 国产自产一区二区| 无码av免费一区二区三区试看| 搡老熟女老女人一区二区| 国产日韩欧美一区二区三区在线观看| 蜜桃导航-精品导航| 色天使综合视频| 久久伊人免费视频| 亚洲精品国产av| 精品日本高清在线播放| 日本爱爱爱视频| 国产精品一区二区在线观看网站| 成人午夜视频在线观看免费| 男男gay无套免费视频欧美| 成人a在线视频| 99热99re6国产在线播放| 日韩电影免费观看在线观看| 少妇无套内谢久久久久| 亚洲欧美日韩久久精品| 午夜视频在线观看国产| 奇米888四色在线精品| 亚洲黄色网址在线观看| 亚洲电影一级片| 成人免费在线视频网址| 在线播放高清视频www| xvideos亚洲人网站| 日本免费网站在线观看| 欧美日韩免费观看一区二区三区| 欧美三级日本三级| 久久久久88色偷偷免费| 一区二区三区国产好的精华液| 一本一本久久| 亚洲黄色网址在线观看| 欧美伦理在线视频| 国产嫩草一区二区三区在线观看| 国产精品久久久久久久久免费高清| 欧美大秀在线观看| 婷婷视频在线| 日韩激情第一页| www.色日本| 欧美精品视频www在线观看| 亚洲精品视频在线观看免费视频| 国产精品人成在线观看免费| 蜜桃传媒一区二区亚洲av| 国产麻豆视频精品| av网站在线不卡| 亚洲影音先锋| 国产一区二区三区小说| 99久久夜色精品国产亚洲狼| 欧美另类一区| 国产伦乱精品| av成人观看| 91精品网站在线观看| 国产91亚洲精品| 僵尸再翻生在线观看免费国语| 精品中文字幕在线2019| 最新国产在线观看| 亚洲人成电影网站| 无码精品黑人一区二区三区| 日韩欧美中文字幕一区| 一级做a爱片久久毛片| 一本大道久久a久久精二百| 国产成人无码一区二区三区在线| 亚洲美女区一区| 69夜色精品国产69乱| 亚洲国产精品t66y| 精品日韩在线视频| 久久精品人人做| 加勒比一区二区| 久久蜜桃香蕉精品一区二区三区| 天堂www中文在线资源| 国产成人av一区二区三区在线观看| 美女网站色免费| 麻豆精品在线观看| 在线黄色免费观看| 久久精品国产精品亚洲红杏 | 国产亚洲精品精品国产亚洲综合| 日韩免费av在线| 欧美www.| 国产精品视频久| 国产乱子精品一区二区在线观看| 国产精品高潮呻吟久久av无限 | 91夜夜揉人人捏人人添红杏| 亚洲一区二区小说| 91麻豆桃色免费看| 日本99精品| 国产精品一区二区在线观看| 97一区二区国产好的精华液| 国产欧美日韩综合精品二区| 国产欧美自拍一区| 欧美精品成人一区二区在线观看| 要久久爱电视剧全集完整观看| 欧美精品123| 久久免费大视频| 九一免费在线观看| 影音先锋久久久| 免费在线激情视频| a天堂中文在线| 久久中文资源| 国内精品视频在线播放| 综合干狼人综合首页| 日韩欧美视频一区二区| 999视频精品| 男人天堂新网址| 亚洲综合另类| 日本中文字幕高清| 国产一区二区中文字幕| 亚洲最大视频网| 91亚洲精品久久久蜜桃| 天天干天天舔天天操| 亚洲免费观看高清在线观看| 久久久一区二区三区四区| 黑人精品xxx一区| 中文字幕人妻互换av久久| 日韩无一区二区| 性高潮久久久久久久久久| 在线观看免费高清视频97| 最新黄网在线观看| 日韩av不卡电影| 欧美午夜网站| 日本最新一区二区三区视频观看| 中文字幕一区二区av| 丰满少妇被猛烈进入高清播放| 奇米精品一区二区三区在线观看一| 17c国产在线| 91麻豆产精品久久久久久| 乱老熟女一区二区三区| 亚洲一级不卡视频| 一卡二卡三卡在线| 日韩激情av在线播放| a级影片在线| 国产成人久久精品| japanese色系久久精品| 视频二区一区| 国产日韩专区| 色婷婷狠狠18禁久久| 久久精品一区二区三区四区| 欧美精品videos极品| 欧美午夜电影在线播放| 色呦呦中文字幕| 久久中文字幕在线视频| 在线国产成人影院| 国内外成人免费视频| 欧美黄色一区二区| 精品少妇无遮挡毛片| eeuss国产一区二区三区| 国产成人自拍网站| 在线免费观看日本欧美| 五月色婷婷综合| 欧美第一淫aaasss性| 色综合久久久| 色女人综合av| 可以免费看不卡的av网站| 日本一级片在线播放| 一区二区免费在线播放| 亚洲一级av毛片| 亚洲一二在线观看| 欧美aa一级| 国产一区二区精品在线| 国产精品国码视频| 午夜啪啪小视频| 国产精品久久免费看| 日日夜夜狠狠操| 精品无码久久久久久国产| heyzo高清中文字幕在线| 99理论电影网| 欧美日韩国产高清| 国产不卡的av| 亚洲欧美另类综合偷拍| 国产又黄又粗又猛又爽| 精品国产依人香蕉在线精品| 另类一区二区| 日韩国产精品毛片| 国产美女在线精品| 日本天堂中文字幕| 欧美一区二区三区视频在线| 成人直播在线| 91嫩草免费看| 亚洲天堂久久| 日韩无码精品一区二区| 调教+趴+乳夹+国产+精品| 五月婷婷久久久| 国产91在线播放九色快色| 久久93精品国产91久久综合| 日av中文字幕| 中文字幕免费一区| 一本一道精品欧美中文字幕| 久久天天躁狠狠躁老女人| 免费一级欧美片在线观看网站| 亚洲小视频在线播放| 岛国精品一区二区| 国产成人精品一区二三区| 亚洲区中文字幕| 韩国精品视频在线观看 | 成人夜晚看av| 欧美激情第8页| 欧美xxxxx精品| 欧美色另类天堂2015| av午夜在线| 亚洲综合在线播放| 99热在线精品观看| 亚洲自拍偷拍图| 7777女厕盗摄久久久| 国产丝袜在线播放| 欧美日韩电影一区二区| 日本伊人午夜精品| 外国一级黄色片| 日韩激情av在线播放| 国产精品原创视频| 草b视频在线观看| 久久精品人人做人人爽97| 99久久精品国产色欲| 97涩涩爰在线观看亚洲| 欧美一站二站| 潘金莲一级淫片aaaaaaa| 精品国产老师黑色丝袜高跟鞋| 高清中文字幕一区二区三区| 91精品视频一区| 国产精品久久久久久久久久妞妞 | 亚洲成人资源在线| 国产中文字幕在线看| 91精品免费视频| 男女精品视频| 日本一级二级视频| 亚洲三级黄色在线观看| 玖玖玖电影综合影院| 欧美污视频网站| 一区二区在线免费| 成人免费高清在线播放| 国产精品一区视频网站| 精品一区二区国语对白| 国产精品久免费的黄网站| 九九热r在线视频精品|