以下列出最常用的檢查項目:
一、帳號管理
1.公司是否使用 Google Workspace?
如果是,管理使用者帳號就比較單純。
2.如果公司使用 M365 或其他的 Email 方案,
代表有在用 Windows AD 或其他 LDAP 來管理使用者,
那勢必要申請 Cloud Identity,
讓使用者使用公司建立的帳號操作 GCP,
不要讓他們用自己的 Gmail 操作公司的東西。
3.同時還要安裝 GCDS 來同步使用者和群組,
確保使用者帳號變動時,在 GCP 跟著連動調整。
二、專案架構
1.公司的 GCP Project 是否都在 Organization 底下?
並且在使用 Org Policy 強制實施政策到所有專案?
2.還是屬於「無機構」狀態?這代表公司管不到此專案。
如果使用者用個人 Gmail 來管理「無機構」專案,
那他就有可能突然消失,順便把專案帶走,
這是 Google 原廠都無法幫你救回來的。
三、使用者登入驗證
1.使用者是否啟用兩步驟驗證?
2.使用者的 Session 是否有限制時間?
例如太久沒操作就要重新登入。
3.公司內部系統如果架設在 GCP 上,是否啟用 OS Login 或 Cloud IAP?
還是只要帳號加密碼就可以登入?
4.最高管理員,有沒有跟平常工作的帳號分開?
是否啟用兩步驟驗證,要不要使用 Security Key 來登入?
四、使用者權限
1.公司是否採用分層權限管理,
例如授予不同部門主管 Folder 權限,
管理 Folder 底下的專案,
並建立 Group 來納入各部門成員。
而不應該每個使用者帳號都一個一個加進 IAM。
2.每個使用者是否用 Pre-defind Role 來授權?
而非直接授權 Owner、Editor 這種超大權限,
3. Service Account 是否給予剛好必要的權限?
4. Service Account Key 是否有保管好,
以及是否會定期換 Key?(駭客最喜歡你的 Key 了)
五、彈性
1.公司對外的系統是否有達成 Autoscale?
2.以及是否有執行過壓力測試,
這可以確保在尖峰時間滿足用戶端的需求。
3.規模如果夠大,可以購買 CUD (Committed Use Discount),
以及 Reservation,可以享受優惠折扣,
更重要的是,可以避免高峰期的時候,
機器被其他客戶搶光了。
六、備份
1.公司是否有定義 RTO 和 RPO?
這會影響到公司有多少預算來達成目標。
2.主機多久做一次 Snapshot?
3.重要檔案是否定期複製到 Cloud Storage?
4.資料庫是否也有備份排程?
七、備援
1.主機是否都放在 Managed Instance Group?
這可以確保任何主機掛掉都會立馬重建完成。
2.非常重要的資料,是否使用 Regional Persistent Disk?
因為主機掛了,新的主機可以立即掛載舊主機最新的資料。
3.資料庫是否有啟用 HA (High Availability)?
以上都是需要足夠預算的,因此務必確認公司的 RTO 和 RPO。
八、應用程式部署流程 (CI/CD)
1.針對容器映像檔 (Container Image),是否有啟用 Binary Authentication?
2.Image 是否有經過弱點掃描?
3.測試環境是否有效區隔,改版上線是否有嚴謹的 SOP?
4.以及上線失敗是否能夠立刻 Rollback?
九、維運與效能監控
1.針對營運的系統,是否設定好各種效能監控和 Alert?
例如 CPU 使用率、RAM 使用率、Disk 用量、每秒 Request 數量等等。
2.主機是否安裝 OPs Agent,把重要的 Log 匯出到外部進一步分析?
3.資料庫 Loading 是否過重?
是否採用 Read Replica 或是 Memorystore 來緩解讀取的流量?
4.圖片和影片
是否放在 Cloud Storage 來緩解 Web Server 的流量,
以及是否啟用 Cloud CDN 來加速媒體發布?
5.任何一個系統斷線,是否有準備切換的 SOP?
6.有沒有啟用帳單警示?
因為每100個人就有99個人忘記關機,我也在內。
十、攻擊防禦
1.Cloud DNS 是否啟用 DNSSEC?
Cloud Armor 是否採用 OWASP 各種規則?
3.是否有限制來源的 IP?
4.主機是否停用外部 IP,統一使用 Load Balancer 對外?
5.防火牆是啟只允許剛好用到的 Port?還是內網全開?
6.Cloud SQL 是否只允許內網 IP 連線?
十一、加密
1.公司所在的產業,是否有加密合規要求?
2.針對 Disk、Cloud Storage 或 BigQuery 如何加密,
使用 Google 預設加密、KMS 的 Key,還是外部的 Key?
3.往來的資料是否使用 Cloud DLP 來掃描個資?
4.掃描到個資後,如何處理後續流程?遮蓋、加密還是刪除?
5.處理機密資料的機器是否採用 Confidential VM?
6.是否有啟用 Service Control 來規定資料存取的範圍?
十二、混合雲
1.不管使用 Cloud VPN 或 Cloud Interconnect,
有沒有採用 HA 架構?
2.使用者的流量是否從混合雲內網存取 GCP?
還是它依然走 Internet?
3.最後,你只有用 GCP 嗎?
萬一,我是說萬一,GCP 全斷了,
或是 Google 資料中心碰到地震,
你能立馬切地端,或是切 AWS、Azure 嗎?
什麼都有可能發生,只是機率問題,
也不用說 GCP 100% 完美無懈可擊,
任何事都要有 Plan B。
以上分享,希望能對你有幫助。