符合 PCI 資料安全標準

Last reviewed 2025-03-12 UTC

本指南可協助您瞭解如何在 Google Cloud上為您的公司實作支付卡產業資料安全標準 (PCI DSS)。本指南除了提供 PCI SSC 雲端運算指南 (PDF 格式) 之外,還會說明此標準的背景知識、您在雲端法規遵循中的角色,然後提供如何依據 PCI DSS 設計、部署及設定付款處理應用程式的相關規範。本教學課程也會說明監控、記錄及驗證應用程式的方法。

本文件會在適用情況下參照 PCI DSS 4.0 規定

PCI 安全標準委員會建立的 PCI 資料安全標準,是企業在處理付款卡 (信用卡和簽帳金融卡) 資訊時必須遵守的資訊安全標準。PCI 安全標準委員會成員包含各主要支付卡公司。接受 Visa、MasterCard、Discover、American Express、JCB 或銀聯卡的企業都必須遵循 PCI DSS,否則將會遭到罰款或懲罰。

PCI DSS 針對數種商家類型提供不同類別的標準,商家類型從親自收集付款資訊的商家,到完全外包付款處理的商家都有。本指南涵蓋以下商家類型:SAQ ASAQ A-EPSAQ D

目標

  • 查看付款處理應用程式架構。
  • 設定付款處理環境。
  • 部署及設定應用程式伺服器。
  • 設定記錄及監控。
  • 驗證付款處理環境。

定義

本指南使用許多特殊名詞,以下幾個最常用。如要進一步瞭解,請參閱 PCI DSS 詞彙

CDE:「持卡人資料環境」(cardholder data environment) 的縮寫。這個縮寫字是指應用程式中保留或移轉持卡人資料的部分,包括付款帳號或與卡片相關的任何個人識別資訊。

補充控管措施:如果實體因合理的技術或記錄在案的業務限制,無法符合明確規定的要求,可考慮採用的替代方案。實體在實施這些其他控管機制時,必須充分降低與規定相關的風險。如需補償控管的使用指南,請參閱「PCI DSS 規定和安全性評估程序」中的「補償控管」附錄 B 和 C。

PAN:「主帳號」(primary account number) 的縮寫,也稱為帳號。這是識別發卡機構和持卡人帳戶的支付卡專屬號碼。

QSA:「合格的安全性評估人員」(Qualified Security Assessor) 的縮寫。QSA 經過 PCI 安全標準委員會 (SSC) 認證,獲授權執行 PCI DSS 現場評估。合格安全評估機構 (QSA) 資格要求說明瞭 QSA 公司和員工的相關規定。

SAQ:「自我評估調查問卷」(Self-Assessment Questionnaire) 的縮寫,這項工具可用來記錄實體進行 PCI DSS 自我評量的結果。這項規定僅適用於符合自評資格的實體。

範圍界定:要納入 PCI DSS 評估的系統、程序與人員。

代碼化:將主帳號 (PAN) 換成代理值 (稱為「代碼」) 的程序。然後,PAN 會儲存在安全查詢中。去代碼化則是反過來透過代碼查詢 PAN 的程序。代碼可以是雜湊或系統指派的值

背景

PCI DSS 提供一份要求清單,透過這些要求來強化持卡人安全。這些要求分成 12 個主要的單元及許多子單元。本文件會參照這些單元的編號,說明這些單元的內容,但這些章節的參考資料僅包含部分適用的要求。

您的 PCI DSS 法規遵循要求會隨著公司處理支付卡交易的方式 (類型) 及公司每年執行的交易量 (級別) 而改變。

交易量增加時,您的 PCI DSS 商家級別也會提高,且 PCI DSS 法規遵循規範也會變得更嚴格。在第 1 級,也就是最高商家級別中,PCI DSS 需要稽核。級別不是統一的,會因卡片品牌不同而異。American Express 將第 1 級定義為每年 250 萬筆交易,而 Visa、Mastercard 及 Discover 則定義為每年 600 萬筆交易。每個卡片品牌都有額外級別要求,這些要求不在本文件說明範圍內。請確定您的付款處理環境通過稽核以支援您的商家級別。

由於 Google Cloud 是符合 PCI DSS 4.0 標準的第 1 級服務供應商,因此不論您公司的商家級別為何, Google Cloud 都能支援您的 PCI DSS 法規遵循需求。致力於法規遵循 專區會說明 Google 為您提供的服務範圍。

另一個基本變數是您的 SAQ 類型。如果您符合自我評估資格,SAQ 會概述符合 PCI DSS 必須滿足的條件。您的 SAQ 類型取決於應用程式架構及處理支付卡資料的方式。大部分的雲端商家都屬於下列其中一種類型:

SAQ 類型 說明
A 這類商家將支付卡處理完全外包給第三方網站。客戶會離開您的網域 (包括填寫 <iframe> 網路表單)、完成付款,再回到您的應用程式。

換句話說,您的公司完全不會觸及客戶卡片資料。
A-EP 這類商家將付款處理外包給第三方供應商,但可在過程中隨時存取客戶卡片資料。可以存取卡片資料的商家會使用商家控制頁面元素,例如嵌入第三方付款頁面的 JavaScript 或 CSS。

換句話說,您的付款處理應用程式會將卡片資料轉送到用戶端的處理商,或者處理商會呈現您託管的內容。
D 這類商家接受線上付款,且不符合 SAQ A 或 SAQ A-EP 的資格。此類型包含從自己的伺服器呼叫付款處理商 API (不論是否經過代碼化) 的商家。

換句話說,如果您不屬於 SAQ A 或 SAQ A-EP,就是 SAQ D。

SAQ D 會區分商家和服務供應商。服務供應商不在本文件的討論範圍,而所有 SAQ D 參照根據 PCI DSS 中的定義,都是指商家。
SAQ 規定。SAQ A-EP 是 SAQ A 的超集合,而 SAQ D 是 SAQ A-EP 的超集合。
圖 1. SAQ 要求的文氏圖。SAQ A-EP 是 SAQ A 的超集合,而 SAQ D 是 SAQ A-EP 的超集合。

遵循法規,不遺餘力

Google 使用各種技術和程序來保護儲存在 Google 伺服器上的資訊安全。Google 會獨立驗證 GCP 技術和 Google 代管的基礎架構適用的 PCI DSS 要求。 Google Cloud 您可以透過法規遵循報告管理員下載 Google 的 PCI DSS 法規遵循報告。雖然 Google 為商家提供許多控管在 Google 基礎架構上執行的運算執行個體,但 Google 不會控管商家在 Google Cloud上部署的作業系統、套件或應用程式的安全性。除了架構所需的其他自訂項目外,您也必須遵守部署作業系統套件和應用程式時的 PCI DSS 規定。

Google Cloud 遵循 PCI DSS 的第 1 級服務供應商要求,以及所有適用的服務供應商要求。Google Cloud 共同責任表列出 PCI DSS 的法規遵循義務。在您實行 PCI DSS 法規遵循並執行 PCI DSS 稽核時,這個責任表是很有用的參考資料。

產品指南

本節提供常用 Google Cloud 服務的相關指引,適用於用於 PCI DSS 環境的架構。

App Engine

使用 App Engine 輸入防火牆規則輸出流量控管

Cloud Run

使用 Cloud Run 入站設定VPC Service Controls虛擬私有雲連接器的輸出控管。如有需要,請設定靜態外部 IP 位址

Cloud Run 函式

使用 Cloud Run 函式的輸入和輸出網路設定

Cloud Logging

使用 Cloud Logging 記錄互動。

Cloud Monitoring

使用 Cloud Monitoring 監控互動情形。

Google Kubernetes Engine

如要瞭解如何使用 Google Kubernetes Engine 建立 PCI DSS 環境,請參閱「GKE 的 PCI DSS 法規遵循」。

Cloud Storage

3.5 要求規定主帳號 (PAN) 不論儲存在任何位置,都是安全的。雖然 Google 會自動提供靜態加密,但不會自動執行此規定需要的單向雜湊、截斷或代碼化。

範例架構

本節說明根據 SAQ A、SAQ A-EP 和 SAQ D 實作環境的方法。

架構總覽

SAQ A

SAQ A 是最基本的付款處理架構。付款由第三方處理,商家應用程式或網頁不存取任何卡片資料。

整體付款處理流程如下:

  1. 客戶選擇產品項目,繼續前往結帳頁面。

  2. 結帳應用程式將客戶重新導向到第三方付款處理商。

  3. 客戶在第三方處理商擁有和維護的付款表單中輸入支付卡資訊。

  4. 第三方付款處理商檢查支付卡資訊,然後收取費用或拒絕該卡片。

  5. 處理交易後,第三方付款處理商將客戶和交易明細一起送回商家應用程式。

  6. 商家應用程式傳送驗證要求給付款處理商,以確認此交易。

  7. 付款處理商回應以驗證交易明細。

在客戶的瀏覽器、商家網站、付款處理方和支付閘道之間處理資訊。
SAQ A 第三方付款處理環境架構。

SAQ A-EP

SAQ A-EP 付款處理架構是以在 Compute Engine 虛擬機器執行個體上執行的付款處理應用程式為中心。這些執行個體都位在安全的私人網路中,並使用安全通道與網路外的服務通訊。

整體付款處理流程如下:

  1. 客戶在您公司擁有和維護的付款表單中輸入支付卡資訊。

  2. 客戶提交資訊時,表單資訊會安全地傳送至第三方付款處理商。

  3. 第三方付款處理商檢查支付卡資訊,然後收取費用或拒絕該卡片。

  4. 付款處理商將回應送回您的付款應用程式,接著付款應用程式會傳送訊息到您的核心應用程式。

系統會透過 Cloud LoggingCloud Monitoring 記錄及監控上述所有互動。

SAQ A-EP 付款處理環境架構
SAQ A-EP 付款處理環境架構。

SAQ D

SAQ D 付款處理架構是以在 Compute Engine 虛擬機器執行個體上執行的付款處理應用程式為中心。這些執行個體都位在安全的私人網路中,並使用安全通道與網路外的服務通訊。

整體付款處理流程如下:

  1. 客戶在您公司擁有和維護的付款表單中輸入支付卡資訊。

  2. 客戶提交資訊時,您的付款應用程式會接收表單資訊。

  3. 您的付款應用程式會驗證付款資訊,透過後端 API 將資訊安全地傳送至第三方付款處理商。

  4. 第三方付款處理商檢查支付卡資訊,然後收取費用或拒絕該卡片。

  5. 付款處理商將回應送回您的付款應用程式,接著付款應用程式會傳送訊息到您的核心應用程式。

系統會透過 LoggingMonitoring 記錄及監控上述所有互動。

SAQ D 付款處理環境架構
SAQ D 付款處理環境架構。

付款處理客戶使用流程

SAQ A

本節從使用您應用程式的客戶觀點,說明第三方付款處理流程。

SAQ A 第三方付款處理的客戶使用流程
SAQ A 第三方付款處理的客戶使用流程。

客戶存取付款表單時,應用程式會顯示付款處理商託管的 <iframe>。基於跨來源資源共用限制的規定,您的應用程式無法存取或監控 <iframe> 的內容。客戶提交其支付卡資訊時,付款處理商會接受或拒絕該卡片,然後將客戶送回您的應用程式。然後,您的應用程式會檢查付款處理商的交易回應,並據此採取行動。您的應用程式不會存取或處理任何支付卡資訊。

SAQ A-EP

本節說明的內部付款處理流程與前面相同,但是從使用您應用程式的客戶觀點出發。

SAQ A-EP 第三方付款處理的客戶使用流程
SAQ A-EP 第三方付款處理的客戶使用流程。

客戶存取付款表單的網址時,網站會顯示您的付款應用程式託管的表單。客戶提交支付卡資訊時,表單會直接送往付款處理商。處理商會接受或拒絕該卡片,然後將客戶送回您的應用程式。然後,您的應用程式會檢查付款處理商的交易回應,據此採取行動。客戶可能看不到第三方付款處理商,但您的應用程式不會在伺服器端存取任何支付卡資訊。

SAQ D

本節從使用您應用程式的客戶觀點來說明內部付款處理流程。

SAQ D 第三方付款處理的客戶使用流程
SAQ D 第三方付款處理的客戶使用流程。

客戶存取付款表單的網址時,系統會透過 HTTPS 負載平衡器將客戶安全地轉送到表單。客戶提交支付卡資訊時,您的付款處理應用程式會將資訊安全地傳送到第三方付款處理商。第三方付款處理商會接受或拒絕該卡片,然後將回應傳回到您的付款處理應用程式。

付款處理內部流程

SAQ A 與 A-EP

本節從執行您應用程式的伺服器觀點,說明付款處理流程。

SAQ A 與 SAQ A-EP 內部流程
SAQ A 與 SAQ A-EP 內部流程。

您的付款處理應用程式會接收及剖析第三方付款處理商傳回的回應,然後將部分或全部的回應資料傳送至核心應用程式。此時,您的付款處理應用程式已完成交易。核心應用程式會負責通知客戶。

SAQ D

本節從執行您應用程式的伺服器觀點,說明內部付款處理流程。

SAQ D 內部流程
SAQ D 內部流程。

您的付款處理應用程式會驗證客戶提交的支付卡資訊,然後透過後端 API 將資訊傳送至付款處理商。處理器會嘗試收費,並提供包含交易明細的回應。您的應用程式會接收並處理回應,然後將部分或全部的回應資料傳送至核心應用程式。此時,您的付款處理應用程式已完成交易。核心應用程式會負責通知客戶及遞送產品。

監控與記錄資料流程

監控與記錄流程設計如下:

監控和記錄流程
監控和記錄流程。

設定您的付款處理環境

本節說明如何設定您的付款處理環境。您需要進行下列設定:

  • 建立新的 Google Cloud 帳戶,將付款處理環境與實際工作環境分開。
  • 限制存取環境的權限。
  • 設定您的虛擬資源。
  • 設計基本 Linux 映像檔,以用來設定您的應用程式伺服器。
  • 實作安全套件管理解決方案。

設定新帳戶

如要簡化存取限制和法規遵循稽核作業,請建立符合實際工作要求的付款處理環境。此環境與您的標準實際工作環境及任何開發和品質確保環境是完全分開的 (6.5.3 要求)。為了確實隔離環境,請在您的核心實際工作環境帳戶之外,再建立一個 Google Cloud 帳戶並使用此帳戶。熟悉身分與存取權管理 (IAM) 設定的使用者可在範圍內工作使用不同專案,達成相同的隔離效果。

限制存取環境的權限

只允許部署付款系統程式碼或管理付款系統機器的使用者存取付款處理環境 (第 7.2 節及 8.2.1 要求)。這稱做最低權限原則。請使用 IAM 角色來限制存取。最佳做法包括盡可能使用角色、僅授予執行預期工作所需的權限,以及只將「擁有者」角色授予確實需要服務完整 Root 存取權的主體。詳情請參閱 IAM 安全指南

系統會依據服務帳戶判斷是否執行自動存取代管服務。服務帳戶可讓您管理應用程式驗證和授權,簡化應用程式管理生命週期。這些帳戶提供一種靈活且安全的方法,根據具有相同身分的類似應用程式和功能,將虛擬機器執行個體分組。您可以透過 IAM 角色和 VPC 防火牆規則,在服務帳戶層級上執行安全措施和存取權控管。

資料夾中包含的所有項目都要遵循您套用到該資料夾的 IAM 規則。預設權限是全部拒絕 (7.2.3 要求),且您套用的各個規則都只能新增權限。

8.3.6 要求提供關於使用者密碼的一些基本規則。美國國家標準暨技術研究院 (NIST) 在 NIST SP800-63B 第 5.1.1 節中為安全密碼定義了一組更安全的規則。Google 建議您盡可能遵循 NIST 數位身分指南。

PCI DSS SAQ D 第 12.7 節要求在符合當地法律的規範下,有權存取範圍內環境的使用者通過背景調查,然後才能授予這些使用者環境存取權。若要降低違規風險,不論您的法規遵循類型為何,都請考慮對每個人執行犯罪背景調查和資歷調查。

保護網路安全

若要保護進出付款處理應用程式網路的傳入和傳出流量,您必須建立下列項目:

  • Cloud Next Generation Firewall 政策或 Compute Engine 防火牆規則
  • Cloud VPN 通道
  • 外部應用程式負載平衡器

為了建立虛擬私有雲,我們也建議使用 Cloud NAT 來取得額外的網路安全層。它提供了許多可確保 Compute Engine 和 GKE 執行個體網路安全的強大選項。

建立防火牆規則

使用 Cloud Next Generation Firewall 政策或 VPC 防火牆規則,限制各個 Compute Engine 執行個體的傳入流量 (1.3 和 1.4 要求)。請只允許來自下列三個來源的傳入流量:

  • 公開 HTTPS,這樣客戶才能存取您的付款頁面。
  • 您的應用程式網路,這樣您的付款處理應用程式才能接收來自第三方付款處理商的回應。
  • 您的內部辦公室網路,這樣您才可以存取執行個體以進行稽核和管理。

對各個執行個體使用防火牆規則以限制傳出流量。您可以在本機使用 iptable 實作這些規則,或使用虛擬私人雲端防火牆規則和網路標記在較大範圍實作規則。僅允許來自付款表單的傳出流量傳送至第三方付款處理商。這個連線只能使用 HTTPS。如要測試您的工作,請參閱本文件後面關於防火牆規則記錄的部分。

Cloud DNS 提供的私人 DNS 區域可讓您安全地為 CDE 內的主機命名,不用擔心敏感的網路拓撲資料會外洩。

請如下設定流量限制:

來源 目的地 通訊埠 方向和原因
公開負載平衡器 第三方付款表單 tcp:443 Inbound
公開存取付款處理應用程式
第三方付款表單 第三方付款處理商 tcp:443 Outbound
將 AUTH 要求轉送至付款服務供應商
第三方付款處理商 您的付款處理應用程式 tcp:5480 Inbound
接受來自付款系統的 AUTH 要求 (不含任何持卡人資料)
您公司的辦公室網路 VPN 閘道 tcp:8000 Inbound
存取付款處理環境,存取記錄和開發機器

此外,下列流量會在您的付款處理應用程式內部網路安全產生:

來源 目的地 通訊埠 原因
卡片表單 PCI Proxy tcp:5480 將加密卡片資料換成付款方式代碼
所有主機 Google NTP 伺服器 udp:123 時間同步處理
VPN 閘道 所有主機 tcp:22 安全殼層 (SSH) 連線

建立安全的 VPN 通道

您可以使用 Cloud VPN,在內部部署環境和付款處理環境之間建立安全的 VPN 通道 (第 2.2.7 節和第 4.2 節)。

建立外部應用程式負載平衡器

您可以建立外部應用程式負載平衡器 (第 2.2.7 節和第 4.2 節),協助確保客戶連入流量的安全。如要建立外部應用程式負載平衡器,您必須具備下列項目:

  • 用於付款處理表單的網站子網域,例如 payments.your-domain-name.com
  • 已登錄且經過簽署的有效子網域安全資料傳輸層 (SSL) 憑證。

在網路註冊商網域設定介面查看網域的 DNS 設定,確認網域有效。

建立基本 Linux 映像檔

PCI DSS 包含的要求說明如何設定機器,使付款處理架構符合規定。您可以採用數種方式來實作這些要求,但最容易的方法如下:

  1. 建立軟體和程式庫清單,這些軟體和程式庫必須安裝在付款處理應用程式範圍內的每一台伺服器上。為了避免產生不必要的系統安全漏洞 (要求項目 2.2.4),只納入執行應用程式所需的最少軟體和程式庫。候選軟體和程式庫可能包括 Google Cloud CLI、語言專用執行階段及程式庫,或網路伺服器。

  2. 建立 Compute Engine 執行個體,此執行個體使用其中一個 Compute Engine 預先設定的作業系統映像檔

  3. 安裝您之前列出的程式庫和軟體。

  4. 安裝及設定 ntp 以保持系統時鐘同步。使用網路時間通訊協定管理伺服器時鐘,確保記錄中時間戳記的完整性 (第 10.6 節)。

  5. 確定映像檔遵循建立安全 Compute Engine 映像檔的最佳做法 (第 2.2 節全部內容)。

  6. 設定基本映像檔後,從您的映像檔建立自訂 Compute Engine 磁碟映像檔。這個映像檔可讓您在建立虛擬機器執行個體時,使用您的基本 Linux 映像檔。

使用安全套件管理

套件管理是安全性強化託管環境中的重要元件。根據第 2.2 節,您必須實施業界接受的強化標準。除非您使用 Google 提供的容器最佳化 OS,否則就需要安裝套件管理員,例如 RPM、Yum 或 Apt。您的應用程式可以使用自己的程式設計語言專用套件管理員 (例如,NPM、PyPi 或 Composer),並在第一次執行時下載依附元件。

如果應用程式可以從網際網路擷取更新,您必須將更新來源視為潛在安全風險。公開託管套件含有惡意供應端或上游攻擊的情況愈來愈普遍。想像您若安裝含有惡意程式碼的 SSH 更新,會有什麼後果。

若要降低供應端攻擊的風險,您可以為套件建立安全收件人清單,並確認收件人在清單上。請為您使用的每一個套件,保留一份經過測試和核准的版本號碼清單。請記錄版本號碼及其雜湊或簽名。請確保套件管理員在安裝或更新應用程式前,會驗證雜湊或簽名。

大部分套件管理系統均允許私人託管作業。如果可能,請啟動您自己的私人套件管理伺服器,且只託管經過測試和核准的軟體。請鎖定套件管理員,讓它不能連結其他伺服器進行更新。

理想上,您的應用程式建構程序會擷取和驗證所有套件,然後建立自訂磁碟映像檔的修訂版本,其中包含容器所需的一切項目。這樣一來,您的伺服器就會啟動並擴充資源,不會產生任何安裝程式延遲,並能減少在啟動時發生隨機錯誤的機率。您也可以重新造訪應用程式先前的版本,只要啟動該映像檔,就能像在實際工作環境中一般使用,有助於進行診斷和鑑別。

部署和設定

接下來,請從您的基本映像檔設定執行個體的部署和設定。

部署您的環境

為了滿足 PCI DSS 要求,請確定您每次都安全地部署正確的應用程式,並確定您不會在部署期間安裝其他軟體套件。為了簡化部署程序,請考慮使用 Terraform 建立應用程式自動化部署。Terraform 可讓您在程式碼中說明整個付款處理環境,包括防火牆規則、閘道、負載平衡器和執行個體。

在自動化部署作業中,不論軟體來自第三方或您自己,您都必須驗證部署軟體的完整性。您可以在安裝套件時,對每一個套件執行自動化雜湊,以驗證軟體。驗證雜湊後,您就可以使用自動化測試架構來執行安全性和其他測試,以及驗證測試是否通過。

最後,部署 Compute Engine 執行個體時,請設計執行個體失敗時的復原計畫。如果您可接受的停機時間範圍夠大,或許只需要手動復原計畫;如果不夠大,您就必須設計自動化復原計畫。如需相關指引,請參閱災難復原規劃指南設計完善可靠的系統,以及建構可擴充的彈性網頁應用程式

設定環境

部署執行個體後,請確定執行個體的設定正確無誤。請視需要,在每個執行個體基本映像檔的頂端安裝其他軟體和程式庫。為避免手動設定帶來的複雜作業、工作負擔和整體風險,請使用自動化設定管理工具,例如 SkaffoldChefPuppetAnsibleSalt

實作不可變更的稽核記錄

記錄功能會為許多產品的多種活動自動產生稽核記錄。從長遠來看,您可以使用 Cloud Storage 值區鎖定 (第 10.3 節),安全地儲存不可變更的記錄。值區鎖定可讓您設定政策,讓所有物件在您指定的時間範圍內 (從幾秒到幾年) 都不可變更也不可刪除。

實作虛擬私人雲端流程記錄

虛擬私有雲流程記錄服務旨在記錄虛擬機器執行個體收發的網路流程。您可以使用這些記錄進行網路監控、鑑識和即時安全分析 (第 10.2 節)。

安裝記錄代理程式

在伺服器上設定 iptable 後,每部伺服器就會將每個活動記錄到伺服器的區塊儲存空間。如要進一步瞭解免費配額和資料移轉價格,請參閱 Logging 定價頁面。如要保留這些記錄,並依據可疑活動產生快訊,請在每台伺服器上安裝記錄代理程式,將記錄和快訊串流到 Logging 和 Monitoring (第 10.3 節)。

整合入侵偵測系統

為了協助確保付款處理環境的安全性 (說明請見第 11.5 節),請使用入侵偵測系統 (IDS),這樣您就會知道何時有不良的執行者試圖攻擊系統。有兩種方法可以在付款處理環境中加入 IDS:在每個進入點放置 IDS,或在每台伺服器上安裝 IDS。

若要減少環境架構的複雜性,並簡化 11.5 的法規遵循,請在每台伺服器上安裝 IDS。研究並選擇要使用的 IDS 軟體後,請在每部伺服器的啟動安裝指令碼中輸入 IDS 安裝指令碼。

Cloud IDS (雲端入侵偵測系統) 是入侵偵測服務,可針對您網路上的入侵、惡意軟體、間諜軟體、指令與控制攻擊等,提供威脅偵測服務。Cloud IDS 可讓您完整掌握網路流量 (包括南北向和東西向的流量),方便您監控 VM 對 VM 的通訊,藉此偵測水平擴散。您也可以使用 Cloud IDS 簡化符合第 11.5 節規定的作業。

IDS 記錄在 PCI DSS 法規遵循的範圍內,必須傳送至 Logging 與 Monitoring 以產出報告、發佈快訊及稽核。

實作 Security Command Center

Security Command Center 可協助安全團隊收集資料、識別威脅,並在威脅造成業務損害或損失之前先行回應。此服務可讓您深入分析應用程式和資料風險,這樣一來,您就可以快速解除雲端資源的威脅並評估整體健康狀態。您可以使用 Security Command Center,從單一集中式資訊主頁查看和監控雲端資產庫存、掃描儲存系統找出機密資料、偵測常見的網路安全漏洞,以及查看重要資源的存取權。SCC 可協助您遵守數項要求,包括第 5 節及第 6.4 節內容的要求。

自動化應用程式部署

建構設定管理工具,安全地擷取及啟動應用程式最新版本。您可以從任何位置 (例如 Cloud Storage) 擷取應用程式,只要該位置是安全的即可。

先前提到的許多設定管理工具均支援持續整合和部署 (CI/CD) 工作流程,此工作流程也可以用來執行自動化掃描 (第 11.3 節) 並確保程式碼經過審查 (6.2.3 要求)。

擷取設定管理員記錄

設定您的設定管理員時,請確保設定管理員會記錄所有安裝詳細資料。完成設定程序後,請確保設定管理員會將記錄遞送至 Logging 與 Monitoring。

記錄與監控

為了確實遵循第 10 節所述的 PCI DSS 法規,請確認付款處理環境中採取的每個步驟都受到監控和記錄。您必須記錄每個執行個體上每個伺服器活動,每一個使用者動作都要能在日後進行檢驗。

啟用資料存取透明化控管機制

透過資料存取透明化控管機制,現在可以在Google Cloud 管理員存取您的內容時,提供近乎即時的記錄檔。Cloud 稽核記錄已記錄您自己的管理員動作,可供您查看。但這個稽核追蹤通常不含您雲端供應商的支援或工程團隊所採取的動作。舉例來說,在實作存取權核准記錄功能之前,假如您向 Google 支援團隊提交的支援票證需要執行資料存取,Cloud 稽核記錄並不會追蹤這項要求。資料存取核准功能彌補了這項落差,它會擷取支援或工程團隊針對特定目標的手動存取動作的近乎即時記錄。

存取權核准功能可讓您在存取前對 Google Cloud上的資料或設定進行明確的存取權核准。存取權核准功能還可深入瞭解 Google 支援和工程團隊的存取權。

啟用防火牆規則記錄

防火牆規則記錄可為您提供個別規則層級的記錄。它可以為您自行建立的任何規則提供虛擬私人雲端內的 TCP 和 UDP 連線記錄。這些記錄對於稽核網路存取或提供網路未按照核取方式使用的早期警告非常有用。

使用 VPC Service Controls

VPC Service Controls 可讓您定義 Google Cloud資源的安全範圍,例如 Cloud Storage 值區、Bigtable 執行個體和 BigQuery 資料集,以限制虛擬私有雲網路中的資料,並協助減緩資料竊取風險 (要求 1.3.1 和 1.3.2)。使用 VPC Service Controls,即可盡情運用Google Cloud的全代管儲存空間和資料處理功能,同時維持機密資料的隱密性。

設定虛擬私人雲端流程記錄

虛擬私有雲流量記錄中記錄了 VM 執行個體收發的網路流量流程。這些記錄符合 PCI DSS 規範,適合用來進行監控、稽核、鑑別和即時安全分析。每個虛擬私人雲端網路的子網路可以獨立啟用或停用流程記錄。只要在範圍內的 CDE 中啟用流程記錄,就可以降低記錄資料的數量。與輸出防火牆規則相結合的流程記錄,可讓您規範傳出流量,僅能以可稽核且難以規避的方式,傳送到授權端點 (1.2.1 和 1.3.4 要求)。

下圖顯示 VPC 流量記錄檔如何記錄 VM 執行個體收發的網路流量流程。」

啟用虛擬私人雲端流程記錄的持卡人資料環境
圖 2. 啟用虛擬私有雲流量記錄的 CDE。

如果您需要比流程記錄更詳細的資料 (例如,個別 HTTP 要求的記錄),您可以在應用程式或 Proxy 傳出要求中實作控制項。若要這麼做,請使用您自己的反向 Proxy 伺服器,設為將存取記錄轉送至 Logging。如需在 Compute Engine 上設定 Squid Proxy 伺服器的操作說明,請參閱「設定網路 Proxy」。為了避免發生瓶頸,請設定至少兩個備援 Proxy 伺服器。

記錄內部存取資料

除了記錄外部威脅外,您還可以監控和記錄具有付款處理環境管理存取權的使用者活動 (第 10.2 節)。如要執行上述作業,您可以記錄殼層指令。數個開放原始碼工具可以稽核殼層指令,並將指令傳送到記錄。這項工作的常用選項包括 OSSECTripwire

設定監控快訊

設定 Monitoring 以在付款處理環境發生錯誤時傳送快訊 (第 10.6 節)。請確定您的快訊包含環境、稽核及內部應用程式事件。請依據針對付款處理應用程式各元件的潛在風險或攻擊手法,建立您的快訊策略。例如,如果 IDS 偵測到任何嘗試侵入的行為,不論侵入是否成功,都會觸發 Monitoring 快訊。您還可以使用防火牆規則記錄來觸發快訊,做為企圖違反特定網路政策的應變方法。

將記錄串流至 BigQuery

將串流記錄記錄至 Cloud Storage 和 BigQuery
圖 3:將串流記錄記錄至 Cloud Storage 和 BigQuery。

您可以選擇將記錄檔轉送至 BigQuery,以便稍後進行分析。詳情請參閱「轉送和儲存空間總覽:接收端」一文。因為 BigQuery 針對查詢大型資料集進行最佳化,因此是進行大規模記錄分析的理想工具。記錄功能甚至可以直接將記錄寫入 BigQuery,以提供近乎即時的分析 (要求項目 10.4.1)。

使用機密資料保護功能來淨化資料

有許多原因如分析或開發,會使用範圍內應用程式所含的部分資料,而這些資料本身並不在範圍內。只有在使用 Sensitive Data Protection 淨化 PCI 資料後,才能授予應用程式存取 PCI 資料的權限 (要求項目 6.5.1)。

應用程式安全性

為了協助保護應用程式的安全,您必須先評估管理介面。您也可以使用 Cloud Key Management Service。

評估管理員介面

大部分的電子商務應用程式都有自己的非主控台管理介面,例如客戶服務帳單入口網站。這樣的工具必須有強大的存取控制項、必須具備使用多重驗證的個人化存取 (第 8.4 節),且必須經過稽核記錄的檢測 (第 10.2 節)。

您建立的所有記錄都應回答以下問題:誰做了什麼?在哪裡做的?什麼時候做的?根據第 2.2.7 節,如要存取這類工具,都必須經過強大的傳輸加密。請先使用 Sensitive Data Protection 篩選機密資訊,然後您才能在任何管理工具中看到這些資料。

使用 Cloud Key Management Service (Cloud KMS)

Cloud KMS 是一項可讓您管理加密金鑰的服務。此系統可以產生、使用、輪替及銷毀 AES-256、RSA 2048、RSA 3072、RSA 4096、EC P256 和 EC P384 加密編譯金鑰。Cloud KMS 可讓您移除儲存在程式碼或設定檔中的純文字密碼,以簡化 2.2.2、3.6、3.7 和 8.2 節的法規遵循。

驗證環境

實作環境後,在任何實際工作環境流量進入此環境前,您必須先驗證此環境:

  • 如果您是第 1 級商家,則必須由合格的安全性評估人員 (QSA) 來驗證您的環境。QSA 是經過 PCI 安全標準委員會核准,可驗證 PCI 環境並給予正式認可的一家公司或個人。
  • 如果您是第 2 級以下的商家,可以填寫自我評估調查問卷來驗證您的環境。

後續步驟