在 OT 感應器上設定 Proxy 設定
本文是描述使用適用於 IoT 的 Microsoft Defender 進行 OT 監視之部署路徑的系列文章之一,以及說明如何在 OT 感應器上設定 Proxy 設定以連線到 Azure。
在下列情況下,您可以略過此步驟:
如果您正在實體隔離的環境和本機管理的感應器中工作
如果您使用 OT 感應器與 Azure 之間的直接連線。 在此情況下,當您佈建感應器以便進行雲端管理時,您已經執行所有必要的步驟
必要條件
若要執行本文所述的步驟,您需要:
瞭解雲端連線適用於 IoT 的 Defender 感應器支援的連線方法,以及適用於 OT 站台部署的方案,其中包含您想用於每個感應器的連線方法。
以 [系統管理員] 使用者身分存取 OT 感應器。 如需詳細資訊,請參閱使用適用於 IoT 的 Defender 進行 OT 監視的內部部署使用者和角色 (部分機器翻譯)。
此步驟是由您的部署和連線小組所執行。
在 OT 感應器上設定 Proxy 設定
本節說明如何在 OT 感應器主控台上設定現有 Proxy 的設定。 如果您還沒有 Proxy,請使用下列程序設定 Proxy:
若要在 OT 感應器上定義 Proxy 設定:
登入 OT 感應器,然後選取 [系統設定]>[感應器網络設定]。
將 [啟用 Proxy] 選項切換為開啟,然後輸入 Proxy 伺服器的下列詳細資料:
- Proxy 主機
- Proxy 連接埠
- Proxy 使用者名稱 (選擇性)
- Proxy 密碼 (選擇性)
例如:
如果相關,請選取 [用戶端憑證] 來上傳 Proxy 驗證憑證,以便存取 SSL/TLS Proxy 伺服器。
注意
檢查 SSL/TLS 流量的 Proxy 伺服器需要用戶端 SSL/TLS 憑證,例如當您使用 Zscaler 和 Palo Alto Prisma 之類的服務時。
選取 [儲存]。
設定 Azure Proxy
在下列情況下,您可以使用 Azure Proxy 將感應器連線到適用於 IoT 的 Defender:
- 您在感應器與 Azure 之間需要私人連線能力
- 您的網站是透過 ExpressRoute 連線到 Azure
- 您的網站是透過 VPN 連線到 Azure
如果您已經設定 Proxy,請直接繼續在感應器主控台上定義 Proxy 設定。
如果您尚未設定 Proxy,請使用本節中的程序在 Azure VNET 中設定 Proxy。
必要條件
在開始之前,請確定您具有下列項目:
用於監視記錄的 Log Analytics 工作區
針對 Azure VNET 的遠端站台連線能力
允許連接埠 443 上的輸出 HTTPS 流量從您的感應器送到適用於 IoT 的 Defender 所需的端點。 如需詳細資訊,請參閱為雲端管理佈建 OT 感應器。
Proxy 伺服器資源,具有存取 Microsoft 雲端服務的防火牆權限。 此文章所述的程序會使用裝載於 Azure 中的 Squid 伺服器。
重要
適用於 IoT 的 Microsoft Defender 不支援 Squid 或任何其他 Proxy 服務。 客戶必須負責設定和維護 Proxy 服務。
設定感應器 Proxy 設定
本節說明如何在 Azure VNET 中設定 Proxy 以搭配 OT 感應器使用,並包含下列步驟:
步驟 1:定義適用於 NSG 記錄的儲存體帳戶
在 Azure 入口網站中,使用下列設定來建立新的儲存體帳戶:
區域 | 設定 |
---|---|
基本概念 | 效能:標準 帳戶種類:Blob 儲存體 複寫:LRS |
Network | 連線方法:公用端點 (選取的網路) 在虛擬網路中:無 路由喜好設定:Microsoft 網路路由 |
資料保護 | 讓所有選項保持清除狀態 |
進階 | 保留所有預設值 |
步驟 2:定義虛擬網路和子網路
建立下列 VNET 和自主子網路:
名稱 | 建議的大小 |
---|---|
MD4IoT-VNET |
/26 或 /25 (使用 Bastion) |
子網路: | |
- GatewaySubnet |
/27 |
- ProxyserverSubnet |
/27 |
- AzureBastionSubnet (選用) |
/26 |
步驟 3:定義虛擬或區域網路閘道
根據您將內部部署網路連線到 Azure 的方式,建立適用於虛擬閘道的 VPN 或 ExpressRoute 閘道,或建立區域閘道。
將閘道附加至您稍早建立的 GatewaySubnet
子網路。
如需詳細資訊,請參閱
步驟 4:定義網路安全性群組
建立 NSG 並定義下列輸入規則:
建立規則
100
以允許從感應器 (來源) 到負載平衡器私人 IP 位址 (目的地) 的流量。 使用連接埠tcp3128
。建立規則
4095
作為65001
系統規則的複本。 這是因為規則4096
將覆寫規則65001
。建立規則
4096
以拒絕對所有流量進行微分割。選擇性。 如果您使用 Bastion,請建立規則
4094
以允許從 Bastion 對伺服器進行 SSH 連線。 使用 Bastion 子網路作為來源。
將 NSG 指派給您稍早建立的
ProxyserverSubnet
。定義 NSG 記錄:
選取您的新 NSG,然後選取 [診斷設定]> [新增診斷設定]。
輸入診斷設定的名稱。 在 [類別] 底下,選取 [allLogs]。
選取 [傳送至 Log Analytics 工作區],然後選取您想要使用的 Log Analytics 工作區。
選取以傳送 NSG 流量記錄,然後定義下列值:
在 [基本] 索引標籤上:
- 輸入有意義的名稱
- 選取您稍早建立的儲存體帳戶
- 定義必要的保留天數
在 [設定] 索引標籤上:
- 選取 [版本 2]
- 選取 [啟用流量分析]
- 選取 Log Analytics 工作區
步驟 5:定義 Azure 虛擬機器擴展集
定義 Azure 虛擬機器擴展集以建立和管理一組負載平衡的虛擬機器,您可在其中視需要自動增加或減少虛擬機器數目。
如需詳細資訊,請參閱什麼是虛擬機器擴展集?
若要建立擴展集以搭配感應器連線使用:
使用下列參數定義來建立擴展集:
- 協調流程模式:統一
- 安全性類型:標準
- 映像:Ubuntu server 18.04 LTS – Gen1
- 大小:Standard_DS1_V2
- 驗證:根據您的公司標準
保留 [磁碟] 設定的預設值。
在您稍早建立的
Proxyserver
子網路中建立網路介面,但尚不要定義負載平衡器。定義調整設定,如下所示:
- 將初始執行個體計數定義為 1
- 將調整原則定義為 [手動]
定義下列管理設定:
- 針對升級模式,請選取 [自動 - 執行個體將開始升級]
- 停用開機診斷
- 清除 [身分識別] 和 [Microsoft Entra 識別碼] 的設定
- 選取 [超額佈建]
- 選取 [已啟用自動 OS 升級]
定義下列健康情況設定:
- 選取 [啟用應用程式狀況監控]
- 選取 [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 是第 4 層負載平衡器,其使用雜湊型散發演算法,將傳入流量散發到狀況良好的虛擬機器執行個體之間。
如需詳細資訊,請參閱 Azure Load Balancer 文件。
若要為感應器連線建立 Azure 負載平衡器:
建立具有標準 SKU 和 [內部] 類型的負載平衡器,以確保已對網際網路關閉負載平衡器。
在您稍早建立的
proxysrv
子網路中定義動態前端 IP 位址,並將可用性設定為區域備援。針對後端,請選擇您稍早建立的虛擬機器擴展集。
在感應器中定義的連接埠上,建立 TCP 負載平衡規則,以將前端 IP 位址連線到後端集區。 預設連接埠為 3128。
建立新的健全狀態探查,並在連接埠 3128 上定義 TCP 健全狀態探查。
定義負載平衡器記錄:
在 Azure 入口網站中,移至您建立的負載平衡器。
選取 [診斷設定]>[新增診斷設定]。
輸入有意義的名稱,並將類別定義為 [allMetrics]。
選取 [傳送至 Log Analytics 工作區],然後選取您的 Log Analytics 工作區。
步驟 7:設定 NAT 閘道
設定適用於感應器連線的 NAT 閘道:
建立新的 NAT 閘道。
在 [輸出 IP] 上,選取 [建立新的公用 IP 位址]。
在 [子網路] 索引標籤中,選取您稍早建立的
ProxyserverSubnet
子網路。
您的 Proxy 現在已完全設定。 繼續在您的 OT 感應器上定義 proxy 設定。
透過 Proxy 鏈結連線
在下列情況下,您可以使用 Proxy 鏈結,將感應器連線到 Azure 中適用於 IoT 的 Defender:
- 您的感應器需要 Proxy 以從 OT 網路連線到雲端
- 您想讓多個感應器透過單一點連線到 Azure
如果您已經設定 Proxy,請直接繼續在感應器主控台上定義 Proxy 設定。
如果您尚未設定 Proxy,請使用本節中的程序來設定 Proxy 鏈結。
如需詳細資訊,請參閱使用 Proxy 鏈結進行 Proxy 連線。
必要條件
開始之前,確定您的主機伺服器正在站台網路內執行 Proxy 處理序。 此 Proxy 處理序必須可供感應器和鏈結中的下一個 Proxy 存取。
我們已使用開放原始碼 Squid (英文) Proxy 來驗證此程序。 此 Proxy 會使用 HTTP 通道和 HTTP CONNECT 命令來連線。 支援 CONNECT 命令的任何其他 Proxy 鏈結連線都適用於此連線方法。
重要
適用於 IoT 的 Microsoft Defender 不支援 Squid 或任何其他 Proxy 服務。 客戶必須負責設定和維護 Proxy 服務。
設定 Proxy 鏈結連線
此程序描述如何在 Ubuntu 伺服器上使用最新版的 Squid,來安裝及設定感應器與適用於 IoT 的 Defender 之間的連線。
在每個感應器上定義您的 Proxy 設定:
登入 OT 感應器,然後選取 [系統設定]>[感應器網络設定]。
切換 [啟用 Proxy] 選項,並定義 Proxy 主機、連接埠、使用者名稱和密碼。
安裝 Squid Proxy:
登入您的 Proxy 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
將 Proxy 連線到適用於 IoT 的 Defender。 確保允許連接埠 443 上的輸出 HTTPS 流量從您的感應器送到適用於 IoT 的 Defender 所需的端點。
如需詳細資訊,請參閱為雲端管理佈建 OT 感應器。
您的 Proxy 現在已完全設定。 繼續在您的 OT 感應器上定義 proxy 設定。
設定多重雲端環境的連線能力
此節描述如何在 Azure 中,從部署在一或多個公用雲端的感應器,將感應器連線到適用於 IoT 的 Defender。 如需詳細資訊,請參閱多雲端連線。
必要條件
開始之前,確定您已在公用雲端 (例如 AWS 或 Google Cloud) 中部署感應器,並設定為監視 SPAN 流量。
選取多重雲端連線方法
使用下列流程圖來判斷要使用的連線方法:
如果您不需要使用私人 IP 位址交換資料,請透過網際網路使用公用 IP 位址
只有在您不需要下列任何項目時,才透過網際網路使用站對站 VPN:
- 可預測的輸送量
- SLA
- 高資料傳輸量
- 避免透過公用網際網路連線
如果您需要可預測的輸送量、SLA、大量資料傳輸,或避免透過公用網際網路連線,請使用 ExpressRoute。
在此案例中:
- 如果您想要擁有和管理建立連線的路由器,請使用 ExpressRoute 搭配客戶管理的路由。
- 如果您不需要擁有和管理建立連線的路由器,請使用 ExpressRoute 搭配雲端交換提供者。
組態
將您的感應器設定為使用其中一個 Azure 雲端採用架構所建議的方法來連線到雲端。 如需詳細資訊,請參閱與其他雲端提供者建立連線。
若要啟用 VPC 與適用於 IoT 的 Defender 之間的私人連線,請透過 VPN 連線將您的 VPC 連線到 Azure VNET。 例如,如果您要從 AWS VPC 連線,請參閱 TechCommunity 部落格:如何只使用受控解決方案在 Azure 與 AWS 之間建立 VPN (英文)。
設定您的 VPC 和 VNET 之後,請在 OT 感應器上定義 proxy 設定。
下一步
建議您設定 Active Directory 連線來管理 OT 感應器上的內部部署使用者,以及透過 SNMP 設定感應器的健康情況監視。
如果您未在部署期間設定這些設定,您也可以稍後返回並加以設定。 如需詳細資訊,請參閱