IoT 解決方案可讓您大規模連線、監視及控制IoT裝置和資產。 在雲端連接解決方案中,裝置與資產直接連接至雲端。 在邊緣連接解決方案中,裝置與資產連接至邊緣執行環境。 您必須保護您的實體資產和裝置、邊緣基礎結構和雲端服務,以保護IoT解決方案免於威脅。 您也必須保護流經IoT解決方案的數據,無論是在邊緣還是雲端。
本文提供如何最好地保護您的IoT解決方案的指引。 每一節都包含可提供進一步詳細資料和指引的內容連結。
下圖展示了典型 邊緣連接物聯網解決方案中元件的高階視圖。 本文聚焦於邊緣連接物聯網解決方案的安全性:
在邊緣連接的物聯網解決方案中,您可以將安全分為以下四個領域:
資產安全性:在內部部署時保護IoT資產。
線上安全性:確保資產、邊緣和雲端服務之間的傳輸中所有數據都是機密且防竄改的。
邊緣安全性:保護數據在移動時的安全,並儲存在邊緣。
雲端安全性:保護數據在移動時的安全,並儲存在雲端中。
微軟物聯網 (IoT) 和容器防護程式
Microsoft Defender for IoT 是一款統一的安全解決方案,專門用來識別物聯網及營運技術(OT)裝置、漏洞與威脅。 Microsoft Defender for Containers 是一款雲端原生解決方案,旨在提升、監控並維護您的容器化資產(Kubernetes 叢集、Kubernetes 節點、Kubernetes 工作負載、容器登錄、容器映像等)及其應用程式的安全性,涵蓋多雲及本地環境。
Defender for IoT 與 Defender for Containers 都能自動監控本文部分建議。 IoT Defender 和 Containers Defender 應該成為保護您的邊緣連接解決方案的第一道防線。 若要深入了解,請參閱:
資產安全性
本節提供如何保護您的資產的指引,例如工業設備、感測器和其他屬於IoT解決方案的裝置。 資產的安全性對於確保其產生和傳輸之數據的完整性和機密性至關重要。
Use Azure Key Vault 及秘密儲存擴充功能:使用 Azure Key Vault來儲存和管理資產的敏感資訊,如金鑰、密碼、憑證和秘密。 Azure IoT Operations 使用 Azure Key Vault 作為雲端管理的金鑰保存庫解決方案,並使用 Azure Key Vault Secret Store 擴充套件用於 Kubernetes,將機密從雲端同步下來,並將其作為 Kubernetes 機密儲存在邊緣。 欲了解更多,請參閱 管理您的Azure IoT Operations部署秘密。
設定安全憑證管理:管理憑證對於確保資產與邊緣運行時間環境之間的安全通訊至關重要。 Azure IoT Operations 提供管理憑證的工具,包括憑證的發行、續期及撤銷。 欲了解更多,請參閱Azure IoT Operations 的內部通訊證書管理。
選取防竄改硬體:選擇具有內建機制的資產硬體來偵測實體竄改,例如開啟裝置封面或移除裝置的一部分。 這些竄改訊號可以是上傳至雲端的數據流的一部分,向作員發出這些事件的警示。
啟用資產韌體的安全更新:使用服務以啟用資產的無線更新。 使用安全路徑建置資產,以確保韌體版本的更新和密碼編譯保證,以在更新期間和之後保護您的資產。
安全地部署資產硬體:確保資產硬體部署可防止被篡改,特別是在不安全的地點,例如公用空間或未監督的地方。 只啟用必要的功能,以將實體攻擊面降到最低,例如,若不需要,請安全地覆蓋USB埠。
遵循裝置製造商安全性和部署最佳做法:如果裝置製造商提供安全性和部署指引,請遵循該指導方針以及本文中的一般指導方針。
連線安全性
本節提供如何保護資產、邊緣運行時間環境和雲端服務之間連線的指引。 線上的安全性對於確保所傳輸數據的完整性和機密性至關重要。
使用傳輸層安全(TLS)以保護來自資產的連線:Azure IoT Operations內所有通訊皆以TLS加密。 為了提供預設安全的體驗,減少你的邊緣連接解決方案無意中暴露於攻擊者的風險,Azure IoT Operations 部署時預設有根憑證(root CA)及 TLS 伺服器憑證的發行者。 針對生產部署,我們建議使用您自己的 CA 簽發者和企業 PKI 解決方案。
將您自己的 CA 用於生產環境:針對生產環境部署,請將預設自我簽署根 CA 取代為您自己的 CA 簽發者,並與企業 PKI 整合,以確保信任和合規性。 欲了解更多,請參閱Azure IoT Operations 的內部通訊證書管理。
考慮使用企業防火牆或代理伺服器來管理出站流量:如果你使用企業防火牆或代理伺服器,請將Azure IoT Operations端點加入你的允許清單。
加密訊息代理程序的內部流量:確保邊緣基礎結構內部通訊的安全性對於維護數據完整性和機密性很重要。 您應該設定 MQTT 訊息代理程式,以加密 MQTT 訊息代理程式前端與後端 Pod 之間的傳輸中內部流量和數據。 若要深入瞭解,請參閱 設定代理的內部流量和內部憑證的加密。
在你的MQTT中介中設定TLS與自動憑證管理:Azure IoT Operations在你的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 Operations。
部署可觀察性資源並設置日誌:可觀測性提供您Azure IoT Operations設定中每一層的可視化。 它可讓您深入解析問題的實際行為,進而提升網站可靠性工程的效益。 Azure IoT Operations 透過自訂策劃的 Grafana 儀表板提供可觀察性,這些儀表板托管於 Azure 中。 這些儀表板由 Prometheus 的 Azure Monitor 管理服務及 Container Insights 提供。 先在叢集中部署觀察性資源,再部署Azure IoT Operations。
使用 Azure RBAC 確保存取資產與資產端點的安全性:Azure IoT Operations 中的資產與資產端點在 Kubernetes 叢集與 Azure 入口網站中都有表示。 使用 Azure RBAC 來保護對這些資源的存取權限。 Azure RBAC 是一個授權系統,讓你能管理對 Azure 資源的存取。 使用 Azure RBAC 在特定範圍內授予使用者、群組和應用程式權限。 若要深入了解,請參閱保護資產和資產端點的存取。