共用方式為


保護您的IoT解決方案

IoT 解決方案可讓您大規模連線、監視及控制IoT裝置和資產。 在雲端式解決方案中,裝置和資產會直接連線到雲端。 在邊緣型解決方案中,裝置和資產會連線到邊緣運行時間環境。 您必須保護您的實體資產和裝置、邊緣基礎結構和雲端服務,以保護IoT解決方案免於威脅。 您也必須保護流經IoT解決方案的數據,無論是在邊緣還是雲端。

本文提供如何最好地保護您的IoT解決方案的指引。 每一節都包含可提供進一步詳細資料和指引的內容連結。

下圖顯示一般 邊緣型IoT解決方案中元件的高階檢視。 本文著重於邊緣型IoT解決方案的安全性:

顯示高階IoT邊緣型解決方案架構強調安全性的圖表。

在以邊緣為基礎的IoT解決方案中,您可以將安全性分成下列四個區域:

  • 資產安全性:在內部部署時保護IoT資產。

  • 線上安全性:確保資產、邊緣和雲端服務之間的傳輸中所有數據都是機密且防竄改的。

  • 邊緣安全性:保護數據在移動時的安全,並儲存在邊緣。

  • 雲端安全性:保護數據在移動時的安全,並儲存在雲端中。

適用於 IoT 和適用於容器的 Microsoft Defender

Microsoft適用於IoT的Defender是專為識別IoT和作業技術 (OT) 裝置、弱點和威脅而建置的統一安全性解決方案。 適用於容器的 Microsoft Defender 是一種雲端原生解決方案,可改善、監視和維護容器化資產 (Kubernetes 叢集、Kubernetes 節點、Kubernetes 工作負載、容器登錄、容器映像等等) 的安全性,以及其跨多雲端和內部部署環境之應用程式的安全性。

適用於 IoT 的 Defender 和適用於容器的 Defender 都可以自動監視本文中包含的一些建議。 適用於IoT的Defender和適用於容器的Defender應該是防禦的前線,以保護邊緣式解決方案。 若要深入了解,請參閱:

資產安全性

本節提供如何保護您的資產的指引,例如工業設備、感測器和其他屬於IoT解決方案的裝置。 資產的安全性對於確保其產生和傳輸之數據的完整性和機密性至關重要。

  • 使用 Azure Key Vault 和秘密存放區擴充功能:使用 Azure Key Vault 來儲存和管理資產的敏感性資訊,例如密鑰、密碼、憑證和秘密。 Azure IoT 營運使用 Azure Key Vault 作為雲端的受控金鑰保存解決方案,並使用適用於 Kubernetes 的 Azure Key Vault Secret Store 擴充功能,將秘密從雲端同步至邊緣,並作為 Kubernetes 秘密儲存。 若要深入瞭解,請參閱 管理 Azure IoT 作業部署的秘密。

  • 設定安全憑證管理:管理憑證對於確保資產與邊緣運行時間環境之間的安全通訊至關重要。 Azure IoT 作業提供管理憑證的工具,包括發行、更新和撤銷憑證。 若要深入瞭解,請參閱 Azure IoT 作業內部通訊的憑證管理。

  • 選取防竄改硬體:選擇具有內建機制的資產硬體來偵測實體竄改,例如開啟裝置封面或移除裝置的一部分。 這些竄改訊號可以是上傳至雲端的數據流的一部分,向作員發出這些事件的警示。

  • 啟用資產韌體的安全更新:使用服務以啟用資產的無線更新。 使用安全路徑建置資產,以確保韌體版本的更新和密碼編譯保證,以在更新期間和之後保護您的資產。

  • 安全地部署資產硬體:確保資產硬體部署可防止被篡改,特別是在不安全的地點,例如公用空間或未監督的地方。 只啟用必要的功能,以將實體攻擊面降到最低,例如,若不需要,請安全地覆蓋USB埠。

  • 遵循裝置製造商安全性和部署最佳做法:如果裝置製造商提供安全性和部署指引,請遵循該指導方針以及本文中的一般指導方針。

連線安全性

本節提供如何保護資產、邊緣運行時間環境和雲端服務之間連線的指引。 線上的安全性對於確保所傳輸數據的完整性和機密性至關重要。

  • 使用傳輸層安全性 (TLS) 來保護資產的連線:Azure IoT 作業中的所有通訊都會使用 TLS 加密。 為了提供預設安全性體驗,減少邊緣型解決方案無意中暴露給攻擊者的風險,Azure IoT 作業會使用預設的根 CA 和 TLS 伺服器證書的簽發者來進行部署。 針對生產部署,我們建議使用您自己的 CA 簽發者和企業 PKI 解決方案。

  • 將您自己的 CA 用於生產環境:針對生產環境部署,請將預設自我簽署根 CA 取代為您自己的 CA 簽發者,並與企業 PKI 整合,以確保信任和合規性。 若要深入瞭解,請參閱 Azure IoT 作業內部通訊的憑證管理。

  • 請考慮使用企業防火牆或 Proxy 來管理輸出流量:如果您使用企業防火牆或 Proxy,請將 Azure IoT 作業端點 新增至您的允許清單。

  • 加密訊息代理程序的內部流量:確保邊緣基礎結構內部通訊的安全性對於維護數據完整性和機密性很重要。 您應該設定 MQTT 訊息代理程式,以加密 MQTT 訊息代理程式前端與後端 Pod 之間的傳輸中內部流量和數據。 若要深入瞭解,請參閱 設定代理的內部流量和內部憑證的加密

  • 為 MQTT 訊息代理程式中的接聽程式設定具有自動憑證管理的 TLS:Azure IoT 作業可為 MQTT 訊息代理程式中的接聽程式提供自動憑證管理。 此功能可減少手動管理憑證的系統管理額外負荷、確保及時更新,並協助維護安全策略的合規性。 若要深入瞭解,請參閱 使用 BrokerListener 保護 MQTT 訊息代理程序通訊。

  • 設定與 OPC UA 伺服器的安全連線:連線到 OPC UA 伺服器時,您應該判斷信任哪些 OPC UA 伺服器可安全地建立會話。 若要深入瞭解,請參閱 為 OPC UA 的連接器設定 OPC UA 憑證基礎結構。

  • 隔離和區隔網路:使用網路分割和防火牆,將IoT作業叢集和邊緣裝置與其他網路資源隔離。 如果使用企業防火牆或 Proxy,請將必要的端點新增至您的允許清單。 若要深入瞭解,請參閱 生產部署指導方針 – 網路功能。

邊緣安全性

本節提供如何保護邊緣運行時間環境的指引,也就是在邊緣平臺上執行的軟體。 此軟體會處理資產數據,並管理資產與雲端服務之間的通訊。 邊緣運行時間環境的安全性對於確保處理和傳輸之數據的完整性和機密性至關重要。

  • 讓邊緣運行時間環境保持最新狀態:使用最新的修補程式和次要版本,讓您的叢集和 Azure IoT 作業部署保持最新狀態,以取得所有可用的安全性和錯誤修正。 針對生產環境部署, 請關閉 Azure Arc 的自動升級 ,以完全控制何時將新更新套用至您的叢集。 相反地, 請視需要手動升級代理程式

  • 確認容器和 helm 映射的完整性:將任何映射部署至叢集之前,請確認映像已由Microsoft簽署。 若要深入瞭解,請參閱 驗證映像簽署

  • 一律使用 X.509 憑證或 Kubernetes 服務帳戶令牌向 MQTT 訊息代理程式進行驗證:MQTT 訊息代理程式支援用戶端的多個驗證方法。 您可以將每個監聽埠配置為通過使用 BrokerAuthentication 資源來設置其自己的身份驗證設定。 若要深入瞭解,請參閱 設定 MQTT 訊息代理程序驗證

  • 提供 MQTT 訊息代理程式中主題資產所需的最低許可權:授權原則會決定用戶端可以在訊息代理程式上執行的動作,例如連線、發佈或訂閱主題。 將 MQTT 訊息代理程式設定為搭配 BrokerAuthorization 資源使用一或多個授權原則。 若要深入瞭解,請參閱 設定 MQTT 訊息代理程序授權

雲端安全性

本節提供如何保護雲端服務的指引,這些服務是處理和儲存資產數據的服務。 雲端服務的安全性對於確保數據的完整性和機密性至關重要。

  • 針對雲端聯機使用使用者指派的受控識別:一律使用受控識別驗證。 可能的話, 請在數據流端點中使用使用者指派的受控識別 ,以彈性和可稽核性。 若要深入瞭解,請參閱 在 Azure IoT 作業中啟用安全設定

  • 部署可檢視性資源並設定記錄:可檢視性可讓您查看 Azure IoT 作業設定的每個層。 它可讓您深入解析問題的實際行為,進而提升網站可靠性工程的效益。 Azure IoT 作業可透過裝載在 Azure 中的自訂策展 Grafana 儀錶板來提供可檢視性。 這些儀表板由適用於 Prometheus 的 Azure 監視器受管理服務和 Container Insights 技術支援。 在部署 Azure IoT 作業之前,先在叢集上部署可觀察性資源

  • 使用 Azure RBAC 保護資產和資產端點的存取:Azure IoT Operations 中的資產和資產端點在 Kubernetes 叢集和 Azure 入口網站 中都有表示法。 使用 Azure RBAC 來保護對這些資源的存取。 Azure RBAC 是一種授權系統,可讓您管理 Azure 資源的存取權。 使用 Azure RBAC 將許可權授與特定範圍的使用者、群組和應用程式。 若要深入了解,請參閱保護資產和資產端點的存取