自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何防止不需要的模塊加載以保護(hù)Kubernetes集群?

譯文
系統(tǒng) Linux
通向安全容器的道路漫長而曲折。在此過程中,你應(yīng)該卸載掉Linux容器中不必要的內(nèi)核模塊。

【51CTO.com快譯】Kubernetes是一種出色的容器管理系統(tǒng),但開發(fā)人員和管理員肩上的擔(dān)子也隨之變大。如果你沒有在安全集群上部署安全容器,一開始就面臨必輸無疑的困境。

幸好我們談?wù)摰氖荓inux,因此你可以做許多事來幫助確保部署的安全性。

你可以執(zhí)行的一項很關(guān)鍵的任務(wù)是防止不需要的內(nèi)核模塊加載到容器中。你會驚訝于啟動時眾多模塊加載,其中許多模塊是你在容器中不需要使用的。

那么如何阻止它們加載呢?下面介紹方法。

你需要什么?

我將使用基于最新Ubuntu Server映像的容器來演示,將通過Multipass工具來進(jìn)行這番操作。想進(jìn)一步了解如何安裝和使用Multipass,請參閱這篇教程:《如何使用啟動虛擬機的新工具M(jìn)ultipass?》(https://www.techrepublic.com/article/multipass-is-a-new-tool-for-launching-virtual-machines/)。

如果你未使用Multipass,無論在使用哪種容器技術(shù),只要容器基于Linux的,仍可以解決這個問題。

如何部署和訪問Ubuntu容器?

不妨先使用Multipass部署一個新容器。我們將使用以下命令部署Ubuntu Daily 20.04:

  1. multipass launch daily:20.04 

一旦容器啟動,系統(tǒng)會為你顯示該部署的隨機生成的名稱。如果你未留意到該名稱,可以使用以下命令來查看:

  1. multipass list 

鑒于容器業(yè)已部署,使用以下命令訪問其外殼:

  1. multipass shell NAME 

其中NAME是容器的隨機生成的名稱。

如何卸載模塊并列入黑名單?

我們要做的是將不希望加載到容器中的模塊列入黑名單。為此,你要先知道哪些模塊在加載。想列出所有目前已加載的模塊,請執(zhí)行以下命令:

  1. lsmod 

你會看到目前加載到內(nèi)核中的每個模塊(圖A)。

Ubuntu 20.04中目前已加載的模塊

圖A. Ubuntu 20.04中目前已加載的模塊

仔細(xì)瀏覽該列表,會找到你不想要加載到容器內(nèi)核中的所有模塊。鑒于容器通常有很特定的用途,因此可能有好多容器可以列入黑名單。

在我們將不想要啟動時加載的模塊實際列入黑名單之前,我們先要卸載模塊。為什么?這是容器,不是虛擬機或標(biāo)準(zhǔn)操作系統(tǒng),因此你無法重新啟動。這就是為什么我們需要手動卸載模塊。

想手動卸載運行中的模塊,請執(zhí)行以下命令:

  1. sudo modprobe -r MODULENAME 

其中MODULENAME是模塊的名稱。

如果你執(zhí)行l(wèi)smod命令,應(yīng)該會看到模塊不再被加載到內(nèi)核中。

一旦你做好了列表后,使用以下命令打開黑名單文件進(jìn)行編輯:

  1. sudo nano /etc/modprobe.d/blacklist.conf 

在該文件中,你將添加希望以以下形式防止加載的所有模塊:

  1. blacklist MODULENAME 

其中MODULENAME是模塊的名稱。舉例來說,你想要防止軟盤內(nèi)核模塊加載。為此,該條目將是:

  1. blacklist floppy 

注意:你要小心,別將對操作系統(tǒng)運行而言至關(guān)重要的模塊或容器依賴的模塊列入黑名單。因此,將模塊列入黑名單之前,確保大致了解該模塊的功能。

至此,你已手動刪除了不想加載的所有內(nèi)核模塊,并創(chuàng)建了一份黑名單,防止它們被加載。你應(yīng)該能夠停止和啟動容器,看到那些已列入黑名單的模塊不再加載。

然而,如果你發(fā)現(xiàn)模塊仍在加載,意味著映像仍在使用不含有你所作更改的initramfs的舊副本。使用以下命令重建initramfs:

  1. sudo update-initramfs -u 

下次你停止并啟動容器時,會發(fā)現(xiàn)已列入黑名單的模塊肯定不會加載。

并非一應(yīng)俱全

對于Kubernetes容器來說,這不是一應(yīng)俱全的安全措施。然而,你在開發(fā)依賴Linux容器的應(yīng)用程序和服務(wù)時,應(yīng)考慮這一點。你不希望多余的、有時不安全的模塊在容器上運行。

為了部署真正安全的容器,這個過程就好比是你必須跨過的好多墊腳石之一。

原文標(biāo)題:How to secure a Kubernetes cluster by preventing unwanted modules from loading,作者:Jack Wallen

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2017-03-13 13:54:40

戴爾

2024-09-26 18:04:02

2024-02-22 09:00:00

LogitMat數(shù)據(jù)集算法

2013-07-18 09:21:32

代碼文檔

2010-11-23 10:55:47

跳槽

2018-01-29 13:18:42

前端JavaScript

2015-09-30 09:57:53

天分熱情工程師

2012-08-23 09:50:07

測試測試人員軟件測試

2009-11-23 12:45:22

2010-05-07 10:28:52

Linux系統(tǒng)

2013-05-14 10:54:57

jQuery網(wǎng)站開發(fā)

2016-10-26 13:35:43

云自動資源負(fù)載

2016-10-26 20:21:34

自動縮放可擴(kuò)展性

2013-12-02 09:43:29

字符串編程

2015-08-20 10:56:19

算法界面開發(fā)

2022-02-15 07:26:34

web前端算法題

2014-01-17 13:09:48

Linux碎片整理

2022-09-14 15:10:40

前端架構(gòu)

2021-12-12 22:20:47

Docker開發(fā)容器

2009-06-11 10:59:07

HTML5Flash插件
點贊
收藏

51CTO技術(shù)棧公眾號