共用方式為


快速入門:將 SSH 狀態控制 套用至測試計算機

在下列步驟中,您將使用 Azure 原則將 SSH 狀態控制設定部署至測試 Linux VM。

如需背景和概念參考,請參閱 什麼是 SSH 狀態控件?

如需更進階的逐步解說,請參閱 使用 SSH 狀態控制管理 sshd 設定

如果您沒有 Azure 帳戶,您可以 建立免費試用

謹慎

  • 本快速入門示範如何套用適用於新可處置測試機器的限制性 sshd 組態。 如果您要將此設定套用至其他計算機,您可以自行鎖定。嘗試 SSH 狀態控制件之類的安全性控制件時,請使用隔離的沙箱環境,即使原則指派發生錯誤也不會重新設定非預期的機器。

先決條件

嘗試本文中的步驟之前,請確定您已具備:

  1. 您有權建立資源群組、原則指派和虛擬機的 Azure 帳戶。
  2. 與 Azure 互動的慣用環境,例如:
    1. Azure Cloud Shell (建議)
      1. 注意:範例會使用bash模式。 讀者可能會將範例調整為其他殼層環境,包括 PowerShell。
    2. 已安裝並登入 Azure CLI 的殼層環境
    3. 在網頁瀏覽器中 Azure 入口網站

確認您已登入測試環境

  1. 使用入口網站中的帳戶資訊來查看您目前的內容。

    螢幕擷取顯示 Azure 入口網站中的帳戶資訊

建立資源群組

此範例中 eastus 位置的選擇並不重要。 您可以使用任何可用的 Azure 位置。

透過入口網站建立資源群組的螢幕快照

將原則指派給資源群組

本快速入門會使用內建原則定義 Configure SSH Posture Control on Linux machines套用稽核和設定行為。

範例指派主要依賴 SSH 狀態控制項預設值(例如埠 22,不允許根存取),且自定義有限(橫幅文字)。

  1. 流覽至 [原則],然後流覽至 [定義]
  2. 篩選清單以尋找並選取 [Configure SSH Posture Control on Linux machines
  3. 從原則定義頁面,按兩下 [指派]
  4. 在原則指派工作流程中
    1. 選擇新的空白資源群組(稍早建立)作為範圍。
    2. 選擇性:選擇此原則指派的名稱。 根據預設,會使用原則定義的名稱。
    3. 選擇性:在 [參數] 索引標籤上,覆寫預設值,例如 “banner” 值。
    4. 注意:規則 'port' 應設定為單一值,以確保稽核和設定案例的適當功能和合規性。
    5. 完成原則指派的建立。

謹慎

無論您是使用入口網站或 CLI,在繼續之前,請先檢查您剛才建立的原則指派範圍。 如果範圍錯誤地設定為稍早建立的新空白資源群組以外的任何專案,則應該立即更正,以避免混淆非預期的機器。

建立測試 VM 並準備電腦設定

  1. 建立 Linux 虛擬機
  2. 如果尚未存在,請新增系統指派的身分識別
  3. 新增電腦組態擴充功能(在入口網站中標示為適用於Linux的 Azure Machine Configuration)

提示

在本快速入門中,機器設定的必要條件(VM 具有受控識別和代理程序擴充功能)會在建立 VM 期間直接解決。 您可以透過 Deploy prerequisites to enable Guest Configuration policies on virtual machines 內建原則方案,大規模滿足這些必要條件。

繼續前休息一下

現在會自動執行數個步驟。 這些步驟可能需要幾分鐘的時間。 因此,請至少等候 15 分鐘,然後再繼續進行。

觀察結果

使用下列步驟,您可以看到:

  1. 有多少部機器符合規範(或不符合)
    1. 在生產規模上特別有用,您可能會有數千部機器
  2. 哪些機器符合規範(或不符合)
  3. 針對指定的電腦,哪些個別規則符合規範(或不符合)

選擇性:新增更多測試機器以體驗調整規模

在本文中,原則已指派給資源群組,該群組一開始是空的,然後取得一個 VM。 雖然這會示範系統端對端運作,但不會提供大規模作業的感覺。 例如,在原則指派合規性檢視中,一部機器的餅圖可能會感到人為。

請考慮手動或透過自動化,將更多測試機器新增至資源群組。 這些可能是 Azure VM 或已啟用 Arc 的機器。 當您看到這些機器符合規範(或甚至失敗)時,您可以獲得更敏銳的 SSH 狀態控制大規模運作感。

選擇性:手動檢查測試計算機以確認結果

開始使用 SSH 狀態控制等新功能時,手動檢查頻外的結果可能很實用。 這有助於建立信賴度和清楚度。 例如,本文中的步驟應該會導致測試 VM 上的修改登入橫幅設定。 您可以嘗試透過 SSH 連線到電腦以查看橫幅,或檢查sshd_config檔案來確認此情況。

清除資源

若要避免持續產生費用,請考慮刪除本文中使用的資源群組。 例如,Azure CLI 命令會 az group delete --name "sshdemo01"