Google Cloud 憑證可控管對 Google Cloud上代管資源的存取權。為了確保您的資料安全無虞,不受攻擊者的侵擾,處理憑證時務必要格外謹慎。
建議您保護所有憑證,避免意外遭他人存取。 Google Cloud 這類憑證包括但不限於:
服務憑證:
- 服務帳戶私密金鑰 (JSON 和 p12 檔案)
- API 金鑰
- OAuth2 用戶端 ID 密鑰
在開發人員工作站或其他電腦中建立及管理的使用者憑證:
瀏覽器 Cookie
Google Cloud CLI 憑證會儲存在使用者的主目錄中。您可以使用 Google Cloud CLI 中的 gcloud
auth list
指令列出這些項目。應用程式預設憑證會儲存在開發人員的工作站。瀏覽器 Cookie 是瀏覽器專用的,但通常儲存在開發人員工作站中。
如果您懷疑有任何憑證遭駭,則應立即採取行動,減輕遭駭對Google Cloud 帳戶造成的影響。
監控憑證是否外洩
如要監控潛在的入侵行為,請考慮下列事項:
監控可疑帳戶活動,例如權限提升和建立多個帳戶。使用 Cloud 稽核記錄、Policy Intelligence 和 Security Command Center 監控這些活動。使用下列 Security Command Center 服務和功能:
- 事件威脅偵測:根據管理員活動、群組變更,以及 Identity and Access Management (IAM) 權限變更,找出威脅。針對每個威脅類別,系統會提供建議的調查步驟,協助您採取因應措施。
- 敏感動作服務:追蹤機構、資料夾和專案中的動作,如果惡意行為人採取這些動作,可能會對您的業務造成損害。
- Cloud Infrastructure Entitlement Management (CIEM) (搶先版) 可管理身分存取權,並產生設定錯誤的調查結果。
監控 Google Workspace 和 Cloud Identity 中的使用者登入情形。為方便追蹤問題,建議您將記錄檔匯出至 Cloud Logging。
使用 Cloud Monitoring 或 CIEM 監控服務帳戶金鑰用量是否異常。
確保安全營運中心 (SOC) 收到即時通知,並具備快速應對可疑憑證遭盜用事件所需的劇本、工具和存取權。使用 Security Command Center Enterprise 方案,啟用 SIEM 和 SOAR 功能,例如應對手冊、回應工作流程和自動化動作。您也可以將 Security Command Center 與現有 SIEM 整合,或將記錄匯入 Google Security Operations,以進行進一步分析。
保護 Google Cloud 資源,避免憑證遭盜用
如果您懷疑憑證遭到盜用,請盡快完成下列各節中的步驟,保護資源安全。
撤銷並重新核發憑證
如果懷疑憑證遭盜用,請撤銷並重新核發憑證。進行這類作業時請小心,確保不會因撤銷憑證而導致服務中斷。
一般來說,如要重新核發憑證,請產生新憑證,推送給所有需要憑證的服務和使用者,然後撤銷舊憑證。
下列各節提供每種憑證的具體操作說明。
更換服務帳戶金鑰
前往 Google Cloud 控制台的「Service accounts」(服務帳戶) 頁面。
找出受影響的服務帳戶。
為服務帳戶建立新金鑰。
將新金鑰推送到所有使用了舊金鑰的位置。
刪除舊金鑰。
詳情請參閱「建立服務帳戶」。
重新產生 API 金鑰
前往 Google Cloud 控制台的「憑證」頁面。
使用「建立憑證」按鈕建立新的 API 金鑰。將新金鑰設定為與遭駭的 API 金鑰相同。API 金鑰的限制必須一致,否則服務可能會中斷。
將 API 金鑰推送到所有使用了舊金鑰的位置。
刪除舊金鑰。
詳情請參閱使用 API 金鑰進行驗證。
重設 OAuth2 用戶端 ID 密鑰
變更用戶端 ID 密鑰後,服務在密鑰輪替期間會暫時中斷。
前往 Google Cloud 控制台的「憑證」頁面。
選取遭入侵的 OAuth2 用戶端 ID 並進行編輯。
按一下「Reset Secret」(重設密鑰)。
將新密鑰推送到應用程式。
詳情請參閱「設定 OAuth 2.0」和「使用 OAuth 2.0 存取 Google API」。
以管理員身分移除 Google Cloud CLI 憑證
Google Workspace 管理員可以從已連結應用程式的使用者清單中,移除 Google Cloud CLI 的存取權。詳情請參閱「查看及移除第三方應用程式的存取權」。
使用者再次存取 Google Cloud CLI 時,系統會自動要求他們重新授權應用程式。
以使用者身分移除 Google Cloud CLI 憑證
開啟有權存取您 Google 帳戶的應用程式清單。
從已連結的應用程式清單中移除 Google Cloud CLI。
當您再次存取 Google Cloud CLI 時,系統會自動要求您重新授權應用程式。
以管理員身分撤銷應用程式預設憑證
如果懷疑應用程式預設憑證遭盜用,可以撤銷憑證。這個程序可能會導致暫時中斷服務,直到重新建立憑證檔案為止。
Google Workspace 管理員可以從使用者的已連結應用程式清單中,移除 Google Auth Library 的存取權。詳情請參閱「查看及移除第三方應用程式的存取權」。
以使用者身分撤銷應用程式預設憑證
如果您懷疑自己建立的應用程式預設憑證遭到入侵,可以撤銷該憑證。這個程序可能會導致暫時中斷服務,直到重新建立憑證檔案為止。只有遭盜用憑證的擁有者才能完成這項程序。
安裝並初始化 Google Cloud CLI (如果尚未完成)。
使用使用者身分授權 gcloud CLI,而非服務帳戶:
gcloud auth login
詳情請參閱「為 gcloud CLI 提供授權」。
撤銷憑證:
gcloud auth application-default revoke
視需要刪除
application_default_credentials.json
檔案。位置會因作業系統而異:- Linux、macOS:
$HOME/.config/gcloud/
- Windows:
%APPDATA%\gcloud\
- Linux、macOS:
重新建立憑證檔案:
gcloud auth application-default login
以管理員身分撤銷瀏覽器 Cookie
如果懷疑瀏覽器 Cookie 遭到入侵,Google Workspace 管理員可以登出使用者帳戶。
此外,請立即強制變更密碼。
這些動作會撤銷所有現有的 Cookie,且使用者會被要求再次登入。
以使用者身分撤銷瀏覽器 Cookie
如果懷疑瀏覽器 Cookie 遭駭,請登出 Google 帳戶並立即變更密碼。
這些動作會使所有現有 Cookie 失效。下次存取「Google Cloud」時,必須重新登入。
檢查未經授權的存取行為和資源
撤銷遭盜用的憑證並還原服務後,請檢查 Google Cloud 資源的所有存取記錄。您可以使用 Logging 或 Security Command Center。
在「記錄」中,完成下列步驟:
在 Security Command Center 中完成下列步驟:
前往 Google Cloud 控制台的 Security Command Center「發現項目」頁面。
視需要選取 Google Cloud 專案或機構。
在「快速篩選器」部分中,按一下適當的篩選器,即可在「發現項目查詢結果」表格中顯示所需發現項目。舉例來說,如果您在「來源顯示名稱」子區段中選取「Event Threat Detection」或「Container Threat Detection」,結果中只會顯示所選服務的發現項目。
表格會填入所選來源的發現項目。
如要查看特定發現項目的詳細資料,請按一下
Category
下方的發現項目名稱。發現項目詳細資料窗格會展開,顯示發現項目詳細資料的摘要。如要顯示因同一位使用者的動作而產生的所有發現項目,請按照下列步驟操作:
- 在尋找詳細資料窗格中,複製「主要電子郵件」旁的電子郵件地址。
- 關閉窗格。
在「Query editor」(查詢編輯器) 中輸入以下查詢:
access.principal_email="USER_EMAIL"
將 USER_EMAIL 替換為您先前複製的電子郵件地址。
Security Command Center 會顯示與您指定使用者所採取動作相關的所有發現項目。
刪除所有未經授權的資源
請確認遭盜用的憑證並未存取任何非預期的資源,例如 VM、App Engine 應用程式、服務帳戶、Cloud Storage 值區等。
確定已找出所有未經授權的資源後,您可以選擇立即刪除這些資源。這對 Compute Engine 資源而言特別重要,因為攻擊者可能會利用遭入侵的帳戶竊取資料,或入侵您的實際工作環境系統。
或者,您可以嘗試隔離未經授權的資源,讓您自己的鑑識團隊進行額外分析。
與 Cloud Customer Care 聯絡
如需協助尋找調查和緩解步驟所需的記錄和工具,請與 Google Cloud 客戶服務聯絡,並開啟支援案件。
避免憑證遭盜用的最佳做法
本節說明可採取的最佳做法,協助您避免憑證遭盜用。
將憑證與程式碼分開
請將您的憑證和原始碼分開管理及儲存。常常有人不小心將憑證和原始碼一起推送到 GitHub 等原始碼管理網站,導致憑證容易受到攻擊。
如果您使用 GitHub 或其他公開存放區,可以導入「異常偵測」或「機密掃描」等工具,在 GitHub 存放區中發現外洩的機密時收到警告。如要避免將金鑰提交至 GitHub 存放區,建議使用 git-secrets 等工具。
使用 Secret Manager 和 Hashicorp Vault 等密鑰管理解決方案儲存密鑰、定期輪替密鑰,並套用最低權限。
實作服務帳戶最佳做法
為保護服務帳戶,請參閱服務帳戶的最佳做法。
限制工作階段長度
如要強制定期重新驗證,請限制 Google 和 Google Cloud 帳戶的連線有效時間。詳情請參閱下列文章:
使用 VPC Service Controls 限制存取權
如要降低遭盜用憑證的影響,請使用 VPC Service Controls 建立服務範圍。設定 VPC Service Controls 後,範圍內的資源只能與範圍內的其他資源通訊。