本文是一系列文章之一,說明使用 適用於 IoT 的 Microsoft Defender 部署 OT 監控的路徑,並說明如何在 OT 感測器上設定代理設定以連接 Azure。
以下情況下你可以跳過這個步驟:
如果你在空氣間隙環境工作,感測器由本地管理
如果你用的是 OT 感測器和 Azure 之間的直接連線, 在這種情況下,你在配置感測器做雲端管理時,已經完成了所有必要的步驟
必要條件
要執行本文所述步驟,你需要:
了解雲端連接 Defender for IoT 感測器 所支援的連接方式 ,以及規劃你的 OT 站點部署 計畫,包含你想為每個感測器使用的連接方式。
作為管理員使用者,可以存取 OT 感測器。 欲了解更多資訊,請參閱 使用 Defender for IoT 進行 OT 監控的本地用戶與角色。
此步驟由您的部署與連接團隊執行。
在你的 OT 感測器上設定代理設定
本節說明如何在你的 OT 感測器主控台上設定現有代理的設定。 如果你還沒有代理檔,請使用以下程序來設定:
要定義你 OT 感測器上的代理設定:
登入你的 OT 感測器,選擇 系統設定 > 感測器網路設定。
切換啟用 代理 權選項,然後輸入以下代理伺服器的詳細資訊:
- 代理主機
- 代理埠
- 代理用戶名 (可選)
- 代理密碼 (可選)
例如:
如果有需要,請選擇 Client 憑證 ,上傳代理認證憑證以存取 SSL/TLS 代理伺服器。
注意事項
代理伺服器檢查 SSL/TLS 流量時,例如使用 Zscaler 和 Palo Alto Prisma 等服務時,客戶端 SSL/TLS 憑證是必須的。
選取 [儲存]。
Set a Azure proxy
在以下情況下,你可以使用 Azure 代理將感測器連接到 Defender for IoT:
- 你需要感測器和 Azure 之間的私人連線
- 您的網站是透過 ExpressRoute 連接到 Azure 的
- 你的網站是透過 VPN 連接到 Azure 的
如果你已經設定好代理,請直接在 感測器控制台上設定代理設定。
如果你還沒設定代理,請使用本節的程序在你的 Azure VNET 中設定一個。
必要條件
開始前,請確保你具備:
一個用於監控日誌的日誌分析工作區
Remote site connectivity to the Azure VNET
允許從你的感測器到 Defender for IoT 所需端點的 443 埠口的 HTTPS 外出流量。 欲了解更多資訊,請參閱 「雲端管理配置 OT 感測器」。
一個代理伺服器資源,擁有防火牆權限以存取 Microsoft 雲端服務。 本文所述的程序使用一台托管在 Azure 上的 Squid 伺服器。
重要事項
適用於 IoT 的 Microsoft Defender 不支援 Squid 或其他代理服務。 建立並維護代理服務是客戶的責任。
設定感測器代理設定
本節說明如何在 Azure VNET 中設定代理伺服器以搭配 OT 感測器使用,並包含以下步驟:
- 定義一個儲存帳號用於 NSG 日誌
- 定義虛擬網路與子網
- 定義虛擬或本地網路閘道器
- 定義網路安全群組
- Define a Azure virtual machine scale set
- Create an Azure load balancer
- 設定 NAT 閘道
步驟 1:定義 NSG 日誌的儲存帳戶
在 Azure 入口網站中,請建立一個新的儲存帳號,並設定如下:
| 區域 | 設定 |
|---|---|
| 基本概念 |
性能:Standard 帳號類型:Blob 儲存 複製:LRS |
| 網路 |
連接方式:選擇網路) (公共端點 在虛擬網路中:無 路由偏好:Microsoft 網路路由 |
| 資料保護 | 保持所有選項清晰 |
| 進階 | 保留所有預設值 |
步驟 2:定義虛擬網路與子網
建立以下 VNET 及包含子網:
| 名稱 | 建議尺寸 |
|---|---|
MD4IoT-VNET |
/26 或 /25 搭配 Bastion |
| 子網: | |
- GatewaySubnet |
/27 |
- ProxyserverSubnet |
/27 |
-
AzureBastionSubnet (選) |
/26 |
步驟 3:定義虛擬或本地網路閘道
可以建立 VPN 或 ExpressRoute 閘道器來支援虛擬閘道,或建立本地閘道,視你如何連接本地網路到 Azure。
把閘道器連接到你之前建立的GatewaySubnet子網路。
如需詳細資訊,請參閱:
步驟 4:定義網路安全群組
建立一個 NSG 並定義以下入站規則:
建立規則
100,允許來自感測器 (來源的流量) 到負載平衡器的私人 IP 位址 (目的地) 。 請使用埠tcp3128口。建立規則
4095作為系統規則的複製65001。 這是因為規則65001會被規則4096覆蓋。建立
4096規則來拒絕所有微分段流量。選用。 如果你用的是 Bastion,請建立規則
4094讓 Bastion 可以 SSH 連線到伺服器。 用 Bastion 子網作為來源。
把 NSG 指派給你之前建立的。
ProxyserverSubnet定義你的 NSG 記錄:
選擇你的新 NSG,然後選擇 「 > 新增診斷設定」。
輸入你的診斷設定名稱。 在 分類 中,選擇 所有日誌。
選擇 「傳送至Log Analytics workspace」,然後選擇你想使用的Log Analytics workspace。
選擇傳送 NSG 流量日誌 ,然後定義以下值:
關於基礎標籤:
- 輸入一個有意義的名字
- 選擇你之前建立的儲存帳號
- 定義你所需的留任天數
在設定標籤中:
- 精選 版本 2
- 選擇 啟用流量分析
- 選擇您的日誌分析工作區
步驟5:定義一個Azure虛擬機尺度集
定義一個 Azure 虛擬機擴展集,用以建立和管理一組負載平衡的虛擬機器,並可根據需要自動增加或減少虛擬機數量。
欲了解更多資訊,請參閱 「什麼是虛擬機縮放集?」
要建立一個用於感應器連接的秤組:
建立一個包含以下參數定義的刻度集:
- 編曲模式:統一
- 安全類型:標準
- 圖片來源:Ubuntu Server LTS (24.04 或更新版本)
- 尺寸:Standard_DS1_V2
- 認證:基於您的企業標準
磁碟 設定的 預設值就要保留。
在你之前建立的子網建立一個網路介面
Proxyserver,但還沒定義負載平衡器。請將縮放設定定義如下:
- 定義初始實例數為 1
- 將縮放政策定義為 手動
請定義以下管理設定:
- 升級模式請選擇 自動——實例將開始升級
- 停用開機診斷
- 清除身份與Microsoft Entra ID 的設定
- 選擇 過度配置
- 選擇 啟用自動作業系統升級
請定義以下健康設定:
- 選擇 啟用應用程式健康監控
- 選擇 TCP 協定及 埠 3128
在進階設定中,將 擴散演算法 定義為 最大擴散。
對於自訂資料腳本,請執行以下操作:
根據你使用的埠號和服務,建立以下設定腳本:
# Recommended minimum configuration: # Squid listening port http_port 3128 # Do not allow caching cache deny all # allowlist sites allowed acl allowed_http_sites dstdomain .azure-devices.net acl allowed_http_sites dstdomain .blob.core.windows.net acl allowed_http_sites dstdomain .servicebus.windows.net acl allowed_http_sites dstdomain .download.microsoft.com http_access allow allowed_http_sites # allowlisting acl SSL_ports port 443 acl CONNECT method CONNECT # Deny CONNECT to other unsecure ports http_access deny CONNECT !SSL_ports # default network rules http_access allow localhost http_access deny all把你的腳本檔案內容用 base-64編碼。
複製編碼檔案的內容,然後建立以下設定腳本:
#cloud-config # updates packages apt_upgrade: true # Install squid packages packages: - squid run cmd: - systemctl stop squid - mv /etc/squid/squid.conf /etc/squid/squid.conf.factory write_files: - encoding: b64 content: <replace with base64 encoded text> path: /etc/squid/squid.conf permissions: '0644' run cmd: - systemctl start squid - apt-get -y upgrade; [ -e /var/run/reboot-required ] && reboot
步驟 6:建立 Azure 負載平衡器
Azure Load Balancer 是一款第四層負載平衡器,利用基於雜湊的分配演算法將進入的流量分配到健康的虛擬機實例。
欲了解更多資訊,請參閱 Azure Load Balancer 文件。
要為你的感測器連線建立 Azure 負載平衡器:
建立一個負載平衡器,包含標準 SKU 和 Internal 類型,確保負載平衡器對網路是封閉的。
在你之前建立的子網路中定義一個動態前端 IP 位址
proxysrv,並將可用性設為區域冗餘。後端的話,選擇你 之前建立的虛擬機器縮放集。
在感測器定義的埠口,建立一條 TCP 負載平衡規則,將前端 IP 位址與後端池連接起來。 預設埠口是 3128。
建立一個新的健康探針,並在埠 3128 上定義一個 TCP 健康探針。
定義你的負載平衡器記錄:
在 Azure 入口網站,進入你建立的負載平衡器。
選擇 診斷設定>新增診斷設定。
輸入一個有意義的名稱,並將該類別定義為 allMetrics。
選擇 「傳送至Log Analytics工作區」,然後選擇你的Log Analytics工作區。
步驟7:設定NAT閘道
要為感測器連線設定 NAT 閘道:
建立一個新的 NAT 閘道器。
在 「外撥 IP 」標籤中,選擇 「建立新的公共 IP 位址」。
在子網分頁,選擇你之前建立的
ProxyserverSubnet子網。
你的代理伺服器現在已經完全設定好了。 繼續在你的 OT 感測器 上定義代理設定 。
透過代理鏈連接
你可以在以下情況下,利用代理鏈連接你的感測器到 Azure 中的 Defender for IoT:
- 你的感測器需要一個代理伺服器,才能從 OT 網路連接到雲端
- 你需要多個感測器透過單一點連接到 Azure
如果你已經設定好代理,請直接在 感測器控制台上設定代理設定。
如果你還沒設定代理,請使用本節的程序來設定代理鏈。
欲了解更多資訊,請參閱 代理鏈結中的代理連線。
必要條件
在開始之前,請確保你的主機伺服器在站點網路內運行代理程序。 代理程序必須同時被感測器及鏈中下一個代理存取。
我們已使用開源的 Squid 代理驗證此程序。 此代理伺服器使用 HTTP 隧道及 HTTP CONNECT 指令來連接。 任何支援 CONNECT 指令的其他代理鏈連接都可以用於此連線方式。
重要事項
適用於 IoT 的 Microsoft Defender 不支援 Squid 或其他代理服務。 建立並維護代理服務是客戶的責任。
設定代理鏈連接
此程序說明如何在 Ubuntu 伺服器上使用最新版本的 Squid,安裝並設定感測器與 Defender for IoT 之間的連線。
請在每個感測器上定義你的代理設定:
登入你的 OT 感測器,選擇 系統設定 > 感測器網路設定。
切換啟用 代理 權選項,並定義你的代理主機、埠號、使用者名稱和密碼。
安裝 Squid 代理:
登入你的代理 Ubuntu 電腦,並啟動終端機視窗。
更新你的系統並安裝 Squid。 例如:
sudo apt-get update sudo apt-get install squid找到Squid的設定檔。 例如,在 或
/etc/squid/squid.conf/etc/squid/conf.d/,並在文字編輯器中開啟該檔案。在 Squid 設定檔中,搜尋以下文字:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS。在檔案中加入
acl <sensor-name> src <sensor-ip>,http_access allow <sensor-name>, 例如:# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS acl sensor1 src 10.100.100.1 http_access allow sensor1需要時增加感測器,增加感應器線路。
設定 Squid 服務從上線時啟動。 跑步:
sudo systemctl enable squid
把你的代理連接到 Defender for IoT。 確保 443 埠的 HTTPS 外出流量允許從你的感測器傳送到 Defender for IoT 所需的端點。
欲了解更多資訊,請參閱 「雲端管理配置 OT 感測器」。
你的代理伺服器現在已經完全設定好了。 繼續在你的 OT 感測器 上定義代理設定 。
為多雲環境設置連接性
本節說明如何將感測器從部署於一個或多個公共雲中的感測器連接到 Azure 中的 Defender for IoT。 欲了解更多資訊,請參閱多雲連接。
必要條件
開始前,請確保你已部署在公共雲(如 AWS 或 Google Cloud)中,並設定為監控 SPAN 流量。
選擇多雲連接方式
請使用以下流程圖來決定應採用哪種連接方式:
如果你不需要用私有 IP 交換資料,就用網路上的公有 IP 位址
只有在您*不*需要以下任何一項時,才使用網際網路上的站對站 VPN:
- 可預測吞吐量
- 南美語
- 高資料量傳輸
- 避免透過公共網路連線
如果你需要可預測的吞吐量、服務等級等級(SLA)、高流量的資料傳輸,或避免透過公共網際網路連線,請使用 ExpressRoute。
在這種情況下:
- 如果你想擁有並管理負責連線的路由器,請使用 ExpressRoute 搭配客戶管理路由。
- 如果你不需要擁有並管理連接的路由器,可以使用 ExpressRoute 搭配雲端交換服務提供商。
組態
請用Azure 雲端採用架構推薦的方法之一,設定你的感測器連接到雲端。 欲了解更多資訊,請參閱 與其他雲端供應商的連結。
要啟用 VPC 與 Defender for IoT 之間的私人連線,請透過 VPN 連線將 VPC 連接到 Azure VNET。 例如,如果你是從 AWS VPC 連線,請參考我們的 TechCommunity 部落格:如何僅用受管解決方案建立 Azure 與 AWS 之間的 VPN。
在 VPC 和 VNET 設定好後,請在 OT 感測器 上定義代理設定 。
後續步驟
我們建議您設定 Active Directory 連線,以管理 OT 感測器上的本地使用者,並透過 SNMP 設定感測器健康監控。
如果你在部署時沒有設定這些設定,也可以之後再回去設定。 如需詳細資訊,請參閱: