本頁概略說明建議採用的安全性最佳做法,可提升 Cloud Workstations 的安全性及資料保護機制。這份清單並非確保安全性的完整檢查清單,也無法取代現有的資安態勢。
本指南旨在提供 Cloud Workstations 提供的安全性最佳做法。在適用情況下,請將這些建議加入安全解決方案組合,做為建構分層安全防護機制的一環。分層安全防護做法是安全原則的核心之一,可確保在 Google Cloud上執行的服務安全且符合法規。
背景
Cloud Workstations 服務提供預先定義的基本映像檔,可與服務搭配使用。這項服務每週會重新建構及發布這些映像檔,確保隨附的軟體包含最新的安全性修補程式。此外,這項服務會使用工作站設定的預設執行逾時值,確保工作站自動更新,且未修補的映像檔不會繼續運作。
不過, Google Cloud 並未擁有這些映像檔中包含的所有套件。套件管理員可能會根據錯誤或常見安全漏洞與資料外洩風險 (CVE) 對產品的影響,以不同方式排定更新優先順序。如果產品只使用程式庫的一部分,可能不會受到程式庫其他部分發現的漏洞影響。因此,即使映像檔的安全漏洞掃描結果中存在 CVE 發現項目,Cloud Workstations 仍能提供安全的產品。
Cloud Workstations 之所以能做到這一點,是因為它提供驗證和授權系統,可確保只有指定開發人員才能存取其工作站。如同任何開發環境,開發人員在使用工作站時,應採用最佳做法。為盡可能確保安全,請只執行信任的程式碼、只對信任的輸入內容執行操作,以及只存取信任的網域。此外,我們不建議使用工作站託管正式版伺服器,或與多位開發人員共用單一工作站。
如要進一步控管組織工作站映像檔的安全性,也可以自行建立自訂容器映像檔。
使用 Secure Web Proxy 控制網路連線能力,強化資料遺失防護 (DLP)
如要封鎖所有公開網際網路存取權 (例如為了防止資料遺失),請在工作站設定中停用公開 IP 位址。如果停用公開 IP 位址,則必須在網路上設定Private Google Access或 Cloud NAT。如果您使用 Private Google Access,並將 private.googleapis.com 或 restricted.googleapis.com 用於 Artifact Registry,請務必為網域
*.pkg.dev 設定 DNS 記錄。
不過,如果開發人員需要從工作站存取特定外部網站,請使用 Secure Web Proxy 提供可稽核的網站存取權,包括 DLP 保護措施。
Secure Web Proxy 可協助組織強制執行精細的網際網路存取權,根據來源、身分、目的地和要求類型控管傳出流量。您可以在 Google CloudIdentity and Access Management (IAM) 情境中定義這些政策,使用服務帳戶和安全標記限制流量,例如限制流量只能傳送至特定目的地。
Secure Web Proxy 也提供可擴充的 TLS 檢查服務,可讓您對攔截的加密 TLS 流量強制執行政策。
Secure Web Proxy 與 Cloud Logging 整合,可記錄指標和交易記錄。如要找出特定記錄項目的來源工作站,請在記錄項目中找到 VM 的 IP 位址,然後使用工作站平台記錄,將該 IP 位址與對應的工作站建立關聯。
您可以使用自訂映像檔,將 https_proxy 和 http_proxy 設為工作站中的 Secure Web Proxy。
限制直接透過 SSH 存取
請務必限制直接透過 SSH 存取託管 Cloud Workstations 的專案中的 VM,這樣一來,就只能透過 Cloud Workstations 閘道存取,其中會強制執行 Identity and Access Management (IAM) 政策,並可啟用虛擬私有雲流量記錄。
如要停用 VM 的直接 SSH 存取權,請執行下列 Google Cloud CLI 指令:
gcloud workstations configs update CONFIG \
--cluster=CLUSTER \
--region=REGION \
--project=PROJECT \
--disable-ssh-to-vm
限制機密資源的存取權
設定 VPC Service Controls service perimeter,限制從工作站存取機密資源,防止原始碼和資料遭到竊取。
遵循最小權限原則
遵循最小權限原則,分配權限和資源。
IAM 權限
使用預設的 Identity and Access Management 設定,限制只有一位開發人員可以存取工作站。這可確保每位開發人員都使用不重複的工作站執行個體,且基礎 VM 也不同,進而提高環境隔離程度。Cloud Workstations 程式碼編輯器和應用程式會在以特殊權限模式執行的容器中執行,並具備根存取權,可提高開發人員的彈性。這樣一來,每位開發人員都有專屬的工作站,即使使用者跳出這個容器,仍會留在 VM 內,無法存取任何其他外部資源。
設定 IAM 權限,限制非管理員存取權,以修改 Artifact Registry 上的工作站設定和容器映像檔。
此外,Google 建議您設定 IAM 權限,限制非管理員存取託管 Cloud Workstations 的專案中任何基礎 Compute Engine 資源。
詳情請參閱「安全使用 IAM」。
Cloud KMS 權限
為落實最小權限原則,建議您將 Cloud KMS 資源和 Cloud Workstations 資源存放在不同的 Google Cloud 專案。建立 Cloud KMS 金鑰專案時,請勿在專案層級設定 owner,並指定在組織層級授予的組織管理員。與owner不同,組織管理員無法直接管理或使用金鑰。他們只能設定 IAM 政策,限制哪些人可以管理及使用金鑰。
這也稱為分散權責,其概念是確保個別使用者不具備完成惡意操作所需的所有權限。詳情請參閱「分散權責」。
強制自動更新映像檔及安裝修補程式
請確認工作站使用的是最新版 Cloud Workstations 基本映像檔,其中包含最新的安全性修補程式和修正。工作站設定的執行逾時值,可確保使用這項設定建立的工作站,在下一個工作階段自動更新,以符合工作站設定中定義的最新版容器映像檔。
- 如果貴組織使用其中一個 Cloud Workstations 基本映像檔,工作站會在下次關機並重新啟動時,自動套用工作站設定的所有更新。設定
runningTimeout或使用預設值,有助於確保這些工作站會關閉。 - 如果貴組織使用自訂映像檔,請務必定期重建映像檔。
維護自訂映像檔
您必須負責維護及更新自訂映像檔中新增的自訂套件和依附元件。
建立自訂映像檔時,建議您採取下列做法:
- 執行容器掃描工具 (例如 Artifact Analysis),檢查您新增的其他依附元件。
- 排定建構作業,每週重新建構映像檔,或瞭解如何自動重新建構容器映像檔。
設定虛擬私有雲流量記錄
建立工作站叢集時,Cloud Workstations 會將叢集與特定子網路建立關聯,並將所有工作站置於該子網路中。如要啟用虛擬私有雲流量記錄,請務必開啟該子網路的記錄功能。詳情請參閱「為現有子網路啟用虛擬私有雲流量記錄」。
在 Security Command Center 啟用 VM Threat Detection
Security Command Center 是雲端式風險管理解決方案,可協助資安專業人員預防、偵測及因應安全性問題。由於工作站是在專屬的個別工作站 VM 上執行,因此您可以使用虛擬機器威脅偵測功能,偵測潛在的惡意應用程式,例如加密貨幣挖礦軟體、核心模式 Rootkit,以及在工作站中執行的惡意軟體。
評估 VM 的發現項目時,您可以檢查 VM 的工作站標籤,或使用工作站平台記錄查詢歷來指派作業,找出指派給 VM 的工作站。