自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

容器安全掃描工具推薦

安全 應用安全 數(shù)據(jù)安全
隨著越來越多的應用程序被容器化,容器安全也隨之變得越來越重要。在項目的流水線中, 我們可以使用漏洞掃描器進行掃描并提前獲得反饋,實現(xiàn) “安全左移” ,也可以更好的實踐敏捷。

在現(xiàn)代軟件開發(fā)中, 我們會使用一些公共鏡像作為基礎鏡像來快速構(gòu)建我們的應用鏡像,并將其部署到生產(chǎn)環(huán)境中。

隨著越來越多的應用程序被容器化,容器安全也隨之變得越來越重要。在項目的流水線中, 我們可以使用漏洞掃描器進行掃描并提前獲得反饋,實現(xiàn) “安全左移” ,也可以更好的實踐敏捷。

[[442058]]

基于容器的應用程序的安全痛點

現(xiàn)在,我們使用先進的技術(shù)來構(gòu)建我們的應用程序,如 NodeJS、 Java 和 Kotlin 等,然后將代碼庫存儲在托管的 Git 平臺上,如 GitHub、Gitlab 等。代碼庫由我們的業(yè)務代碼和依賴關(guān)系組成;對于依賴項,我們可以使用專業(yè)的掃描工具來確保安全,比如 NodeJS 的 npm audit , GitHub 的 Dependabot;至于我們的業(yè)務代碼,可以使用其他的一些安全工具可以掃描,比如 SoneQube 等。

因此,對于依賴( Dependencies)和我們的業(yè)務代碼,這些都在我們的控制之下,我們可以確保應用程序的安全性,并且在 Pipeline 上獲得快速反饋;同時在我們將應用程序部署到生產(chǎn)環(huán)境之前可以通過使用各種工具建立信心。但是,通常情況下我們的應用程序運行的系統(tǒng)環(huán)境是不受我們控制的,可能存在潛在的安全漏洞。在這我們可以換位思考一下,如果我們不能保證我們的應用程序運行的系統(tǒng)的環(huán)境安全,就會導致各種各樣意想不到的問題,如黑客攻擊、用戶信息泄露、財產(chǎn)損失,更會對公司的聲譽造成損害。所以,確保我們產(chǎn)出物(Artifact)的安全是很重要的。

保持容器鏡像安全的 兩個方案

[[442059]]

方案1:在鏡像注冊表中定期掃描

通過這種方式,我們需要為鏡像注冊表添加一個安全掃描程序,掃描程序可以是一個定時任務(Cron Job) 作業(yè),也可以是由特定的人觸發(fā)的可執(zhí)行操作。

如果是一個定時任務,它將在特定時刻由定時任務自動觸發(fā)。例如,Docker Hub 會在特定的時間掃描他們的官方注冊表,當有任何漏洞被掃描出來時,它會向鏡像維護者發(fā)送報警信息。

方案2:將掃描工具集成到 Pipeline 中

另一種方法是在 Pipeline 上對鏡像產(chǎn)物進行掃描,這樣更加簡單高效。當我們將代碼推送到代碼存儲庫時, Pipeline 將自動執(zhí)行掃描鏡像的命令。因為 Pipeline 每次都是無差別地執(zhí)行,所以我們可以發(fā)現(xiàn)任何安全問題并及時報警修復。

現(xiàn)在,越來越多的團隊或公司使用敏捷來開發(fā)他們的項目。如果我們能夠盡早地發(fā)現(xiàn)任何安全問題或者漏洞,我們就可以在產(chǎn)品發(fā)布之前降低產(chǎn)品的安全風險。Pipeline 是確保每一行代碼和基礎運行環(huán)境的安全性是的最好方法之一,因為它可以在提交代碼時自動執(zhí)行。

容器安全掃描工具對比

針對上述解決方案,我們調(diào)查了 Trivy、Claire、Anchore Engine、Quay、Docker hub 和 GCR 等幾種掃描工具,從不同維度進行對比。

參考 Trivy 官網(wǎng)

首先,我們可以將這些掃描工具按照其執(zhí)行的環(huán)境簡單分類;因為 Docker Hub、GCR 和 Quay 是需要在服務端也就是容器注冊中心運行的, 所以適合方案1;Trivy、Clair 和 Anchor Engine 可以在 Pipeline 上工作,所以適合解決方案2。

對于第一個維度:OS Package,這些所有的掃描工具都可以做到,但是對于第二個維度:Application dependencies,只有 Trivy 和 Anchore Engine 可以做到,對于第五個維度: Suitable for CI, 只有前三個符合條件。

對于漏洞數(shù)據(jù)庫的更新,Clair 會定期從一組配置的源中獲取漏洞元數(shù)據(jù)庫(Vulnnerability Database),并將數(shù)據(jù)存儲在其數(shù)據(jù)庫中,只要不獲取最新的漏洞元數(shù)據(jù),每次執(zhí)行都用之前的漏洞數(shù)據(jù)庫,漏洞數(shù)據(jù)庫的時效性有點差。Trivy 和 Anchore Engine 則是每次運行都將下載最新的漏洞數(shù)據(jù)庫并將其緩存在本地文件中,當掃描工具再次運行時,它將檢查并更新數(shù)據(jù)庫以保持數(shù)據(jù)庫為最新狀態(tài)。

同時,對于 Trivy、Clair 和 Anchore Engine,這三者的社區(qū)非?;钴S,所以我們不能用沒有人來幫你解決你的問題來評判;而且作為一種工具,它必須易于使用并且有良好的文檔可供參考。經(jīng)過調(diào)研,發(fā)現(xiàn) Trivy 的文檔非常詳細,非常友好, 而且 Trivy 的使用方式更加友好,比如我們可以過濾掉(.trivyignore)你指定的漏洞,對于最新發(fā)現(xiàn)的漏洞,官方?jīng)]有給出修復版本,這時候我們就可以忽略這個漏洞繼續(xù)構(gòu)建,但 Anchore Engine 做不到。

2020年3月16日,領先的云原生應用和基礎設施安全平臺供應商 Aqua Security 宣布,其開源的 Trivy 漏洞掃描器將作為一個集成選項添加到其使用的云原生平臺、CNCF 的 Harbor 注冊表和 Mirantis Docker Enterprise 中。你可以在這里找到這篇文章:https://blog.aquasec.com/trivy-vulnerability-scanner-joins-aqua-family。

Trivy集成到流水線中的使用方法

Trivy 支持多種掃描方式,如掃描容器鏡像、Git 倉庫和文件系統(tǒng)等;下面,我們使用 GitHub Actions 以 Docker 運行 Trivy 掃描構(gòu)建好的鏡像產(chǎn)出物來展示 Trivy 的強大之處,下面是 GitHub Actions 的部分代碼:

  1. - name: Trivy scanner 
  2.   run: | 
  3.          docker run --rm -v  
  4. /var/run/docker.sock:/var/run/docker.sock \ 
  5.            aquasec/trivy image --severity HIGH,CRITICAL  
  6. --exit-code 1 dashboard:${{ github.sha }} 

在這需要對以下幾個參數(shù)做特別說明:

(1) -v/var/run/docker.sock:/var/run/docker.sock

如果想掃描本地主機上的鏡像,需要掛載 docker.sock

(2) --severity 設置要掃描的漏洞級別

(3) --exit-code 發(fā)現(xiàn)漏洞時 Trivy 的退出狀態(tài)(默認值:0);在 Pipeline 中,如果將該值設置為1,且有漏洞被發(fā)現(xiàn),則 Pipeline 將退出,而不會繼續(xù)運行。如果將其設置為0,則 Pipeline 將繼續(xù)運行,但會報告結(jié)果。所以,如果你想在發(fā)現(xiàn)漏洞后阻止 Pipeline 繼續(xù)執(zhí)行,可以設置它為1。

想了解更多關(guān)于參數(shù)和使用方法的信息,請訪問 Trivy 的官方網(wǎng)站:https://github.com/aquasecurity/trivy。

總結(jié)

無論你在哪里,安全都是一個非常重要的問題。我們可以將 “安全左移(Shift Left Security)”,這樣就可以減少生產(chǎn)環(huán)境中的安全風險;對于掃描工具 Trivy 來說,它對于保證鏡像的安全性非常有用,它不僅可以掃描鏡像,還可以掃描 Git 倉庫,文件系統(tǒng)等。

最后,非常感謝同事張思楚、王亦晨和邢硯敏等人的大力支持和指導,在他們熱心幫助和辛苦付出之下才有了這篇文章。

【本文是51CTO專欄作者“ThoughtWorks”的原創(chuàng)稿件,微信公眾號:思特沃克,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2020-12-10 11:35:14

Web安全掃描工具漏洞

2025-04-08 09:46:56

2010-09-17 16:16:28

2021-04-27 06:45:23

Web安全工具

2014-05-15 10:07:29

2020-12-14 10:32:28

Web安全工具多線程

2020-04-03 16:07:31

DevSecOps開源安全工具

2023-11-12 22:29:13

2010-09-25 10:25:23

2019-11-08 09:12:35

Linux掃描儀軟件

2014-03-12 14:17:03

2010-09-26 13:25:16

2014-11-05 09:11:23

2025-01-20 13:23:17

2009-01-15 09:52:00

2014-09-19 15:37:11

WVS掃描工具安全掃描

2010-03-20 20:28:37

2015-08-21 09:07:52

LinuxNMAP安全

2018-09-10 11:07:19

2020-01-02 14:25:50

工具代碼開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號