共用方式為


Windows 安全性上的適用於 Linux 的 IoT Edge

適用於:IoT Edge 1.4 複選標記 IoT Edge 1.4

重要

支援 IoT Edge 1.5 LTS 和 IoT Edge 1.4 版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge

Windows 上適用於 Linux 的 Azure IoT Edge 受益於所有安全性供應專案,使其免於在 Windows 用戶端/伺服器主機上執行,並確保所有額外的元件都會保留相同的安全性內部部署。 本文提供默認啟用之不同安全性單位的相關信息,以及使用者可能啟用的一些選擇性內部部署。

虛擬機器安全性

適用於 Linux 的 IoT Edge (EFLOW) 策展虛擬機是以 Microsoft CBL-Mariner 為基礎。 CBL-Mariner 是 Microsoft 雲端基礎結構與邊緣產品和服務的內部 Linux 散發套件。 CBL-Mariner 的設計目的是為這些裝置和服務提供一致的平臺,並增強 Microsoft 在 Linux 更新上保持最新狀態的能力。 如需詳細資訊,請參閱 CBL-Mariner 安全性

EFLOW 虛擬機建置在四點全方位安全性平臺上:

  1. 服務更新
  2. 唯讀的根文件系統
  3. 防火牆鎖定
  4. DM-Verity

服務更新

發生安全性弱點時,CBL-Mariner 會提供最新的安全性修補程式和修正程式,以便透過ELOW每月更新提供服務。 虛擬機沒有套件管理員,因此無法手動下載並安裝 RPM 套件。 虛擬機的所有更新都會使用EFLOW A/B更新機制來安裝。 如需 EFLOW 更新的詳細資訊,請參閱 更新 Windows 上的適用於 Linux 的 IoT Edge

唯讀的根文件系統

EFLOW 虛擬機是由兩個主要分割區 rootfs 和數據所組成。 rootFS-A 或 rootFS-B 分割區是可互換的,其中一個會掛接為只讀文件系統, /這表示在此分割區內儲存的檔案上不允許任何變更。 另一方面,所掛接/var的數據分割是可讀取和可寫入的,允許使用者修改數據分割內的內容。 此分割區上儲存的數據不會由更新程式操作,因此不會在更新之間修改。

因為您可能需要對 、、 /var/home/root進行寫入存取/etc,對於特定使用案例,這些目錄的寫入存取權是藉由將這些目錄重疊至目錄的特定數據分割來完成。/var/.eflow/overlays 最後的結果是使用者可以將任何內容寫入先前提及的目錄。 如需重疊的詳細資訊,請參閱 overlayfs

EFLOW CR 分割區配置

資料分割 大小 描述
BootEFIA 8 MB 適用於未來 GRUBless 開機的韌體磁碟分區 A
BootA 192 MB 包含分割區的啟動載入器
RootFS A 4 GB 持有根文件系統的兩個主動/被動分割區之一
BootEFIB 8 MB 適用於未來 GRUBless 開機的韌體分割 B
BootB 192 MB 包含 B 磁碟分區的開機載入器
RootFS B 4 GB 持有根文件系統的兩個主動/被動分割區之一
記錄 1 GB 或 6 GB 記錄掛接在 /logs 下的特定分割區
資料 2 GB 到 2 TB 可設定狀態的數據分割,以跨更新儲存持續性數據。 根據部署組態展開

注意

分割區配置代表邏輯磁碟大小,而且不會指出虛擬機在主機 OS 磁碟上佔用的實體空間。

防火牆

根據預設,EFLOW 虛擬機會針對防火牆組態使用 iptables 公用程式。 Iptables 可用來設定、維護及檢查Linux核心中的IP封包篩選規則數據表。 默認實作只允許埠 22 (SSH 服務) 上的連入流量,否則會封鎖流量。 您可以使用下列步驟來檢查 iptables 組態:

  1. 開啟提升許可權的 PowerShell 工作階段

  2. 連線 至 EFLOW 虛擬機

    Connect-EflowVm
    
  3. 列出所有 iptables 規則

    sudo iptables -L
    

    EFLOW iptables 預設值

已驗證開機

EFLOW 虛擬機支援透過包含的 device-mapper-verity (dm-verity) 核心功能來驗證開機,此功能提供區塊裝置的透明完整性檢查。 dm-verity 有助於防止可保留根許可權並危害裝置的持續 rootkit。 這項功能可確保虛擬機基底軟體映像相同,而且不會改變。 虛擬機會使用 dm-verity 功能來檢查特定區塊裝置、文件系統的基礎儲存層,並判斷其是否符合其預期組態。

根據預設,此功能會在虛擬機中停用,而且可以開啟或關閉。 如需詳細資訊,請參閱 dm-verity

信任的平台模組 (TPM)

信賴平臺模組 (TPM) 技術的設計目的是提供硬體型安全性相關功能。 TPM 晶片是一種安全的密碼編譯處理器,其設計目的是執行密碼編譯作業。 此晶片包含多個實體安全性機制,使得它具備防竄改功能,在 TPM 安全性功能的加持下,惡意程式碼軟體便無法進行竄改。

EFLOW 虛擬機不支援 vTPM。 不過,用戶可以啟用/停用 TPM 傳遞功能,讓 EFLOW 虛擬機能夠使用 Windows 主機 OS TPM。 這可啟用兩個主要案例:

  • 使用裝置布建服務使用 TPM 技術進行IoT Edge裝置布建(DPS)。 如需詳細資訊,請參閱 使用 TPM 大規模在 Windows 裝置上建立和布建適用於 Linux 的 IoT Edge。
  • 唯讀存取儲存在 TPM 內的密碼編譯金鑰。 如需詳細資訊,請參閱 Set-EflowVmFeature 以啟用 TPM 傳遞

安全主機和虛擬機通訊

EFLOW 提供多種方式,透過公開豐富的PowerShell模組實作來與虛擬機互動。 如需詳細資訊,請參閱 Windows 上適用於適用於 Linux 的 IoT Edge PowerShell 函式。 此課程模組需要提高許可權的會話才能執行,而且會使用 Microsoft Corporation 憑證進行簽署。

PowerShell Cmdlet 所需的 Windows 主機操作系統與 EFLOW 虛擬機之間的所有通訊都是使用 SSH 通道來完成。 根據預設,虛擬機 SSH 服務不允許透過使用者名稱和密碼進行驗證,而且僅限於憑證驗證。 憑證會在 EFLOW 部署程式期間建立,而且對於每個 EFLOW 安裝而言都是唯一的。 此外,為了防止 SSH 暴力密碼破解攻擊,如果虛擬機嘗試每分鐘連線超過三個連線至 SSH 服務,就會封鎖 IP 位址。

在 EFLOW 連續版本 (CR) 版本中,我們引進了用來建立 SSH 連線的傳輸通道變更。 最初,SSH 服務會在 TCP 連接埠 22 上執行,這可由相同網路中的所有外部裝置使用 TCP 套接字存取該特定埠。 基於安全性考慮,EFLOW CR 會透過 Hyper-V 套接字執行 SSH 服務,而不是一般 TCP 套接字。 透過 Hyper-V 套接字的所有通訊都會在 Windows 主機 OS 與 EFLOW 虛擬機之間執行,而不需使用網路功能。 這會限制 SSH 服務的存取,只限制對 Windows 主機 OS 的連線。 如需詳細資訊,請參閱 Hyper-V 套接字

下一步

深入瞭解 Windows IoT 安全性單位

在 Windows 更新上隨時掌握最新適用於 Linux 的 IoT Edge。