溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Kubernetes中CVE-2019-11244漏洞怎么修復(fù)

發(fā)布時(shí)間:2021-11-19 09:55:22 來源:億速云 閱讀:145 作者:小新 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)Kubernetes中CVE-2019-11244漏洞怎么修復(fù),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

背景知識(shí)

為了能更好的理解這個(gè)漏洞,需要一些關(guān)于Linux 文件權(quán)限的基礎(chǔ)知識(shí)。

也許你經(jīng)常使用chmod命令來為某個(gè)文件設(shè)置權(quán)限,比如給某個(gè)文件設(shè)置權(quán)限:chmod 755 xxx。這里755為十進(jìn)制數(shù)字分別代表文件Owner權(quán)限、文件Owner同組用戶權(quán)限和其他用戶權(quán)限,如下圖所示:

Kubernetes中CVE-2019-11244漏洞怎么修復(fù)

在Linux下,使用ls命令可以看到文件的權(quán)限,如下圖所示:

Kubernetes中CVE-2019-11244漏洞怎么修復(fù)

針對(duì)一個(gè)文件設(shè)置權(quán)限無非就是限制文件的讀、寫和可執(zhí)行權(quán)限,那么如何理解一個(gè)目錄的讀、寫和可執(zhí)行權(quán)限呢? 跟據(jù)我小范圍調(diào)查,大多數(shù)人不能很好的回答這個(gè)問題:一個(gè)用戶對(duì)某個(gè)目錄擁有讀或?qū)憴?quán)限分別意味著什么?

漏洞描述

CVE-2019-11244漏洞原文描述如下:

In Kubernetes v1.8.x-v1.14.x, schema info is cached by kubectl in the location specified by --cache-dir (defaulting to $HOME/.kube/http-cache), written with world-writeable permissions (rw-rw-rw-). If --cache-dir is specified and pointed at a different location accessible to other users/groups, the written files may be modified by other users/groups and disrupt the kubectl invocation.

簡(jiǎn)單的理解就是kubectl創(chuàng)建的緩存文件權(quán)限為rw-rw-rw-,也即666,這些緩存文件有被其他用戶修改的風(fēng)險(xiǎn)。

這里其他用戶是包含兩類:

  1. 同group下的其他用戶(后面稱group用戶);

  2. 不同group的其他用戶(后面稱other用戶);

那么修復(fù)這個(gè)漏洞,就要收縮這些文件權(quán)限,只要做到這些文件不能被這兩類用戶修改即可(可以擁有讀權(quán)限)。

社區(qū)修復(fù)方案

kubectl會(huì)創(chuàng)建一個(gè)專門的目錄來存放緩存文件,所以這里既要控制目錄權(quán)限還要控制文件的權(quán)限。

在社區(qū)的修復(fù)方案中,緩存目錄權(quán)限由755變成了750,即other用戶將不能進(jìn)入這個(gè)目錄,Group用戶仍擁有r-x權(quán)限,即可以讀取目錄下的文件列表、可以進(jìn)入該目錄。

針對(duì)緩存文件的修改,權(quán)限由755變成了660,這里有三個(gè)變化:

  1. Owner用戶不再擁有可執(zhí)行權(quán)限(緩存文件擁有可執(zhí)行文件權(quán)限本身也沒有意義);

  2. Group用戶擁有rw-權(quán)限,即Group用戶仍然可以修改緩存文件;

  3. Other用戶不授予任何權(quán)限(即便有權(quán)限也無效,因?yàn)樯蠈幽夸浺巡荒茉L問);

看到這里,問題就清楚了,緩存文件仍然可以被Group用戶修改,實(shí)際上漏洞并沒有完全修復(fù)。 我們可以實(shí)際操作演示一下,這里如無特別說明表示使用root用戶操作:

  1. 創(chuàng)建一個(gè)目錄,并設(shè)置權(quán)限為755: # mkdir -m 0750 myPath0750

  2. 在目錄中創(chuàng)建一個(gè)文件,并設(shè)置權(quán)限為660:# touch myPath0750/myFile0660; chmod 0660 myPath0750/myFile0660

  3. 創(chuàng)建一個(gè)root組用戶,并設(shè)置密碼:# useradd -G root -d /home/horen -m horen; passwd horen

  4. 切換到新用戶,嘗試修改文件內(nèi)容:# echo "Hello" > myPath0750/myFile0660;

可以發(fā)現(xiàn)文件是可以被修改的。

加固方案

也許社區(qū)的修復(fù)方案并不能滿足你的安全要求,你仍然需要基于社區(qū)方案做一些安全加固,就是把緩存文件的權(quán)限進(jìn)一步收縮,由660變?yōu)?code>640,即Group用戶最多只能查看緩存文件內(nèi)容。

另外,由于目錄權(quán)限為750,Group用戶對(duì)該目錄沒有寫權(quán)限,所以不能修改目錄名,不能在該目錄下創(chuàng)建文件,達(dá)到目錄專用的目的。

這里也順便總結(jié)一下目錄的可讀、可寫和可執(zhí)行三個(gè)權(quán)限的含義。其實(shí)目錄本身也是文件,其內(nèi)容是其子層目錄結(jié)構(gòu),比如目錄中的文件列表,文件屬性等。

  • 可讀:表示你可以列出目錄中有什么文件;

  • 可寫:表示你可以在目錄中創(chuàng)建、刪除文件;

  • 可執(zhí)行:表示你可以進(jìn)入該目錄;

關(guān)于“Kubernetes中CVE-2019-11244漏洞怎么修復(fù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI