Azure 虛擬機器
從 Azure 虛擬機器在您的 VM 上啟用 JIT
您可以從 Azure 入口網站的 Azure 虛擬機器頁面,在 VM 上啟用 JIT。
提示
如果 VM 已啟用 JIT,VM 設定頁面就會顯示 JIT 已啟用。 您可以使用連結來開啟「適用於雲端的 Defender」中的 JIT VM 存取頁面,以檢視和變更設定。
在 Azure 入口網站中,搜尋並選取 [虛擬機器]。
選取您要使用 JIT 保護的虛擬機器。
在功能表中選取 [設定]。
在 [Just-In-Time 存取] 底下,選取 [啟用 Just-In-Time]。
根據預設,VM 的 Just-In-Time 存取會使用下列設定:
- Windows 機器
- RDP 連接埠:3389
- 最多允許存取:三小時
- 允許的來源 IP 位址:任何
- Linux 機器
- SSH 連接埠: 22
- 最多允許存取:三小時
- 允許的來源 IP 位址:任何
若要編輯上述任何值,或將更多連接埠新增至 JIT 設定,請使用適用於雲端的 Microsoft Defender 的 Just-In-Time 頁面:
從適用於雲端的 Defender 功能表中,選取 [Just-In-Time VM 存取]。
從 [已設定] 索引標籤中,以滑鼠右鍵按一下要新增連接埠的 VM,然後選取 [編輯]。
在 [JIT VM 存取設定] 下方,您可以對於已經保護的連接埠編輯現有設定,也可以新增自訂連接埠。
當連接埠編輯完成時,請選取 [儲存]。
從 Azure 虛擬機器的連線頁面要求存取已啟用 JIT 的 VM
當 VM 已啟用 JIT 時,您必須要求存取權才能與其連線。 無論您透過何種方式啟用 JIT,都能以任何支援的方式要求存取權。
如何從 Azure 虛擬機器要求存取:
在 Azure 入口網站中,開啟虛擬機器頁面。
選取您要連線的 VM,然後開啟 [連線] 頁面。
Azure 會檢查該 VM 上是否已啟用 JIT。
注意
針對受 Azure 防火牆保護的 VM 核准要求之後,適用於雲端的 Defender 可為使用者提供適當的連線詳細資料 (來自 DNAT 資料表的連接埠對應),以便用來連線到 VM。
PowerShell
使用 PowerShell 在您的 VM 上啟用 JIT
若要從 PowerShell 啟用 Just-In-Time VM 存取,請使用官方適用於雲端的 Microsoft Defender PowerShell Cmdlet Set-AzJitNetworkAccessPolicy
。
範例 - 使用下列規則在特定 VM 上啟用 Just-In-Time VM 存取:
- 關閉連接埠 22 和 3389
- 分別為其設定時間範圍上限 3 小時,讓它們能針對每個核准的要求開啟
- 允許要求存取權的使用者控制來源 IP 位址
- 允許要求存取的使用者在系統核准 Just-In-Time 存取要求時建立成功的工作階段
下列 PowerShell 命令會建立此 JIT 設定:
指派一個變數,為 VM 保留 Just-In-Time VM 存取規則:
$JitPolicy = (@{
id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
ports=(@{
number=22;
protocol="*";
allowedSourceAddressPrefix=@("*");
maxRequestAccessDuration="PT3H"},
@{
number=3389;
protocol="*";
allowedSourceAddressPrefix=@("*");
maxRequestAccessDuration="PT3H"})})
將 VM Just-In-Time VM 存取規則插入陣列中:
$JitPolicyArr=@($JitPolicy)
在所選的 VM 上設定 Just-In-Time VM 存取規則:
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "LOCATION" -Name "default" -ResourceGroupName "RESOURCEGROUP" -VirtualMachine $JitPolicyArr
使用 -Name 參數來指定 VM。 例如,若要為兩個不同的 VM (VM1 和 VM2) 建立 JIT 設定,請使用:Set-AzJitNetworkAccessPolicy -Name VM1
和 Set-AzJitNetworkAccessPolicy -Name VM2
。
使用 PowerShell 要求存取已啟用 JIT 的 VM
在下列範例中,您可以看到對特定 VM 發出的 Just-In-Time VM 存取要求 (在特定 IP 位址開啟連接埠 22 達特定時間長度):
在 PowerShell 中執行下列命令:
設定 VM 要求存取屬性:
$JitPolicyVm1 = (@{
id="/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Compute/virtualMachines/VMNAME";
ports=(@{
number=22;
endTimeUtc="2020-07-15T17:00:00.3658798Z";
allowedSourceAddressPrefix=@("IPV4ADDRESS")})})
將 VM 存取要求參數插入陣列中:
$JitPolicyArr=@($JitPolicyVm1)
傳送要求存取 (使用步驟 1 中的資源識別碼)
Start-AzJitNetworkAccessPolicy -ResourceId "/subscriptions/SUBSCRIPTIONID/resourceGroups/RESOURCEGROUP/providers/Microsoft.Security/locations/LOCATION/jitNetworkAccessPolicies/default" -VirtualMachine $JitPolicyArr
如需深入了解,請參閱 PowerShell Cmdlet 文件。
REST API
使用 REST API 在您的 VM 上啟用 JIT
Just-In-Time VM 存取功能可透過適用於雲端的 Microsoft Defender API 使用。 使用此 API 可取得已設定 VM 的相關資訊、新增 VM、要求存取 VM,以及更多作業。
深入了解 JIT 網路存取原則。
使用 REST API 要求存取已啟用 JIT 的 VM
Just-In-Time VM 存取功能可透過適用於雲端的 Microsoft Defender API 使用。 使用此 API 可取得已設定 VM 的相關資訊、新增 VM、要求存取 VM,以及更多作業。
深入了解 JIT 網路存取原則。
稽核適用於雲端的 Defender 中的 JIT 存取活動
您可以使用記錄搜尋來深入了解 VM 活動。 若要檢視記錄: