IoT 解決方案的安全性最佳做法
本概觀介紹了保護典型 Azure IoT 解決方案方面的重要概念。 每一節都包含可提供進一步詳細資料和指引的內容連結。
下圖顯示一般 IoT 解決方案中元件的高階檢視。 本文著重於 IoT 解決方案的安全性。
您可以將 IoT 解決方案中的安全性分成下列三個區域:
裝置安全性:在 IoT 裝置部署在網路上時保護裝置。
連線安全性︰確保在 IoT 裝置與 IoT 雲端服務之間傳輸的所有資料均有加密並防止竄改。
雲端安全性:保護資料在雲端移動和儲存的安全性。
實作本文中的建議,可協助您履行共同責任模型中所述的安全性義務。
適用於 IoT 的 Microsoft Defender
適用於 IoT 的 Microsoft Defender 可自動監視本文中包含的部分建議。 適用於 IoT 的 Microsoft Defender 必須是保護您在 Azure 中資源的第一道防線。 適用於 IoT 的 Microsoft Defender 會定期分析 Azure 資源的安全性狀態,以找出潛在的安全性弱點。 然後它會提供您如何補救這些問題的建議。 若要深入了解,請參閱:
- 使用安全性建議增強安全性態勢。
- 對於組織來說,什麼是適用於 IoT 的 Microsoft Defender?。
- 對於裝置建立器來說,什麼是適用於 IoT 的 Microsoft Defender?。
裝置安全性
設定符合最小需求的硬體範圍:選取您的裝置硬體,以包含其運作時所需的最少功能,僅此而已。 例如,僅在解決方案中的裝置運作需要 USB 連接埠時,才包含這些連接埠。 額外的功能可能會使裝置遭受不必要的媒介攻擊。
選取具備防竄改功能的硬體:選取內建機制可偵測實體竄改的裝置硬體,例如打開裝置外蓋或移除裝置零件。 這些竄改訊號可以是上傳至雲端的資料流一部分,從而向操作員發出這些事件的警示。
選取安全硬體:如果可能的話,請選擇包含安全性功能的裝置硬體,例如安全且加密的儲存體和以信賴平台模組 (TPM) 為基礎的開機功能。 這些功能可讓裝置更安全,有助於保護整體 IoT 的基礎結構。
啟用安全升級:在裝置存留期間進行韌體升級是不可避免的。 建置具有安全升級路徑和韌體版本加密保證的裝置,可在升級期間和升級之後保護您的裝置。
依循安全軟體開發方法:安全軟體開發需求您從專案一開始時就考慮安全性,一直到完成專案的實作、測試及部署。 Microsoft 安全性開發生命週期提供建置安全軟體的逐步建置方法。
盡可能使用裝置 SDK:裝置 SDK 會實作各種安全性功能,例如加密和驗證,其會協助您開發強固且安全的裝置應用程式。 若要深入了解,請參閱 Azure IoT SDK。
小心選擇開放原始碼軟體:開放原始碼軟體可提供快速開發解決方案的機會。 選擇開放原始碼軟體時,請考量每個開放原始碼元件的社群活動層級。 活躍的社群可確保軟體受到支援,且能發現問題並加以解決。 可能不支援晦澀難懂或不活躍的開放原始碼軟體專案,也可能無法探索到問題。
安全地部署硬體:IoT 部署可能會要求您將硬體部署在不安全的位置,例如公共空間或不受監督的區域。 在這類情況下,請確定硬體部署盡可能具備防竄改措施。 例如,如果硬體具有 USB 連接埠,請確定其受到安全保護。
維護驗證金鑰安全:在部署期間,每個裝置都需要由雲端服務所產生的裝置識別碼和關聯的驗證金鑰。 在部署之後也務必保護這些金鑰的實體安全。 惡意裝置可以使用任何洩漏的金鑰來偽裝成現有的裝置。
讓系統維持在最新狀態:確保裝置的作業系統和所有裝置驅動程式都已升級至最新版本。 將作業系統維持在最新狀態有助於確保其受到保護,以避免遭到惡意攻擊。
針對惡意活動提供保護:如果作業系統允許,請在每部裝置的作業系統中安裝最新的防毒和反惡意程式碼功能。
經常稽核:回應安全性事件時,針對安全性相關問題稽核 IoT 基礎結構是關鍵所在。 大部分的作業系統會提供內建事件記錄,您應經常加以檢閱以確保沒有發生安全性缺口。 裝置可將稽核資訊以個別遙測資料流的方式傳送至雲端服務,並在其中加以分析。
遵循裝置製造商安全性和部署最佳做法:如果裝置製造商提供安全性和部署指引,除了本文所列的一般指引之外,也請遵循該指引。
使用現場閘道為舊版或受限裝置提供安全性服務:舊版和受限裝置可能缺乏加密資料、與網際網路連線或提供進階稽核的功能。 在這些情況下,使用現代化且安全的場域閘道器可彙總來自舊型裝置的資料,並提供透過網際網路連線這些裝置時所需的安全性。 場域閘道器可提供安全驗證、加密工作階段交涉、雲端命令接收,以及許多其他安全性功能。
連線安全性
使用 X.509 憑證向 IoT 中樞或 IoT Central 驗證您的裝置:IoT 中樞和 IoT Central 都支援 X509 憑證型驗證和安全性權杖作為驗證裝置的方法。 可能的話,請在實際執行環境中使用 X509 型驗證,因為其可提供更高的安全性。 若要深入了解,請參閱向 IoT 中樞驗證裝置和 IoT Central 中的裝置驗證概念。
使用傳輸層安全性 (TLS) 1.2 來保護來自裝置的連線:IoT 中樞和 IoT Central 會使用 TLS 來保護來自 IoT 裝置和服務的連線。 目前支援三種 TLS 通訊協定版本:1.0、1.1 和 1.2。 TLS 1.0 和 1.1 會被視為舊版。 若要深入了解,請參閱驗證和授權。
確定您有辦法更新裝置上的 TLS 根證書:TLS 根證書會長期存在,但仍可能會過期或撤銷。 如果沒有方法更新裝置上的憑證,則裝置日後可能無法連線到 IoT 中樞、IoT Central 或任何其他雲端服務。
考慮使用 Azure Private Link:Azure Private Link 可讓您將裝置連線到虛擬網路上的私人端點,讓您可以封鎖對 IoT 中樞公用面向裝置端點的存取。 若要深入了解,請參閱使用 Azure Private Link 輸入連線到 IoT 中樞和使用私人端點的 IoT Central 網路安全性。
雲端安全性
依循安全軟體開發方法:安全軟體開發需求您從專案一開始時就考慮安全性,一直到完成專案的實作、測試及部署。 Microsoft 安全性開發生命週期提供建置安全軟體的逐步建置方法。
小心選擇開放原始碼軟體:開放原始碼軟體可提供快速開發解決方案的機會。 選擇開放原始碼軟體時,請考量每個開放原始碼元件的社群活動層級。 活躍的社群可確保軟體受到支援,且能發現問題並加以解決。 可能不支援晦澀難懂或不活躍的開放原始碼軟體專案,也可能無法探索到問題。
小心整合:程式庫和 API 的界限中存在許多軟體安全性問題。 目前部署中不需要的功能仍可能透過 API 層使用。 若要確保整體安全性,請務必檢查所有整合元件介面的安全性問題。
保護雲端認證:攻擊者可以使用您用來設定及操作 IoT 部署的雲端驗證認證,以取得 IoT 系統的存取權並入侵該系統。 您可以透過經常變更密碼來保護認證,並且不要在公用電腦上使用這些認證。
定義 IoT 中樞的存取控制:了解並定義 IoT 中樞解決方案中每個元件根據必要功能所需的存取類型。 有兩種方式可讓您授與服務 API 連線到 IoT 中樞的權限:Microsoft Entra ID 或共用存取簽章。 可能的話,請在生產環境中使用 Microsoft Entra ID,因為它可提供更高的安全性。
定義 IoT Central 應用程式的存取控制:了解並定義您為 IoT Central 應用程式啟用的存取類型。 若要深入了解,請參閱:
定義後端服務的存取控制:其他 Azure 服務可以取用 IoT 中樞或 IoT Central 應用程式從裝置擷取的資料。 您可以將訊息從裝置路由至其他 Azure 服務。 了解並設定適當的存取權限,讓 IoT 中樞或 IoT Central 連線到這些服務。 若要深入了解,請參閱:
從雲端監視 IoT 解決方案:使用 Azure 監視器中的 IoT 中樞計量來監視 IoT 解決方案的整體健康情況,或監視 IoT Central 應用程式健康情況。
設定診斷:藉由將事件記錄在您的解決方案中,然後將診斷記錄傳送至 Azure 監視器,來監視您的作業。 若要深入了解,請參閱監視和診斷 IoT 中樞的問題。
下一步
如需深入了解 IoT 安全性,請參閱: