稽核 SSH 存取權的最佳做法

本文說明稽核 Linux 虛擬機器 (VM) 執行個體 SSH 存取權的最佳做法。

Cloud 稽核記錄可供您分析過往活動,是調查影響Trusted Cloud 資源的可疑活動時的重要資訊來源。

以下各節包含最佳做法,有助於維護不可否認的稽核追蹤記錄:

本文著重於 Trusted Cloud by S3NS 專屬或特別適用於 Trusted Cloud安全殼層的實務做法。本文未涵蓋特定 SSH 用戶端或伺服器實作的最佳做法。

啟用 IAP 的資料存取記錄

如要確保使用者嘗試建立 SSH 連線時,IAP 會在 Cloud 稽核記錄中新增項目,請為 Cloud Identity-Aware Proxy API 啟用資料存取記錄。 資料存取記錄預設為停用。除非您擔心記錄檔容量,否則請為含有 VM 執行個體的所有專案啟用資料存取記錄。

監控與 SSH 使用情形相關的稽核記錄項目

使用 SSH 可能會影響 VM 和工作負載的安全性,因此請務必保留成功連線嘗試和存取嘗試失敗的稽核追蹤記錄。在生產環境中,這點尤其重要,因為使用 SSH 應視為敏感動作。

如要追蹤 SSH 存取權,並找出可疑行為,請務必監控與 SSH 相關的記錄項目,包括:

服務 方法 說明
IAP AuthorizeUser 表示透過 IAP TCP 轉送進行連線嘗試。 記錄項目包含使用者裝置、符合要求的存取層級和不符合要求的存取層級詳細資料。
OS 登入 google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy 表示嘗試登入
OS 登入 google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession 表示 OS Login 2FA 驗證開始
OS 登入 google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession 表示已完成 OS Login 雙重驗證
Compute Engine v1.compute.projects.setCommonInstanceMetadata 如果 projectMetadataDelta 欄位包含 `ssh-keys` 的項目,則這項記錄項目表示專案中繼資料已新增、移除或修改 SSH 金鑰。
Compute Engine v1.compute.instances.setMetadata 如果 projectMetadataDelta 欄位包含 `ssh-keys` 或 `sshKeys` 的項目,則這項記錄項目表示執行個體中繼資料中新增、移除或修改了 SSH 金鑰。
Compute Engine google.ssh-serialport.v1.connect 表示嘗試連線至序列主控台
IAM beta.compute.instances.setIamPolicy, v1.compute.instances.setIamPolicy 表示 VM 執行個體的 IAM 政策有所變更。IAM 政策異動可能會影響使用者修改執行個體中繼資料的能力。
IAM SetIamPolicy 表示專案的 IAM 政策已變更。IAM 政策變更可能會影響使用者修改專案中繼資料,以及專案資料存取稽核記錄設定的能力。

所有稽核記錄都包含 principalEmail 欄位,可識別啟動活動的主體。

如要全面掌握 VM 的活動,請將 VM 設定為將 /var/log/messages 和 SSH 伺服器記錄檔匯出至 Cloud Logging,例如使用 Ops Agent

請注意,視您使用的 Linux 發行版本而定,SSH 伺服器記錄可能會寫入不同的記錄檔 (通常是 /var/log/auth.log/var/log/secure),且這些記錄檔不在 Ops Agent 預設設定的涵蓋範圍內。