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