摘要:為容器設計的商業(yè)安全套件,功能包括安全審計容器鏡像驗證運行時保護自動策略學習或入侵預防。基于一種稱為的新內核技術,允許根據(jù)容器身份定義并執(zhí)行網(wǎng)絡層和層安全策略。自動發(fā)現(xiàn)應用程序容器和服務的行為,以及與其他類似方式檢測安全升級和其他威脅。
數(shù)人云:隨著越來越多的企業(yè)將生產工作負載遷移到容器當中,關于Docker的安全性,成了普遍關注的問題。
這是一個簡單卻又沒有答案的問題,不要試圖用二進制的方式去考慮Docker安全性,最好深入地去了解Docker的工作細節(jié),以了解Docker安全模式的運行方式。
先來看看Docker是如何工作的,以及這對容器安全意味著什么。
Docker有兩個關鍵部分:Docker Engine、Docker Hub。后者是Docker的官方注冊中心,這兩個部分都非常重要,需要了解每個組件的組成,哪些需要被保護以及如何操作,先從Docker Engine引擎說起:
〓 Docker Engine
Docker Engine 從容器鏡像文件中運行容器,以及管理網(wǎng)絡和存儲容量,保護Docker Engine需要從兩個方面——Namespaces 和 Control Groups。
Namespaces是Docker從Linux內核繼承的特性,將容器進行隔離,這樣容器中的每個進程都無法看到相鄰容器中運行的進程。
最初,Docker容器默認是根用戶運行,但自V1.10依賴,Docker支持Namespaces允許以非Root用戶的身份運行容器,但因其實關閉的,所以在使用之前需要激活。
Docker中支持Control Groups或Cgroups,允許設置CPU、內存、網(wǎng)絡和Block IO的限制,容器默認可以使用無限數(shù)量的系統(tǒng)資源,所以設置限制非常重要,否則整個系統(tǒng)可能會受到Hungry 容器的影響。
除了Namespaces和Control Groups外,Docker Engine還可以通過使用SELinux和AppArmor等附加工具進一步加強。
SELinux為內核提供訪問控制,根據(jù)用戶為主機設置的策略,可以基于在容器中運行的流程類型或級別來管理訪問,基于此,它可以啟動或限對主機的訪問。
AppArmor在主機上運行的每個進程都有一個安全配置文件,定義了流程可以利用的資源,Docker將默認配置文件應用到流程中,同時用戶也可以應用自定義文件。
Similar與AppArmor類似,使用安全配置文件限制進程調用的數(shù)量,這是Docker Engine提供的基于Linux的內核安全特性列表。
〓 Docker Hub
雖然Docker Engine可以對容器進行管理,但它需要Docker棧的另外一半來拉取容器鏡像,即Docker Hub容器注冊表,存儲和共享著容器鏡像。
任何人都可以創(chuàng)建容器鏡像,并將其公開供人下載,這既是一件好事,但同時也是一件壞事,好是因為支持開發(fā)者之間的協(xié)作,只需點擊即可容易地將操作系統(tǒng)或應用實例化,但如果下載一個具有脆弱性的公共容器鏡像,就會很糟糕。
根據(jù)經(jīng)驗法則,下載官方存儲庫,大多數(shù)常用工具都可以使用,并且不從未知的作者那里下載存儲庫,最重要的是,每個下載的容器鏡像都應該掃描到漏洞。
對于私有存儲庫的用戶,Docker Hub將掃描下載的容器鏡像,它可以掃描一些免費的存儲庫,而后如果將掃描作為一個附加組件的話,需要付費。
Docker Hub并不是Docker容器的唯一注冊服務,其他受歡迎的注冊中心包括:Quay、AWS ECR、和GitLab Container Registry,這些工具也具備掃描的功能,另外Docker Trusted Registry(DTR)可以在付費后,安裝在防火墻之后。
Docker是一個錯綜復雜的有著各種移動和靜態(tài)部件的網(wǎng)絡,顯然插入這些安全工具中的任何一個都不會立即使整個堆棧安全,在所以層面上,都需要結合這些方法來確保Docker的安全。
因此,下次有人問Docker是否安全時,應該反問他們,是指的Docker的哪一個部分?然后,向其解釋影響該層的各種安全注意事項。
盡管上面的安全功能為Docker Engine和Docker Hub提供了基本的保護,但它們缺乏專用容器安全工具的強大功能,像Twistlock這樣的工具可以完全保護你的Docker棧,它超越了任何一個部分,并且可以讓用戶對系統(tǒng)有一個整體的看法,下面介紹一些Docker 安全工具:
在生態(tài)系統(tǒng)中有非常多的Docker安全工具,這里有一個全面的Docker安全工具列表供以參考。
Docker安全工具的索引
BlackDuck Docker security
Docker capabilities and resource quotas
Docker-bench security
1 Anchore Navigator主頁:https://anchore.io/
授權:商用,一些服務是免費使用的。
場景:預生產分析、漏洞新聞提要。
Anchore Navigator提供了一項免費服務:可以對Docker鏡像進行深度檢查。還可以探索其豐富的剖析公共映像庫,充分了解其內容、構建過程和發(fā)現(xiàn)CVE威脅,以及已知修復相關的鏈接。
可以對自己的鏡像進行深度分析,并訂閱您經(jīng)常使用的鏡像,以便在升級到商業(yè)版本時接收安全警告。
2 AppArmor主頁:http://wiki.apparmor.net
授權:開源。
場景:運行時保護、強制訪問控制(MAC)。
AppArmor讓管理員為系統(tǒng)中的每個程序分配一個安全概要文件:文件系統(tǒng)訪問、網(wǎng)絡功能、鏈接和執(zhí)行規(guī)則等等。
它是一個強制性的訪問控制(或MAC)系統(tǒng),防止任何被禁止的行為發(fā)生,同時還可報告違反概要文件的訪問嘗試等。
只需要了解概要文件的語法,并可以根據(jù)喜歡的編輯器去編寫AppArmor規(guī)則。
Docker context:Docker可以自動生成和加載一個默認的文件,用于名為docker-default AppArmor的容器,可以為容器或其中的應用創(chuàng)建特定的安全配置文件。
3 AquaSec主頁:https://www.aquasec.com/
授權:商用。
場景:預生產分析、運行時保護、法規(guī)遵循和審核等。
AquaSec為容器設計的商業(yè)安全套件,功能包括:安全審計、容器鏡像驗證、運行時保護、自動策略學習或入侵預防。
4 BlackDuck Docker Security主頁:https://www.blackducksoftware...
授權:商用。
場景:預生產分析、漏洞報告、許可/法律風險。
Black Duck Hub專門負責容器庫存和報告鏡像庫存,將已知的安全漏洞映射到鏡像索引和跨項目風險報告。可以輕松地查明導致安全風險的特定庫、軟件包或二進制文件,自動提供已知修復的列表。
5 Cilium主頁:https://www.cilium.io/
授權:開源。
場景:http層網(wǎng)絡安全性、網(wǎng)絡層安全性。
Cilium在容器應用之間提供透明的網(wǎng)絡安全性。基于一種稱為eBPF的新Linux內核技術,允許根據(jù)容器/pod身份定義并執(zhí)行網(wǎng)絡層和http層安全策略。
Cilum利用BPF執(zhí)行核心數(shù)據(jù)路徑過濾、管理、監(jiān)視和重定向。這些BPF功能可以在任何Linux4.8.0內核版本或更新版本中使用。
6 CoreOS Clair主頁:https://coreos.com/clair/docs...
授權:開源。
場景:預生產分析、漏洞新聞提要。
Clair是一個開源項目,用于靜態(tài)分析容器中的漏洞(目前支持AppC和Docker)。定期從一組配置的CVE源中刷新其漏洞數(shù)據(jù)庫,對可用的容器映像進行仔細檢查,并對安裝的軟件包進行索引。如果檢測到任何不安全的應用,它可以警告或阻止部署到生產。
由于Clair的鏡像分析是靜態(tài)的,容器永遠不需要實際執(zhí)行,所以可以在系統(tǒng)中運行之前檢測到安全威脅。Clair是CoreOS Quay容器注冊中心的安全引擎。
7 Docker Capabilities & Resource Quotas主頁:https://www.docker.com
授權:開源。
場景:運行時保護、資源保護。
資源濫用和拒絕服務是一個經(jīng)常被忽視的問題,但在擁有大量軟件實體競爭主機資源的環(huán)境中,這是一個切實存在的安全問題,所以不應該忘記已經(jīng)與操作系統(tǒng)和Docker引擎捆綁在一起的基本安全措施。
Control Groupscgroups)是Linux內核的一個特性,允許您限制訪問進程和容器對CPU、RAM、IOPS和網(wǎng)絡等系統(tǒng)資源的限制。
允許將完整的根權限分解為多個分割權限,因此可以從根帳戶中刪除特定的功能,或者在更細粒度的級別上增加用戶帳戶的功能。
8 Docker-bench security主頁:https://github.com/docker/doc...
授權:開源。
場景:合規(guī)審計。
Docker用于安全的工作臺是一個元腳本,用于檢查生產中部署Docker容器的數(shù)十種常見的最佳實踐。
此腳本很方便地打包為Docker容器,只需在其主頁上復制和粘貼一行代碼,就可以立即看到Docker容器和運行Docker引擎的主機(Docker CE或Docker Swarm)的250個檢查結果。Docker Bench測試的靈感來自于CIS Docker Community Edition v1.1.0。
9 Dockscan主頁:https://github.com/kost/dockscan
授權:開源。
場景:合規(guī)審計。
簡單的Ruby腳本,用于分析Docker安裝和運行容器,既針對本地主機,也針對遠程主機。
安裝和運行只需一個命令即可,并且會生成HTML報告文件。Dockscan reports配置了資源限制,若容器生成了太多的進程,或者有大量修改過的文件,或者Docker主機允許容器直接將流量轉發(fā)到主機網(wǎng)關,即可命名幾個檢查。
10??Sysdig Falco主頁:https://www.sysdig.org/falco/
授權:開源。
場景:運行時報警、取證。
Sysdig Falco是一種開源的行為監(jiān)測應用,旨在檢測基于其技術的異常活動。Sysdig Falco在任何Linux主機上都是一種入侵檢測系統(tǒng)。
Falco是一種與眾不同的審計工具,它在用戶空間中運行,使用內核模塊來攔截系統(tǒng)調用,而其他類似的工具在內核級執(zhí)行系統(tǒng)調用過濾/監(jiān)視。用戶空間實現(xiàn)的優(yōu)點是能夠與Docker、Docker Swarm、Kubernetes、Mesos等外部系統(tǒng)集成,并導入其資源知識和標簽。
Docker上下文:Falco支持特定于容器的上下文。可以監(jiān)視容器的行為,不必修改它們。定制規(guī)則的創(chuàng)建很容易掌握,默認的規(guī)則文件以正常的默認值填充。
11 HashiCorp Vault主頁:https://www.vaultproject.io/
授權:免費企業(yè)版。
場景:安全容器的憑證存儲,信任管理。
Hashicorp的密碼庫是用于管理密碼的高級套件:密碼、Ssl/Tls證書、API密鑰、訪問令牌、SSH證書等等。支持基于時間的 Secrets租賃、細粒度的 Secrets訪問、新Secrets的生成、關鍵的滾動(更新密鑰,而不使用舊的密鑰生成的秘密)等等。
Vaults Keeps保存了詳細的審計日志,記錄每個用戶/實體執(zhí)行的所有 Secrets和訪問及操作,因此操作人員可以很容易地跟蹤任何可疑的交互。
Docker上下文:在新的微服務和容器環(huán)境中,安全的分發(fā)和可跟蹤性是一個核心問題,在此環(huán)境中,軟件實體不斷地被派生和刪除。Vaults本身可以作為Docker容器進行部署。
12 NeuVector主頁:http://neuvector.com/
授權:商用。
場景:運行時保護、遵從性和審計。
NeuVector專注于運行時的實時安全保護。自動發(fā)現(xiàn)應用程序、容器和服務的行為,以及與其他Linux Id類似方式檢測安全升級和其他威脅。NeuVector“強制”容器部署在每個物理主機上,并完全訪問本地的Docker守護進程,所使用的內部技術在公開可訪問的文檔中并沒有詳細地詳細說明。
NeuVector的目標是非侵入式、插裝式安全套件、自動發(fā)現(xiàn)運行的容器以及它們的默認行為,幫助和建議操作人員設計他們的基礎設施安全配置文件。
13 Notary主頁:https://github.com/docker/notary
授權:開源。
用例:可信的映像庫、信任管理和可驗證性。
鏡像偽造和篡改是基于文檔的部署的一個主要安全問題,Notary是一種發(fā)布和管理受信任的內容集合的工具,可以通過與Linux系統(tǒng)中提供的軟件存儲庫管理工具類似的方式批準可信發(fā)布和創(chuàng)建簽名的集合。
一些Notary目標包括保證圖像的新鮮度(大部分是最新的內容,避免已知的漏洞),用戶之間的信任委托,或可信的分布在不可信的鏡像或傳輸通道上。
14 OpenSCAP主頁:https://www.open-scap.org/
授權:開源。
場景:法規(guī)遵循和審核,認證
OpenSCAP提供了一套自動化的審計工具,以檢查應用中的配置和已知的漏洞,遵循了Nist認證的安全內容自動化協(xié)議(SCAP)。
可以創(chuàng)建自己的自定義規(guī)則,并定期檢查部署在公司中的任何軟件是否嚴格遵守規(guī)則。
這些工具集不僅關注于安全性本身,還提供了測試和報告。
Docker上下文:OpenSCAP套件提供了一個特定于docdocker的工具——Oscap-Docker,來審計鏡像,同時評估運行的容器和云端鏡像。
15 Remnux主頁:https://remnux.org/
許可:開源。
場景:取證。
基于Ubuntu的安全發(fā)行版。REMnux是一個免費的Linux工具包,幫助惡意應用分析人員使用逆向工程的應用,通常稱為取證。系統(tǒng)綁定了大量預先安裝的分析和安全工具:Wireshark, ClamAV, Tcpextract, Rhino Debugger, Sysdig, Vivisect。
16 SELinux主頁:https://selinuxproject.org
授權:開源。
場景:運行時保護、強制訪問控制(MAC)。
SELinux是Linux內核安全模塊。也是一個強制性的訪問控制系統(tǒng)。從強制訪問控制到強制性的完整性控制、基于角色的訪問控制(RBAC)和類型強制架構。
Docker上下文:類似于AppArmor,SELinux提供了一層額外的訪問策略,并在主機和容器應用之間進行隔離。
17 Seccomp主頁:https://www.kernel.org
授權:開源。
場景:運行時保護、強制訪問控制(MAC)。
Seccomp是Linux內核中的一個沙箱化工具,可以將其看做基于規(guī)則的防火墻,但對于系統(tǒng)調用,使用Berkeley包過濾(BPF)規(guī)則來過濾Syscall API,并控制它們的處理方式。
有了Seccomp,可以選擇哪些系統(tǒng)是禁止的,哪些是允許的,如,您可以禁止在容器內進行文件權限操作。
18 Sysdig主頁:https://www.sysdig.org/
許可證:開放源碼,商業(yè)產品建立在免費技術之上。
場景:異常行為調試,取證。
Sysding是針對Linux系統(tǒng)的全系統(tǒng)的探索、故障排除和調試工具。它記錄任何進程所做的所有系統(tǒng)調用,允許系統(tǒng)管理員在操作系統(tǒng)或運行在它上的任何進程中查找BUG。
19 Tenable Flawcheck主頁:https://www.tenable.com/flawc...
授權:商用。
場景:預生產分析、漏洞新聞提要。
與此列表中的其他商業(yè)工具一樣,缺陷檢查可以存儲容器映像,并在它們構建之前進行掃描,然后才能推到生產環(huán)境。缺陷檢查利用了漏洞/Nessus的技術和數(shù)據(jù)庫漏洞,惡意軟件和入侵載體,并將其調整為容器化和敏捷/CD的環(huán)境。
20 Twistlock主頁:https://www.twistlock.com/
授權:商用。
場景:預生產分析、運行時保護、法規(guī)遵循和審核等。
用于支持容器化環(huán)境的商業(yè)安全套件:漏洞管理、訪問控制、分析和對安全標準遵從性的取證。
Twistlock與CI/CD集成,為像Jenkins或TeamCity和可調用的Webhooks這樣的工具提供原生插件,這樣即可為每一個構建和測試環(huán)境觸發(fā)索引和掃描過程。
Docker是一個錯綜復雜的有著各種移動和靜態(tài)部件的網(wǎng)絡,顯然插入這些安全工具中的任何一個都不會立即使整個堆棧安全,在所有層面上,都需要將這些工具結合起來確保Docker的安全。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27018.html
摘要:此刻的后手指依舊飛速地敲打鍵盤,絲毫沒有要停不下來意思。閱讀本期技術周刊,你不光能弄明白什么是,使用的意義何在,還將被傳授秘籍,以達的境界。周刊篩選的每篇內容,是作者的獨到見解,踩坑總結和經(jīng)驗分享。 showImg(https://segmentfault.com/img/bVC5qJ?w=900&h=385); 啪嗒啪嗒,啪嗒啪嗒,聽到后排動感十足的清脆鍵盤響,我就能猜到公司程序員定...
摘要:月日數(shù)人云在上海舉辦金融沙龍,邀請上交所和近二十家來自銀行保險證券的技術專家一同探討容器技術在金融業(yè)中的最佳實踐。數(shù)人云肖德時在會上將傳統(tǒng)金融行業(yè)通過容器可以解決的四大問題做了逐一解讀。如何動態(tài)的分配,就是剛才上交所介紹的一些治理的方法。 7月29日數(shù)人云在上海舉辦金融沙龍,邀請上交所和近二十家來自銀行、保險、證券的IT技術專家一同探討容器技術在金融業(yè)中的最佳實踐。數(shù)人云CTO肖德時在...
摘要:今天為大家介紹的容器管理工具是數(shù)人云基于最新技術的一個開源項目。今天從技術角度分享一下數(shù)人云從設計到開發(fā)的實踐之路。從控制面板說起數(shù)人云是一家開源技術的公司,最初希望做一個開源項目,相當于做了一次內部創(chuàng)新。數(shù)人云的技術棧是,正好與十分密切。 小數(shù)表示最近霧鎖京城真是有些可怕,迷迷蒙蒙讓人看不清遠處,大家外出也要注意防霾哦! 容器管理面板Crane,是 數(shù)人云的第一個開源項目,那...
摘要:主機端口非常昂貴,因此稍后我們會使用一個負載均衡器。注冊完成后,將的配置添加到負載均衡器上。部署負載均衡器在棧中,單擊添加服務旁邊的下拉菜單,然后選擇添加負載均衡器。如果你收到狀態(tài)或的錯誤報告,那么需要檢查負載均衡器配置,確認設置無誤。 介紹 GitLab核心是集成管理Git存儲庫的工具。比如你希望創(chuàng)建一個提供服務的平臺,那么GitLab將提供強大的身份驗證和授權機制、工作組、問題跟蹤...
閱讀 634·2021-09-22 10:02
閱讀 6323·2021-09-03 10:49
閱讀 564·2021-09-02 09:47
閱讀 2151·2019-08-30 15:53
閱讀 2928·2019-08-30 15:44
閱讀 900·2019-08-30 13:20
閱讀 1812·2019-08-29 16:32
閱讀 888·2019-08-29 12:46