linux docker漏洞,安装shadow或linux-pam的Alpine Linux Docker镜像有漏洞,附解决
只要你在 Alpine Linux 系統 Docker 鏡像中安裝有 shadow 或 linux-pam 軟件包,那么這個鏡像是有安全漏洞的,需要盡快修補,要說明的是,其他 Alpine Linux 系列不受這個漏洞影響,以下是詳情和解決方法。
影響級別大
Alpine Linux Docker 鏡像是一個十分小巧的鏡像,大小僅 5MB,遠小于其他的 Linux 發行版,在 Docker Hub 的下載次數已超過千萬。
同時 Alpine Linux 發行版向來以輕巧和安全而被大家熟知,但最近思科安全研究人員卻發現 Alpine Linux 的 Docker 鏡像存在一個已有三年之久的安全漏洞,通過該漏洞可使用空密碼登錄 root 帳戶。
該漏洞的編號為 CVE-2019-5021,嚴重程度評分為 9.8 分,最早在 Alpine Linux Docker 鏡像 3.2 版本中被發現,并于2015年11月進行了修復,還添加了回歸測試以防止將來再發生。
但后來為了簡化回歸測試,Alpine Linux Docker 鏡像的 GitHub 倉庫合并了一個新的 commit,而正是這個 commit 導致了錯誤的回歸,并在 3.3 之后的版本中(包括 Alpine Docker Edge)都保留了這個漏洞,即:v3.5(EOL)、v3.4(EOL)、v3.3(EOL),目前該漏洞已被修復。
注:該問題已在 edge (20190228 snapshot)、v3.9.2、v3.8.4、v3.7.3、v3.6.5 版本的 Docker鏡像(2019年3月7日)中修復。
漏洞說明
官方對這個漏洞的描述為:如果在 Docker 容器中安裝了 shadow 軟件包并以非 root 用戶身份運行服務,那么具有 shell 訪問權限的用戶可在容器內對賬號進行提權。密碼以加密形式保存,但允許以 root 身份登錄而無需輸入任何密碼:
該漏洞僅針對 Alpine Linux 的 Docker 鏡像版本,且安裝了shadow 或 linux-pam 軟件包才會受影響。
如果沒有安裝 shadow 或 linux-pam 軟件包,則不會受到影響,如果你使用 Alpine linux 安裝程序 setup-alpine,則不會受到影響。
專業說明
Alpine Linux 使用 busybox 作為核心工具,我們已經測試并確保只允許來自 /etc/securetty 中列為安全的 TTY 的無密碼的 root 登錄,這樣就可以在計算機上啟動 Alpine 并以 root 身份登錄,而無需為 Alpine 提供任何預生成的密碼,我們認為一個預生成的密碼比沒有密碼更糟糕,像 sshd 這樣的服務根本不允許使用空白密碼登錄,不幸的是,當用戶安裝 shadow 和 linux-pam,而不是使用默認工具時,安全問題出現了。
解決方法
對于使用較舊的、不受支持的版本,可以將以下命令添加到 Dockerfile 來修復漏洞:
# make sure root login is disabled
RUN sed -i -e 's/^root::/root:!:/' /etc/shadow
或者在 Alpine Linux 系統中卸載 shadow 或 linux-pam 軟件包。當然,你沒有安裝 shadow 或 linux-pam 軟件包,系統就不會有安全問題,這種情況下,不需要做處理。
相關主題
總結
以上是生活随笔為你收集整理的linux docker漏洞,安装shadow或linux-pam的Alpine Linux Docker镜像有漏洞,附解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 环绕火星2年!天问一号成果公布:全世界都
- 下一篇: 5199元起!三星S23系列国行价格公布