Docker 等容器化技術(shù)讓公司可以比使用傳統(tǒng)流程更快地部署服務(wù)和應(yīng)用程序。無需部署和配置功能齊全的操作系統(tǒng)和所需的應(yīng)用程序,您只需下載并啟動(dòng)該應(yīng)用程序的 Docker 映像,通常只需幾分鐘即可開始使用它。Docker 是可移植的,這意味著您可以在運(yùn)行 Linux、Windows 或 Mac 的工作站上運(yùn)行相同的映像。例如,DevOps 工程師通常會(huì)先在自己的 Mac 或 Windows 工作站上通過 Docker 映像創(chuàng)建和測(cè)試新服務(wù),然后再將其上傳到生產(chǎn)環(huán)境中的目的地。無論圖像是在他們的工作站上運(yùn)行還是在云服務(wù)提供商托管的生產(chǎn)環(huán)境中運(yùn)行,他們都可以依靠類似的行為。
下載并安裝 Docker 后,您可以立即使用它。使用 Docker 命令,您可以指定一個(gè)注冊(cè)表(Docker 鏡像形式的軟件集合),然后下載特定應(yīng)用程序的 Docker 鏡像并啟動(dòng)它。Docker 鏡像是一個(gè)非常小的專用文件,通常只包含啟用應(yīng)用程序所需的最少文件。例如,可以不使用 Ubuntu Linux 發(fā)行版,而是使用占用空間較小的發(fā)行版(例如 Alpine-Linux)構(gòu)建映像。通常,只包括必需品,這會(huì)使圖像小得多。這也有可能更安全的理想副作用,因?yàn)楦俚拇a和包通常會(huì)導(dǎo)致更小的表面積供攻擊者利用。
較大的環(huán)境通常會(huì)使用 Kubernetes 等編排軟件來管理其容器環(huán)境。Kubernetes 有助于根據(jù)定義的業(yè)務(wù)邏輯管理容器的擴(kuò)展和部署。服務(wù)網(wǎng)格和微服務(wù)架構(gòu)在設(shè)計(jì)和支持可擴(kuò)展的基于云的應(yīng)用程序方面也發(fā)揮著重要作用。服務(wù)網(wǎng)格協(xié)調(diào)不同服務(wù)之間的網(wǎng)絡(luò)流量,并可以充當(dāng)服務(wù)之間的負(fù)載均衡器。服務(wù)網(wǎng)格還可以提供額外的安全功能,例如互連服務(wù)之間的加密和身份驗(yàn)證。將應(yīng)用程序部署為容器中的微服務(wù)意味著每個(gè)服務(wù)(例如,用戶帳戶管理服務(wù)和購(gòu)物車服務(wù))都是獨(dú)立構(gòu)建和托管的。結(jié)合 Kubernetes 和服務(wù)網(wǎng)格,
保護(hù)這些技術(shù)依賴于與保護(hù)傳統(tǒng)網(wǎng)絡(luò)和服務(wù)類似的安全原則,但確實(shí)需要一種略有不同的方法和技術(shù)來了解容器的運(yùn)行方式。讓我們回顧一下用于保護(hù)和管理這些新技術(shù)并防止容器防御出現(xiàn)漏洞的工具和流程。
漏洞管理
容器是使用定義容器行為的只讀文件的圖像來部署的。通常您會(huì)從外部注冊(cè)表(如 docker hub)下載圖像,或者更高級(jí)的用戶會(huì)創(chuàng)建自己的圖像。鏡像通?;谝粋€(gè)非常輕量級(jí)的操作系統(tǒng),在該操作系統(tǒng)之上安裝了一個(gè)特定的應(yīng)用程序(例如 Nginx 或 MySQL)。在部署容器之前,使用容器和鏡像感知漏洞掃描器掃描鏡像以確保鏡像安全。當(dāng)您檢測(cè)到圖像中的漏洞時(shí),更新圖像并重新部署容器。使用傳統(tǒng)的漏洞掃描器(例如 Nessus)在容器化環(huán)境中可能效果不佳,因?yàn)槟繕?biāo)容器會(huì)隨著負(fù)載的變化而變化,并且 IP 地址通常會(huì)在服務(wù)網(wǎng)格或覆蓋網(wǎng)絡(luò)架構(gòu)中重復(fù)使用。換句話說,掃描網(wǎng)絡(luò)范圍的結(jié)果可能每天都不同,并且關(guān)聯(lián)發(fā)現(xiàn)可能很困難。
存貨
容器化架構(gòu)依賴于新技術(shù),清點(diǎn)這些對(duì)象及其依賴關(guān)系以適當(dāng)保護(hù)它們?nèi)匀缓苤匾?。這在原則上與對(duì)包括服務(wù)器、應(yīng)用程序和網(wǎng)絡(luò)配置(如子網(wǎng)和訪問控制列表)的 IT 資源進(jìn)行傳統(tǒng)盤點(diǎn)沒有必然的不同。然而,傳統(tǒng) IT 環(huán)境和容器化環(huán)境之間的構(gòu)造通常不同。容器化環(huán)境中需要清點(diǎn)的重要對(duì)象包括使用了哪些圖像、運(yùn)行的容器、運(yùn)行托管圖像的 Docker 的節(jié)點(diǎn)、環(huán)境中運(yùn)行的所有服務(wù)和應(yīng)用程序,以及限制對(duì)這些對(duì)象的訪問的網(wǎng)絡(luò)組。
記錄
在容器化環(huán)境中記錄事件和收集重要的遙測(cè)數(shù)據(jù)有助于發(fā)現(xiàn)異常行為。尋找可以檢查容器網(wǎng)絡(luò)連接的容器感知工具。由于容器的短暫性和動(dòng)態(tài)性,傳統(tǒng)方法(例如基于 IP 地址的靜態(tài)規(guī)則)可能效果不佳。記錄活動(dòng)是運(yùn)行時(shí)保護(hù)的重要組成部分。尋找可以衡量正常操作情況的軟件作為基準(zhǔn),然后對(duì)變體發(fā)出警報(bào),包括事件前后發(fā)生的事情。許多容器安全解決方案分析和呈現(xiàn)有助于跟進(jìn)可能事件的日志數(shù)據(jù)取證視圖。
結(jié)論
容器正迅速成為云計(jì)算中的流行標(biāo)準(zhǔn)。它們相對(duì)快速且易于引入環(huán)境,但傳統(tǒng)的安全工具和流程可能無法識(shí)別這些技術(shù)。一定要了解容器是如何工作的,這樣當(dāng)它們進(jìn)入您的環(huán)境時(shí),您就會(huì)做好準(zhǔn)備并避免您的環(huán)境中出現(xiàn)可能給您帶來不必要風(fēng)險(xiǎn)的黑洞。
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209523 -
容器
+關(guān)注
關(guān)注
0文章
495瀏覽量
22062 -
Docker
+關(guān)注
關(guān)注
0文章
458瀏覽量
11857
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論