【 東東老師 X 思想科技 】雲端的資訊安全防禦縱深,常用資安服務介紹(中)

Google Cloud Security blog banner 2

上一篇 【 東東老師 X 思想科技 】雲端的資訊安全防禦縱深,常用資安服務介紹(上)已提到不少 Google Cloud 的資安功能,從帳號安全、攻擊防禦、登入驗證和授權開始一一介紹,本文則會繼續往下分享更多 GCP 必知的資安功能。

四、VPC 網路的安全機制

當我們驗證成功了,我們的流量就會進入到 VPC (Virtual Pricate Cloud),也就是 GCP 的內部網路,這時就會受到防火牆的管控。

(一)防火牆

1. 防火牆規則 Firewall Rules

這是 GCP 最基本也最重要的安全機制,是以一個專案內的 VPC 為管理範圍,方向包含 Ingress (進入 VM 的流量) 和 Egress (離開 VM 的流量),動作就包含允許 (Allow) 和拒絕 (Deny) 兩種,而目標 Target 指的是要套用規則的 VM 有哪些,再把來源或目的地的 IP 或標籤 Tag 設定好,以及要放行或禁止的通訊協定和 Port,最後就是設定好優先順序,數字越小越優先。

其中最特別的是「標籤式管理」機制,你可以為每一台 VM 加上特定的標籤,同時也給防火牆規則設定相對應的標籤,這樣就可以讓你一次將規則套用到多台主機,省去一台一台設定防火牆的麻煩。

如下圖 Rule 1 的Target Tag 設定 “Web”,只會套用到右邊第一台 VM。Rule 2 的Target Tag 設定 “DB”,則會套用到右邊第二、三台 VM。

Google Cloud VPC 網路的安全機制 - 防火牆規則
圖片來源:東東老師自行繪製(防火牆的標籤式管理)

2. 防火牆政策

最近 Google 又新增了防火牆政策,它的管理範圍更大,從整個 Organization 開始,往下到資料夾、專案,中間經過防火牆規則,再到 Global VPC、Region VPC,都可以設定防火牆政策。除了原本的允許和拒絕之外,還多了 Go to next (給下一層決定) 和 L7 (做第七層檢查)。

但要注意的是,設定層級很多,規則複雜,容易混淆。建議先以防火牆規則為主,管理較為單純,等到熟悉整體運作,再逐步增加各個層級的防火牆政策。

Google Cloud VPC 網路的安全機制 - 防火牆政策
圖片來源:GCP 官方文件 (防火牆政策和規則的處理順序)

(二)Packet Mirroring 封包鏡像

Packet Mirroring 可以讓你複製 VM 或其他資源的網路封包,並將其鏡像到指定的目的地,如其他虛擬機器、Cloud Security Command Center 或第三方設備。這對於網路監控、安全檢測、故障排除及合規性檢查等場景非常有用,它可以執行網路流量監控和分析,識別異常流量或攻擊行為,也可以送到故障排除工具,協助診斷網路問題或效能瓶頸。

但要注意,它是真的把原有的流量「一模一樣複製出來」,所以流量費用是直接變成兩倍,因此要看是否有重大事件需要檢查封包或排除故障,針對關鍵部分再複製封包,確保費用在控制範圍之內。

五、應用程式的資安功能

(一)針對虛擬機器 – Confidential VM

以往 GCP 都會強調資料在「儲存中」和「傳輸中」都會加密,而近期推出 的 Confidential VM,是能夠達到資料在「處理中」也能加密。就是主打「以硬體為基礎的記憶體加密」機制,來確保你的資料和應用程式無法被竊取或竄改,加密的 Key 是在專屬的硬體上產生,Hypervisor (虛擬化程式) 也無法讀取。

你也可以驗證 VM 的身份和狀態,確保關鍵的元件沒有被竄改。不過要注意的是,它是有限定機器類型的,例如 N2D、C2D 和 C3 Standard 的主機才有支援,當然費用會稍微高一點,這就取決於你公司的資安或合規需求來選用,但好處是,整個使用的過程和一般的主機沒有差別,只要在開機過程中勾選 “Confidential VM service” 就可以了,也是非常方便的功能。

(二)針對容器 Container 的資安服務

1.Image 弱點掃描功能 – Vulnerability Scanning

如果要部署應用程式在容器平台,包含 Cloud Run 或 Google Kubernetes Engine (簡稱 GKE),就要先上傳容器映像檔到 Container Registry 或 Artifact Registry,不管是哪一種,都可以使用弱點掃瞄功能,只要在 Console 上啟用之後,你接下來 Push 上傳的每一個 Image,都會自動掃瞄。(但是舊的不會掃瞄喔)

掃瞄完成之後,它會列給你一個非常完整的弱點清單,並且依照嚴重程度和弱點分數做一個「排行榜」,以及建議的修護方式和相關外部連結,讓你可以知道有哪些弱點需要修補,算是非常貼心的功能。

Google Cloud 應用程式的資安功能 - 針對容器的資安服務 Vulnerability Scanning
圖片來源:截圖自 GCP Console (Vulnerability Scanning)

2. Image 簽署功能 – 二進位授權 Binary Authorization 

軟體開發過程中,常常推送各種 Image 到 GCP,但有些 Image 尚未開發完成,只是先推送出來測試看看,因此可能會有資安漏洞,不能部署到正式環境。為了防止 Image 不被意外部署出來,GCP 設計了二進位授權 Binary Authorization 的機制,讓你的 Image 在部署到 Cloud Run 或 GKE 之前,強制驗證它是否經過簽名,就像是找個人幫你背書,證明這個 Image 很安全,如果 Image 未經簽名,一律拒絕部署,而且可以針對多個步驟例如:單元測試、原始碼分析和漏洞分析等等,都設定簽名的關卡,算是非常嚴格的安全機制。

(三)應用程式掃描 – Web Security Scanner

GCP 對於部署應用程式的平台,包含 App Engine、Compute Engine、GKE,皆提供弱點掃瞄,它會爬行 (Crawling) 你的網站,從首頁開始延伸到的相關連結,執行各種輸入和事件處理,藉此偵測應用程式的弱點。

你可以執行定期的掃瞄排程,只要提供 IP 或網址就可以開始掃瞄,也可以自訂多個參數來做更客製化的掃瞄,讓掃瞄的廣度和深度更為全面。但是要注意,必須是專案內的應用程式才能掃瞄,以及要用公開的 IP 或網址才能掃瞄得到。

六、資料存取

(一) Secret Manager

我們的應用程式時常需要和 Google 的 API,或是後端主機、資料庫或其他儲存的服務互動,這時需要一些連線資訊、環境變數、設定檔或憑證,如果我們直接寫在程式碼中,容易有被竊取的風險,我們可以將它們寫在 Secret Manager 當中,讓有權限的 Service Account 去讀取,可以減少重要資訊外洩的機率。而且它是一個代管的服務,我們可以很方便的把資訊建立成 Secret,每次更新都會立即生效,在管理上非常方便。

(二) Key Management Service

我們使用的 Disk、Cloud Storage、Cloud SQL、Filestore 和 BigQuery,都已經內建了 Google 預設的加密機制。如果我們想要有更高的加密等級,就可以使用 KMS。KMS 是一個集中管理加密金鑰的地方,也就是所謂的 CMEK (Customer Managed Encryption Keys) 模式。你可以選擇各種加密演算法,也可以決定自動更換 Key 的頻率,從 24 小時到 120 天都可以選擇。

Google Cloud 資料存取 Key Management service
圖片來源:GCP 官方文件

除了軟體生成的 Key ,也有硬體模組生成的 Key,叫做 HSM (Hardware Security Module),軟體 Key 可達到 FIPS 140-2 Level 1,而硬體 Key 更是達到 FIPS 140-2 Level 3,是很多金融機構合規需求的標準。另外,你也可以不使用 KMS 產生的 Key,可以直接從外部第三方送進 GCP 使用,就是所謂的 EKM (External Key Management) Keys,這裡的 Key 完全不會送到 GCP 裡面 (支援的廠商清單)。

如果不用第三方管理系統,也可以直接使用所謂的 CSEK (Customer Supplied Encryption Keys) 模式,直接從外部自己產生 Key,每次存取時指定 Key 的位置,但要注意這種方法,Google 也不會儲存你的 Key,自己務必要保管好,因為你沒有專屬的金鑰管理系統,萬一 Key 不見了,是連 Google 都無法幫你還原資料的。

(三) Cloud DLP (Data Loss Prevention)

公司因為合規需求,或是避免內部人員看到不該看的敏感資料,你可以呼叫 Cloud DLP 的 API,來幫你檢查資料中是否包含個資。例如使用者傳訊息給客服人員,有時太直白地留下身份證字號或是手機號碼,收到這種訊息反而提高公司觸法的風險,所以每次收到最好當下就檢查,只要檢查到個資,就可以使用「遮罩」、「刪除」或「加密」來處理。

Google Cloud DLP
圖片來源:GCP 官方文件

「加密」這個動作可以搭配 KMS 的 Key 來將資料加密成看不懂的樣子,只讓關鍵人員有權限解密該資料。對於已經存在資料庫裡的資料,不確定是否含有個資,也可以建立掃瞄工作,對整個資料庫或 Cloud Storage 進行完整掃瞄,再針對掃瞄到的資料統一處理。

📚 延伸閱讀:

🔗 【 東東老師 X 思想科技 】雲端的資訊安全防禦縱深,常用資安服務介紹(上)

🔗 【 東東老師 X 思想科技 】雲端的資訊安全防禦縱深,常用資安服務介紹(下)

最專業的技術團隊! 提供您最完善的技術教學和服務

歡迎您與我們聯絡
我們會協助您取得最佳解決方案!

Leave Us Your Message
We are ready to talk!

歡迎您與我們聯絡。
我們會協助您取得最佳解決方案!

Leave Us Your Message.
We are ready to talk!

找不到您需要的? 加入我們的最新活動!

搶先了解
新趨勢