為Docker容器保駕護(hù)航的8款工具
譯文【51CTO.com快譯】近些年來(lái),Docker容器受到許多漏洞的攻擊。攻擊實(shí)在太多了,許多公司推出針對(duì)安全的應(yīng)用程序以幫助增強(qiáng)該平臺(tái)。當(dāng)然,不僅僅為容器增添安全,或幫助構(gòu)建和運(yùn)行容器的引擎。從服務(wù)到最佳實(shí)踐,安全從頭開(kāi)始做起。
瞻博網(wǎng)絡(luò)的網(wǎng)絡(luò)策略主管James Kelly說(shuō):“不可能有哪種工具能一應(yīng)俱全,并保護(hù)企業(yè)組織遠(yuǎn)離可能出錯(cuò)的所有方面。”Kelly認(rèn)為,有很多方面需要考慮,包括安全編程實(shí)踐、構(gòu)建簽名、映像簽名、版本管理、安全網(wǎng)絡(luò)、為下一代防火墻(NGFW)針對(duì)入口-出口和東西流量執(zhí)行深度包檢查、高級(jí)威脅及預(yù)防、流量加密、訪問(wèn)控制列表、微分段和應(yīng)用程序API身份等。
安全在大規(guī)模環(huán)境下變得尤為重要。為此,Kelly堅(jiān)稱開(kāi)發(fā)人員和管理員必須考慮“多租戶、微分段以及容器化的NGFW服務(wù)鏈。”
但是,開(kāi)發(fā)人員和管理員可以使用哪些工具來(lái)增強(qiáng)容器部署的安全性呢?不妨一探究竟。
開(kāi)發(fā)映像
容器方面最大的安全問(wèn)題之一是構(gòu)建那些容器的映像。如果你基于受損的映像開(kāi)發(fā)容器,會(huì)造成嚴(yán)重破壞。為此,Alcide的首席技術(shù)官兼聯(lián)合創(chuàng)始人Gadi Naor說(shuō):“容器方面的最佳實(shí)踐是創(chuàng)建一個(gè)含有構(gòu)建工具的開(kāi)發(fā)容器映像,針對(duì)特定語(yǔ)言的工具鏈團(tuán)隊(duì)需要對(duì)其工程進(jìn)行迭代。通常,你從基礎(chǔ)操作系統(tǒng)映像開(kāi)始入手,然后將相關(guān)軟件包添加到所使用的運(yùn)行時(shí)語(yǔ)言中。”
換句話說(shuō),內(nèi)部構(gòu)建自己的映像。這應(yīng)該被認(rèn)為是部署容器的安全支柱。
Harbor
Harbor是一種開(kāi)源容器注冊(cè)中心,若與Red Hat的Clair漏洞掃描工具結(jié)合使用,還可以掃描映像查找已知漏洞。安裝后,Harbor充當(dāng)存儲(chǔ)庫(kù),然后可以掃描任何上傳的映像以查找問(wèn)題。對(duì)于所有容器開(kāi)發(fā)人員和管理員來(lái)說(shuō),這樣的掃描平臺(tái)都應(yīng)該被視為必不可少的工具。了解映像文件存在的問(wèn)題對(duì)于確保你在部署安全的容器大有幫助。
基于角色的訪問(wèn)控制
除了使用安全映像外,RBAC(基于角色的訪問(wèn)控制)應(yīng)該是每個(gè)容器工程師都完全了解的工具。RBAC確定是否允許用戶通過(guò)本地角色和綁定對(duì)特定項(xiàng)目執(zhí)行操作。如果你允許開(kāi)發(fā)人員訪問(wèn)集群,這意味著他們也可以訪問(wèn)Kubernetes API。為什么這如此重要?據(jù)Red Hat的容器首席產(chǎn)品經(jīng)理Scott McCarty聲稱:“如果開(kāi)發(fā)人員訪問(wèn)這些API,無(wú)論在間接的開(kāi)發(fā)環(huán)境中還是在直接的生產(chǎn)環(huán)境中(用于故障排除),基于角色的訪問(wèn)對(duì)于限制惡意或無(wú)意造成的破壞都至關(guān)重要。”
Hadolint
Hadolint是Haskell Dockerfile代碼檢查工具(linter)。正如你可以代碼檢查編程語(yǔ)言那樣,也可以代碼檢查靜態(tài)文件。但為什么代碼檢查Dockerfile呢?很簡(jiǎn)單:檢查優(yōu)化、編程錯(cuò)誤、缺陷、類型錯(cuò)誤、可疑構(gòu)件以及可能的故障。代碼檢查Dockerfile不僅帶來(lái)更整潔的代碼,還杜絕錯(cuò)誤,帶來(lái)更小的Docker映像。更棒的是,Hadolint可以集成到你的CI管道中,因此檢查你的代碼可自動(dòng)執(zhí)行。針對(duì)使用代碼檢查工具,Naor說(shuō):“它將促使此類用戶完善其容器創(chuàng)建技能,同時(shí)直接洞察安全最佳實(shí)踐。”
Snyk
Snyk有助于確定構(gòu)建期間潛在的運(yùn)行時(shí)應(yīng)用程序風(fēng)險(xiǎn)。具體來(lái)說(shuō),如果整合到CI管道中,Snyk可以不斷發(fā)現(xiàn)并修復(fù)容器中的漏洞。Snyk的工作原理是,檢查相關(guān)的OS軟件包管理器清單信息來(lái)掃描OS軟件包(每個(gè)映像),然后基于此信息,Snyk分析映像查找關(guān)鍵應(yīng)用程序二進(jìn)制文件,并將結(jié)果與已知的漏洞數(shù)據(jù)庫(kù)進(jìn)行比較。不像Harbor/Clair僅掃描映像查找漏洞,Snyk還可以掃描你的Dockerfile(如果包含在命令行中),對(duì)你的基本映像進(jìn)行更詳細(xì)的分析。
WhiteSource
WhiteSource是一種開(kāi)源安全和許可證合規(guī)管理平臺(tái),可自動(dòng)識(shí)別所構(gòu)建軟件中的所有組件和依賴項(xiàng)。使用WhiteSource搜索開(kāi)源組件時(shí),其瀏覽器插件會(huì)顯示任何報(bào)告的錯(cuò)誤、安全風(fēng)險(xiǎn)、不良許可證(由配置的策略來(lái)定義)、每個(gè)組件的新版本等等。若能使用類似WhiteSource的工具,你就可以對(duì)想要添加到容器構(gòu)建中的組件做出更合理的決策。
Kubernetes Advisor
Alcide提供了Kubernetes Advisor,這個(gè)多集群漏洞掃描器可以執(zhí)行最佳實(shí)踐和合規(guī)檢查,以便掃描漏洞、查找放錯(cuò)位置的機(jī)密內(nèi)容和過(guò)多的機(jī)密訪問(wèn)權(quán)限、加固工作負(fù)載、Istio安全配置、Ingress控制器的最佳安全實(shí)踐和Kubernetes API服務(wù)器訪問(wèn)權(quán)等。一旦你設(shè)置好了Kubernetes Advisor,可以通過(guò)一種易于使用的、基于Web的儀表板,對(duì)Kubernetes集群進(jìn)行持續(xù)的審核和合規(guī)。
Styra
如果你希望面對(duì)整個(gè)Kubernetes生態(tài)系統(tǒng)定義、執(zhí)行和驗(yàn)證安全,可能應(yīng)該考慮Styra。 Styra結(jié)合了開(kāi)源和專有解決方案,以提供合規(guī)保護(hù)機(jī)制,從而簡(jiǎn)化安全應(yīng)用程序的合規(guī)。有了Styra,你不再需要將合規(guī)硬編碼到軟件中。相反,你只需定義一次策略,之后就可以隨時(shí)隨地執(zhí)行策略。Styra包括內(nèi)置的合規(guī)策略庫(kù)、在提交之前能夠監(jiān)測(cè)和驗(yàn)證策略變更、使用聲明性模型來(lái)定義所需狀態(tài)以及防止安全漂移等。
當(dāng)然,有很多工具可以幫助你確保容器安全,但本文應(yīng)該是幫助你入門的起點(diǎn)。別忽視從頭開(kāi)始構(gòu)建安全容器的基本原則。此外在橫向擴(kuò)展時(shí),確保通過(guò)使用功能強(qiáng)大的工具獲得顯著的效果,從而深入開(kāi)展你的工作。
原文標(biāo)題:8 Tools To Secure Your Docker Containers,作者:Jack Wallen
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】