適用於:
Azure IoT Edge 1.5
重要事項
IoT Edge 1.5 LTS 是支援的版本。 自 2024 年 11 月 12 日起,IoT Edge 1.4 LTS 已結束生命週期。 如果您採用舊版,請參閱更新 IoT Edge。
Windows 上的 Azure IoT Edge for Linux 會使用 Windows 用戶端或伺服器主機的所有安全性功能,並確定所有額外的元件都遵循相同的安全性原則。 本文說明默認啟用的不同安全性原則,以及您可以啟用的一些選擇性原則。
虛擬機器安全性
適用於 Linux 的 IoT Edge (EFLOW) 策劃虛擬機器是以 Microsoft Azure Linux 為基礎。 Azure Linux 是 Microsoft 雲端基礎結構、邊緣產品和服務的內部 Linux 發行版。 Azure Linux 為這些裝置和服務提供一致的平臺,並協助 Microsoft 保持最新的 Linux 更新。 如需詳細資訊,請參閱 Azure Linux 安全性。
EFLOW 虛擬機使用四點全方位安全性平臺:
- 提供更新
- 唯讀根檔案系統
- 防火牆鎖定
- DM-Verity
提供更新
當安全性弱點發生時,Azure Linux 會透過 EFLOW 每月更新提供最新的安全性修補程式和修正程式。 虛擬機沒有套件管理員,因此您無法手動下載或安裝 RPM 套件。 EFLOW 會使用 A/B 更新機制,將所有更新安裝至虛擬機。 如需 EFLOW 更新的詳細資訊,請參閱更新 IoT Edge for Linux on Windows。
唯讀根檔案系統
EFLOW 虛擬機有兩個主要分割區:rootfs和數據。 rootFS-A 或 rootFS-B 分割區可互換,而其中一個磁碟分區會掛接為只讀 /文件系統,因此您無法變更此分割區中的檔案。 掛載於下的/var分區是可讀取與可寫入的,因此您可以變更其內容。 更新程式不會變更儲存在此分割區中的數據,因此不會在更新之間修改。
因為在特定使用案例中,您可能需要對 /etc、/home、/root 和 /var 進行寫入存取,因此 EFLOW 將這些目錄疊加在 /var/.eflow/overlays 的數據分割上,以提供寫入存取權。 這個設定可讓您寫入這些目錄。 如需關於重疊的詳細資訊,請參閱 overlayfs。
| 資料分割 | 大小 | 描述 |
|---|---|---|
| BootEFIA | 8 MB | 用於未來 GRUBless 開機的韌體分割區 A |
| BootA | 192 MB | 包含 A 分割區的開機載入器 |
| RootFS A | 4 GB | 包含根檔案系統的兩個主動/被動分割區之一 |
| 啟動EFIB | 8 MB | 用於未來 GRUBless 開機的韌體分割區 B |
| BootB | 192 MB | 包含 B 分割區的開機載入器 |
| RootFS B | 4 GB | 包含根檔案系統的兩個主動/被動分割區之一 |
| Log | 1 GB 或 6 GB | 掛接於 /logs 下的記錄特定分割區 |
| 資料 | 2 GB 至 2 TB | 可跨更新儲存持續性資料的具狀態分割區。 根據部署組態可擴展。 |
附註
分割區配置代表邏輯磁碟大小,而且不會指出虛擬機在主機 OS 磁碟上使用的實體空間。
防火牆
根據預設,EFLOW 虛擬機會針對防火牆設定使用 iptables 公用程式。 Iptables 會在 Linux 核心中設定、維護及檢查 IP 封包篩選規則的數據表。 預設實作允許埠 22(SSH 服務)的連入流量,並封鎖其他流量。 使用下列步驟檢查 iptables 組態:
開啟提升權限的 PowerShell 工作階段
連線至 EFLOW 虛擬機器
Connect-EflowVm列出所有 iptables 規則
sudo iptables -L
驗證開機
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 技術搭配裝置布建服務 (DPS) 進行 IoT Edge 裝置佈建。 如需詳細資訊,請參閱使用 TPM 大規模建立和佈建 IoT Edge for Linux on Windows 裝置。
- 對儲存在 TPM 中的密碼編譯金鑰的唯讀存取權。 如需詳細資訊,請參閱 Set-EflowVmFeature 以啟用 TPM 傳遞。
保護主機與虛擬機器的通訊
EFLOW 可讓您使用PowerShell模組與虛擬機互動。 如需詳細資訊,請參閱適用於 IoT Edge for Linux on Windows 的 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 主機作業系統與 EFLOW 虛擬機器之間,而不需使用網路。 此設定會限制只有 Windows 主機 OS 的連線,以限制 SSH 服務存取。 如需詳細資訊,請參閱 Hyper-V 通訊端。
後續步驟
深入了解 Windows IoT 安全性內部部署
隨時掌握 Windows 上適用於 Linux 的最新 IoT Edge 更新。
