您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Kubernetes中CVE-2019-11244漏洞怎么修復,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
為了能更好的理解這個漏洞,需要一些關于Linux 文件權限的基礎知識。
也許你經常使用chmod
命令來為某個文件設置權限,比如給某個文件設置權限:chmod 755 xxx
。這里755
為十進制數字分別代表文件Owner權限、文件Owner同組用戶權限和其他用戶權限,如下圖所示:
在Linux下,使用ls
命令可以看到文件的權限,如下圖所示:
針對一個文件設置權限無非就是限制文件的讀、寫和可執行權限,那么如何理解一個目錄
的讀、寫和可執行權限呢? 跟據我小范圍調查,大多數人不能很好的回答這個問題:一個用戶對某個目錄擁有讀或寫權限分別意味著什么?
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.
簡單的理解就是kubectl創建的緩存文件權限為rw-rw-rw-
,也即666
,這些緩存文件有被其他用戶修改的風險。
這里其他用戶是包含兩類:
同group下的其他用戶(后面稱group用戶);
不同group的其他用戶(后面稱other用戶);
那么修復這個漏洞,就要收縮這些文件權限,只要做到這些文件不能被這兩類用戶修改即可(可以擁有讀權限)。
kubectl會創建一個專門的目錄來存放緩存文件,所以這里既要控制目錄權限還要控制文件的權限。
在社區的修復方案中,緩存目錄權限由755
變成了750
,即other用戶將不能進入這個目錄,Group用戶仍擁有r-x
權限,即可以讀取目錄下的文件列表、可以進入該目錄。
針對緩存文件的修改,權限由755
變成了660
,這里有三個變化:
Owner用戶不再擁有可執行權限(緩存文件擁有可執行文件權限本身也沒有意義);
Group用戶擁有rw-
權限,即Group用戶仍然可以修改緩存文件;
Other用戶不授予任何權限(即便有權限也無效,因為上層目錄已不能訪問);
看到這里,問題就清楚了,緩存文件仍然可以被Group用戶修改,實際上漏洞并沒有完全修復。 我們可以實際操作演示一下,這里如無特別說明表示使用root用戶操作:
創建一個目錄,并設置權限為755: # mkdir -m 0750 myPath0750
在目錄中創建一個文件,并設置權限為660:# touch myPath0750/myFile0660; chmod 0660 myPath0750/myFile0660
創建一個root組用戶,并設置密碼:# useradd -G root -d /home/horen -m horen; passwd horen
切換到新用戶,嘗試修改文件內容:# echo "Hello" > myPath0750/myFile0660
;
可以發現文件是可以被修改的。
也許社區的修復方案并不能滿足你的安全要求,你仍然需要基于社區方案做一些安全加固,就是把緩存文件的權限進一步收縮,由660
變為640
,即Group用戶最多只能查看緩存文件內容。
另外,由于目錄權限為750
,Group用戶對該目錄沒有寫權限,所以不能修改目錄名,不能在該目錄下創建文件,達到目錄專用的目的。
這里也順便總結一下目錄的可讀、可寫和可執行三個權限的含義。其實目錄本身也是文件,其內容是其子層目錄結構,比如目錄中的文件列表,文件屬性等。
可讀:表示你可以列出目錄中有什么文件;
可寫:表示你可以在目錄中創建、刪除文件;
可執行:表示你可以進入該目錄;
關于“Kubernetes中CVE-2019-11244漏洞怎么修復”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。