共用方式為


IoT Edge for Linux on Windows 安全性

適用於: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

Azure IoT Edge for Linux on Windows 獲益於在 Windows 用戶端/伺服器主機上執行的所有安全性供應項目,可確保所有額外的元件均保有相同的安全性內部部署。 本文提供依預設啟用的不同安全性內部部署,以及使用者可能啟用的一些選擇性內部部署的相關資訊。

虛擬機器安全性

IoT Edge for Linux (EFLOW) 策展虛擬機器以 Microsoft CBL-Curatr 為基礎。 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 更新的詳細資訊,請參閱更新 IoT Edge for Linux on Windows

唯讀根檔案系統

EFLOW 虛擬機器由兩個主要分割區組成:rootfsdata。 rootFS-A 或 rootFS-B 分割區可互換,兩者的其中之一會在 / 掛接為唯讀檔案系統,這表示,儲存在此分割區內的檔案不允許任何變更。 另一方面,掛接於 /var 底下的 data 分割區是可讀取和可寫入的,因此允許使用者修改該分割區內的內容。 儲存在此分割區上的資料不會由更新程序操作,因此不會隨著更新而修改。

由於在特定使用案例中,您可能需要對 /etc/home/root/var 的寫入存取權,藉由將這些目錄重疊到我們的資料分割區上 (具體而言是目錄 /var/.eflow/overlays),即可對這些目錄進行寫入存取。 最終結果是,使用者可將任何內容寫入先前提及的目錄。 如需關於重疊的詳細資訊,請參閱 overlayfs

EFLOW CR 分割區配置

資料分割 大小 描述
BootEFIA 8 MB 用於未來 GRUBless 開機的韌體分割區 A
BootA 192 MB 包含 A 分割區的開機載入器
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。 這可以支援兩個主要案例:

保護主機與虛擬機器的通訊

EFLOW 藉由公開豐富的 PowerShell 模組實作,提供了多種與虛擬機器互動的方式。 如需詳細資訊,請參閱適用於 IoT Edge for Linux on Windows 的 PowerShell 函式。 此模組需要提升權限的工作階段才能執行,且需使用 Microsoft Corporation 憑證加以簽署。

Windows 主機作業系統與 PowerShell Cmdlet 所需的 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 安全性內部部署

隨時掌握最新的 IoT Edge for Linux on Windows 更新