基于Kubernetes的容器云平臺實戰(zhàn)》——2.2 容器生命周期管理">《基于Kubernetes的容器云平臺實戰(zhàn)》——2.2 容器生命周期管理
773
2025-04-01
3.5 容器鏡像安全加固
Docker容器通過namespace進行進程間的隔離,通過CGroup限制資源的使用,這只能做到進程及文件的安全隔離,同虛擬機操作系統(tǒng)級別的安全隔離尚有差距,正是因為這方面的原因,容器輕量快速的特性才能發(fā)揮出來。
研發(fā)應(yīng)用軟件時,開發(fā)人員編寫代碼并提交到配置庫,觸發(fā)持續(xù)集成流程,經(jīng)測試人員進行測試,測試通過后由運維人員部署到生產(chǎn)環(huán)境,因此容器安全加固涉及容器的全生命周期,包括開發(fā)階段及生產(chǎn)階段。容器安全加固就是在開發(fā)測試環(huán)境中保證容器鏡像構(gòu)建、存儲安全可信,在生產(chǎn)環(huán)境中保證容器啟動、運行、停止正確即可。
3.5.1 容器安全加固規(guī)范
Docker主機安全加固
具有一定規(guī)模的企業(yè)會建立自己的主機安全加固規(guī)范及checklist,按照這個規(guī)范進行即可,如關(guān)閉swap、防火墻、文件句柄修改等,必要時使用安全工具對主機進行安全掃描。對安全要求極高的企業(yè)可以考慮使用自主研發(fā)的操作系統(tǒng),在操作系統(tǒng)中啟用SELinux。
更改運行容器的用戶權(quán)限
為了防止容器“逃逸”并獲得宿主機的權(quán)限,因此要用非root用戶執(zhí)行容器;如果用戶已經(jīng)在鏡像中定義,那么可以通過Dockerfile在此鏡像基礎(chǔ)上生產(chǎn)新的鏡像,在Dockerfile中添加用戶:RUN useradd -d/home/<用戶名> -m -s/bin/bash <用戶名> USER <用戶名>。如果制作鏡像文件時需要使用root權(quán)限同后端daemon進程進行交互,則可以使用kaniko開源工具進行處理。
鏡像中的setuid及setgid
setuid和setgid指令可用于提權(quán),如果這兩個指令使用高權(quán)限就可能引入了風險,因此在鏡像中要進行權(quán)限控制,一般在Dockerfile末尾添加命令:RUN find/-perm 6000 -type f -exec chmod a-s {}\;||true進行權(quán)限控制。
對鏡像進行安全掃描,使用安全可信的容器鏡像
使用clair或其他工具對鏡像文件進行安全漏洞掃描,根據(jù)掃描結(jié)果打補丁或更新軟件,消除安全隱患后再重新制作鏡像。
鏡像文件使用數(shù)字簽名
對從Docker倉庫發(fā)送和接收的數(shù)據(jù)使用數(shù)字簽名能力,允許客戶端驗證特定鏡像標簽的完整性。
啟用HTTPS
Docker對所有請求啟用TLS驗證,啟用HTTPS需要對Docker啟動文件進行配置,可使用命令:
dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem \ -H=10.47.40.110:2376
容器網(wǎng)絡(luò)流量限制
默認情況下容器能訪問容器網(wǎng)絡(luò)上的所有流量,因此可能會導致信息泄露,Dockerd采用守護進程模式啟動時增加參數(shù)-icc = false可以對容器流量進行限制,只訪問自己的流量。
內(nèi)存配額限制
默認情況下容器可以使用主機所有內(nèi)存,容器啟動時通過-m或-memory參數(shù)限定容器的內(nèi)存,如使用命令docker run -it --rm -m 128m限制內(nèi)存配額。
CPU優(yōu)先級限制
默認情況下CPU是沒有設(shè)置優(yōu)先級的,用戶可以通過CPU共享設(shè)定優(yōu)先級。如使用下面的命令設(shè)置優(yōu)先級:
docker run -it --rm --cpuset=0,1 -c 2
存儲空間配額限制
采用docker -d --storage-opt dm.basesize=5G命令可限制存儲空間配額,但目前還不能有效控制磁盤I/O。
日志和審核
收集并歸檔與Docker相關(guān)的日志以便后期進行審核監(jiān)控或做統(tǒng)計分析,記錄容器日志的命令如下:
docker run -v /dev/log:/dev/log
Kubernetes 鏡像服務(wù) 容器鏡像服務(wù) SWR
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。