全解 Google(谷歌)基礎(chǔ)設(shè)施架構(gòu)安全設(shè)計(jì)
底層基礎(chǔ)設(shè)施安全設(shè)計(jì)
一、物理基礎(chǔ)架構(gòu)安全
谷歌數(shù)據(jù)中心包括了 生物識(shí)別、金屬感應(yīng)探測(cè)、監(jiān)控、通行障礙和激光入侵感應(yīng)系統(tǒng) 等多層物理安全保護(hù),并做了嚴(yán)格的限制訪問。
因?yàn)楣雀璧哪承┓?wù)托管在第三方數(shù)據(jù)中心,為了確保絕對(duì)的安全控制,必須部署此類高度安全措施。
硬件設(shè)計(jì)部署
谷歌數(shù)據(jù)中心網(wǎng)絡(luò)由數(shù)千臺(tái)服務(wù)器組成,這些服務(wù)器的主板和網(wǎng)絡(luò)設(shè)備都由谷歌自行定制設(shè)計(jì),相關(guān)設(shè)備組件和供應(yīng)商都必須經(jīng)過嚴(yán)格的安全檢測(cè)和背景審查。
同時(shí)谷歌也自己設(shè)計(jì)了安全芯片,這些芯片被廣泛應(yīng)用于服務(wù)器和相關(guān)外設(shè)環(huán)境,為硬件級(jí)別的安全識(shí)別和認(rèn)證提供了有效的安全手段。
安全引導(dǎo)和服務(wù)器識(shí)別機(jī)制
為了確保正確的服務(wù)啟動(dòng),谷歌服務(wù)器使用了一系列的啟動(dòng)引導(dǎo)技術(shù),包括在 BIOS、bootloader、kernel 和系統(tǒng)鏡像等底層組件中使用加密簽名,這些簽名在每次啟動(dòng)和更新時(shí)都能進(jìn)行安全驗(yàn)證。
整個(gè)過程中涉及的組件都由谷歌構(gòu)建、控制和加固。
隨著硬件的更新?lián)Q代,谷歌也在不斷努力進(jìn)行安全改進(jìn),比如自行設(shè)計(jì)了可鎖固件芯片、安全微控制器和安全芯片,并按照不同服務(wù)器的設(shè)計(jì)版本,在各類芯片中內(nèi)置了可信的安全啟動(dòng)機(jī)制。
在軟件引導(dǎo)和硬件啟動(dòng)過程中,數(shù)據(jù)中心的每臺(tái)服務(wù)器都有自己獨(dú)特的標(biāo)識(shí)身份,這些標(biāo)識(shí)也被用于機(jī)器底層管理的 API 調(diào)用驗(yàn)證。
另外,谷歌也開發(fā)了自動(dòng)更新檢測(cè)系統(tǒng),以保證各類軟硬件的及時(shí)更新、識(shí)別和診斷,必要時(shí)可以自動(dòng)隔離那些出現(xiàn)故障的服務(wù)器。
二、安全服務(wù)部署
此節(jié)中,將對(duì)一些基本的軟硬件服務(wù)安全進(jìn)行介紹,數(shù)千臺(tái)服務(wù)器將對(duì)這些服務(wù)應(yīng)用請(qǐng)求進(jìn)行伺服和備份,這些服務(wù)包括 Gmail 的 SMTP 服務(wù)、分布式數(shù)據(jù)存儲(chǔ)服務(wù)、YouTube 視頻轉(zhuǎn)碼服務(wù)、客戶端 APP 沙箱運(yùn)行服務(wù)等常規(guī)用戶請(qǐng)求。
所有運(yùn)行于基礎(chǔ)設(shè)施架構(gòu)的服務(wù)請(qǐng)求都由一個(gè)叫 Borg 的集群業(yè)務(wù)管理服務(wù)進(jìn)行控制。
服務(wù)標(biāo)識(shí)、完整性與隔離
在內(nèi)部服務(wù)的應(yīng)用層通信之間,谷歌使用了加密認(rèn)證授權(quán)方式,為管理和服務(wù)提供了高強(qiáng)度的訪問控制。
雖然谷歌不完全依賴內(nèi)部網(wǎng)絡(luò)劃分和防火墻作為主要安全機(jī)制,但為了防止 IP 欺騙等進(jìn)一步攻擊,谷歌在網(wǎng)絡(luò)入口和出口的各種不同點(diǎn)位使用了過濾策略,這種方法也最大化地提高了網(wǎng)絡(luò)性能和可用性。
每一個(gè)運(yùn)行服務(wù)都有自身相關(guān)的服務(wù)賬戶標(biāo)識(shí),當(dāng)創(chuàng)建服務(wù)或接收 RPC 請(qǐng)求時(shí),就能提供相應(yīng)的加密驗(yàn)證憑據(jù)。這些標(biāo)識(shí)同樣被用于服務(wù)間通信,以及對(duì)特定客戶端的數(shù)據(jù)和方法訪問限制。
谷歌的源代碼被存儲(chǔ)在一個(gè)中心庫(kù)內(nèi),在這里可以針對(duì)當(dāng)前和以往的代碼進(jìn)行審計(jì)。谷歌基礎(chǔ)設(shè)施可以針對(duì)特定服務(wù)配置相應(yīng)的安全審核、驗(yàn)證和源代碼檢測(cè)程序。
在代碼審查方面,需要除編寫者之外的至少一名工程師進(jìn)行審查和批準(zhǔn),另外,在審查出現(xiàn)問題之后,需要經(jīng)系統(tǒng)管理員批準(zhǔn)才能更改和執(zhí)行代碼。
這些強(qiáng)制要求限制了內(nèi)部人員或攻擊者對(duì)源代碼作出惡意更改,同時(shí)也為服務(wù)代碼提供了可追溯的取證流程。
除此之外,為了保護(hù)同一臺(tái)服務(wù)器上運(yùn)行的其它服務(wù),谷歌還設(shè)置了一系列的沙箱和隔離技術(shù)。這些技術(shù)包括通用的用戶隔離、基于語(yǔ)言和內(nèi)核的沙箱以及硬件虛擬化等。
總體來(lái)說,為了應(yīng)對(duì)存在風(fēng)險(xiǎn)的請(qǐng)求服務(wù),如用戶請(qǐng)求的復(fù)雜文件格式轉(zhuǎn)換,或 APP 端及谷歌運(yùn)算引擎這類產(chǎn)品面臨的用戶執(zhí)行代碼等,谷歌使用了多層隔離技術(shù)。
另外,為了保證網(wǎng)絡(luò)邊界的安全可按,谷歌還使用了一些特殊敏感的服務(wù),如集群業(yè)務(wù)服務(wù)和關(guān)鍵管理服務(wù)等,這些服務(wù)都運(yùn)行在專門的服務(wù)器之上。
服務(wù)間訪問管理
所有運(yùn)行服務(wù)可以使用谷歌基礎(chǔ)設(shè)施提供的訪問管理功能來(lái)指定哪些服務(wù)可以與其進(jìn)行通信。
例如,某個(gè)服務(wù)可以設(shè)置只提供一些特定白名單服務(wù)的 API 請(qǐng)求調(diào)用,該服務(wù)可以被配置為僅允許白名單帳戶身份,之后,這種訪問限制機(jī)制將會(huì)被谷歌基礎(chǔ)設(shè)施自動(dòng)執(zhí)行。
就像谷歌工程師對(duì)服務(wù)的訪問同樣需要身份標(biāo)識(shí)驗(yàn)證一樣,這些服務(wù)可以設(shè)置為允許或拒絕訪問。所有標(biāo)識(shí)類型信息(機(jī)器、服務(wù)或員工)都存儲(chǔ)于谷歌基礎(chǔ)設(shè)施的全局域中。
在內(nèi)部身份標(biāo)識(shí)認(rèn)證中,谷歌提供了多樣的標(biāo)識(shí)管理系統(tǒng),包括審批流程、記錄和通知等。
例如,這些標(biāo)識(shí)可以通過某個(gè)系統(tǒng)指派給訪問控制組,以方便不同工程師進(jìn)行服務(wù)的更改和批準(zhǔn)。標(biāo)識(shí)管理系統(tǒng)可以對(duì)成千上萬(wàn)的運(yùn)行服務(wù)進(jìn)行安全訪問管理。
除了自動(dòng)的 API 級(jí)別訪問控制機(jī)制外,谷歌還設(shè)置了訪問控制列表(ACLs) 和數(shù)據(jù)庫(kù)的讀取服務(wù),以方便執(zhí)行必要時(shí)自定義和細(xì)粒度的訪問控制操作。
服務(wù)間通信加密設(shè)計(jì)
除了前述的 PRC 認(rèn)證授權(quán)功能之外,谷歌還提供了網(wǎng)絡(luò)內(nèi) PRC 數(shù)據(jù)的加密保密性和完整性功能,為了對(duì) HTTP 等其它應(yīng)用層協(xié)議進(jìn)行安全保護(hù),這些加密功能被谷歌封裝在了內(nèi)部的 PRC 機(jī)制中。
本質(zhì)上來(lái)說,這提供了應(yīng)用層隔離,同時(shí)消除了任何網(wǎng)絡(luò)路徑的安全依賴因素。即使網(wǎng)絡(luò)被竊聽或設(shè)備被入侵,加密的服務(wù)通信也能保證信息安全可靠。
可以針對(duì)每一種 PRC 調(diào)用,為服務(wù)設(shè)置不同的加密保護(hù)級(jí)別,
例如,對(duì)于數(shù)據(jù)中心內(nèi)部的低價(jià)值數(shù)據(jù)交換只設(shè)置完整性保護(hù)級(jí)別;而針對(duì)復(fù)雜的網(wǎng)絡(luò)攻擊和內(nèi)部網(wǎng)絡(luò)竊聽行為,將會(huì)自動(dòng)開啟所有 RPC 流量加密功能,無(wú)需額外的操作配置。
同時(shí),谷歌配置部署了硬件加密加速器,可以為數(shù)據(jù)中心內(nèi)部所有 PRC 流量進(jìn)行加密。
終端用戶數(shù)據(jù)訪問管理
典型的谷歌服務(wù)為終端用戶帶來(lái)了很多便利,例如 Gmail,在用戶使用類似程序的過程中,將會(huì)和谷歌基礎(chǔ)設(shè)施進(jìn)行交互,如 Gmail 服務(wù)中調(diào)用通訊錄服務(wù) API 訪問終端用戶地址薄。
結(jié)合前述章節(jié),通訊錄服務(wù)可以設(shè)置成 Gmail 服務(wù)中只允許特定 RPC 的請(qǐng)求。然而,這仍然是一個(gè)非常廣泛的權(quán)限控制集。但在權(quán)限許可范圍內(nèi),Gmail 服務(wù)將對(duì)任何時(shí)間的任何用戶作出請(qǐng)求回應(yīng)。
由于 Gmail 服務(wù)將會(huì)代表終端用戶執(zhí)行對(duì)通訊錄的 RPC 請(qǐng)求,而此時(shí),作為 RPC 請(qǐng)求的一部分,谷歌基礎(chǔ)設(shè)施將會(huì)為 Gmail 服務(wù)提供一個(gè)“終端用戶許可憑據(jù)”,該憑據(jù)是特定終端用戶的身份證明,這也為特定終端用戶通訊錄服務(wù)的數(shù)據(jù)回應(yīng)實(shí)現(xiàn)了安全保障。
為了向終端用戶發(fā)布“權(quán)限許可憑據(jù)”,谷歌運(yùn)行有一個(gè)中央用戶身份服務(wù)系統(tǒng)。終端用戶登錄后,將會(huì)通過該身份服務(wù)進(jìn)行多種方式驗(yàn)證,如用戶密碼、cookie 信息、OAuth 令牌 等,之后,任何從客戶端發(fā)起到谷歌內(nèi)部的后續(xù)請(qǐng)求也將需要身份信息驗(yàn)證。
當(dāng)服務(wù)接收到終端用戶密碼信息后,將把其傳遞到中央身份服務(wù)系統(tǒng)進(jìn)行驗(yàn)證,如果驗(yàn)證正確,身份服務(wù)系統(tǒng)將返回一個(gè)短期有效的“權(quán)限許可憑據(jù)”,用于用戶的 RPC 相關(guān)請(qǐng)求。
結(jié)合前面的例子,Gmail 服務(wù)如果獲得了“權(quán)限許可憑據(jù)”后,將把該憑據(jù)將傳遞給通訊錄服務(wù)進(jìn)行驗(yàn)證。之后,作為 RPC 調(diào)用的一部分,該憑據(jù)將適用于任何客戶端請(qǐng)求。
三、安全數(shù)據(jù)存儲(chǔ)
靜態(tài)加密
谷歌基礎(chǔ)設(shè)施中運(yùn)行有很多存儲(chǔ)服務(wù),如分布式數(shù)據(jù)庫(kù)(BigTable)、Spanner 以及集中密鑰管理系統(tǒng)。大多數(shù)應(yīng)用程序都將通過這些存儲(chǔ)服務(wù)對(duì)物理存儲(chǔ)設(shè)備進(jìn)行直接訪問。
存儲(chǔ)數(shù)據(jù)在寫入物理存儲(chǔ)設(shè)備之前,可以配置使用集中密鑰管理系統(tǒng)分發(fā)的密鑰進(jìn)行加密。而集中密鑰管理系統(tǒng)支持自動(dòng)密鑰輪換,并提供了全面的日志審計(jì)、特定用戶身份完整性校驗(yàn)等功能。
Spanner 是谷歌公司研發(fā)的、可擴(kuò)展的、多版本、全球分布式、同步復(fù)制數(shù)據(jù)庫(kù)。它是第一個(gè)把數(shù)據(jù)分布在全球范圍內(nèi)的系統(tǒng),并且支持外部一致性的分布式事務(wù)。
在應(yīng)用層執(zhí)行加密允許基礎(chǔ)設(shè)施隔離掉一些如惡意磁盤固件的底層存儲(chǔ)潛在威脅,這也是另一種加密保護(hù)層的額外實(shí)現(xiàn)。谷歌的每一塊機(jī)械硬盤和固態(tài)硬盤都支持硬件加密和狀態(tài)跟蹤。
如果某個(gè)加密存儲(chǔ)設(shè)備被更換或廢棄,必須經(jīng)過多步驟的磁盤清理和兩次獨(dú)立驗(yàn)證,不經(jīng)過此清除過程的設(shè)備也將被執(zhí)行物理破壞。
數(shù)據(jù)刪除
谷歌的數(shù)據(jù)刪除不是執(zhí)行完全數(shù)據(jù)清除,而是針對(duì)某些特定數(shù)據(jù)的“計(jì)劃性刪除”,這樣做的好處是,可以恢復(fù)那些客戶端或運(yùn)維操作無(wú)意刪除的數(shù)據(jù)。
如果數(shù)據(jù)被標(biāo)記為“計(jì)劃性刪除”后,將按照特定服務(wù)策略刪除。當(dāng)某個(gè)終端用戶執(zhí)行了賬戶刪除之后,谷歌的基礎(chǔ)設(shè)施將通知相關(guān)數(shù)據(jù)清除服務(wù)對(duì)被刪賬戶的數(shù)據(jù)進(jìn)行清除。刪除了谷歌賬號(hào)和谷歌郵箱之后,谷歌系統(tǒng)將刪除掉該賬戶相關(guān)的所有數(shù)據(jù),不能再繼續(xù)以該賬戶使用谷歌提供的各項(xiàng)服務(wù)。
四、網(wǎng)絡(luò)通信的安全性設(shè)計(jì)
此節(jié)中,將描述谷歌安全通信和相關(guān)服務(wù)設(shè)計(jì)。如前所述,谷歌基礎(chǔ)設(shè)施由大量物理設(shè)備組成,這些設(shè)備共同構(gòu)成了不同的 LAN 和 WAN。為了防止諸如 DoS 之類的攻擊,谷歌基礎(chǔ)設(shè)施使用了一段私有 IP 空間。
谷歌前端服務(wù)
谷歌基礎(chǔ)設(shè)施內(nèi)部的服務(wù)需要通過谷歌前端服務(wù)(GFE)注冊(cè)之后,才能運(yùn)行于外部互聯(lián)網(wǎng)上。GFE 確保所有 TLS 連接必須使用正確的證書和安全策略,同時(shí)還能起到防御 DoS 攻擊的作用。GFE 對(duì)請(qǐng)求的轉(zhuǎn)發(fā)使用了前述的 RPC 安全協(xié)議。
實(shí)際上,任何通過 GFE 注冊(cè)運(yùn)行于互聯(lián)網(wǎng)的內(nèi)部服務(wù)都是敏捷的反向前端代理服務(wù),該前端不僅能提供服務(wù)的 DNS 公共 IP,還能起到 DoS 防御和 TLS 保護(hù)作用。GFE 像其它運(yùn)行于谷歌基礎(chǔ)設(shè)施的服務(wù)一樣,可以應(yīng)對(duì)大量的發(fā)起請(qǐng)求。
DoS 攻擊防御
從規(guī)模體量上來(lái)說,谷歌基礎(chǔ)設(shè)施可以化解或承受大量 DoS 攻擊,谷歌具備多層級(jí)聯(lián)的 DoS 防護(hù)手段,以阻止和緩解任何對(duì) GFE 注冊(cè)服務(wù)的 DoS 攻擊。外部骨干網(wǎng)向谷歌數(shù)據(jù)中心發(fā)起的連接請(qǐng)求,將通過多層軟硬件的負(fù)載平衡傳導(dǎo)。
這些負(fù)載平衡傳導(dǎo)器將實(shí)時(shí)向谷歌基礎(chǔ)設(shè)施內(nèi)部的中央 DoS 監(jiān)測(cè)系統(tǒng)反饋傳入流量的狀態(tài)信息,當(dāng) DoS 監(jiān)測(cè)系統(tǒng)探測(cè)到 DoS 攻擊之后,將會(huì)第一時(shí)間讓負(fù)載平衡傳導(dǎo)器丟棄或節(jié)流可疑攻擊流量。
在更下一層,GFE 實(shí)例還會(huì)實(shí)時(shí)向谷歌中央 DoS 監(jiān)測(cè)系統(tǒng)反饋所接收到的請(qǐng)求信息,這些信息包括了網(wǎng)絡(luò)層負(fù)載平衡傳導(dǎo)器不具備的應(yīng)用層信息。如果監(jiān)測(cè)到疑似攻擊,中央 DoS 監(jiān)測(cè)系統(tǒng)同樣會(huì)讓 GFE 實(shí)例丟棄或節(jié)流可疑攻擊流量。
用戶認(rèn)證
在 DoS 防御之后,接下來(lái)就是谷歌的中央身份服務(wù)系統(tǒng),該服務(wù)從終端用戶的登錄頁(yè)面開始,除了要求所需的用戶名密碼之外,系統(tǒng)內(nèi)部還會(huì)對(duì)最近登錄地點(diǎn)和登錄設(shè)備進(jìn)行智能校驗(yàn)。
在認(rèn)證步驟完成之后,身份服務(wù)系統(tǒng)將會(huì)向用戶分發(fā)一個(gè)如 cookie 或 OAuth 令牌的憑據(jù),以進(jìn)行后續(xù)請(qǐng)求調(diào)用。
當(dāng)然,在登錄時(shí),用戶還可以采用如 OTP 動(dòng)態(tài)口令、防釣魚安全密鑰等雙因素認(rèn)證措施。
另外,谷歌還與安全密碼聯(lián)盟(FIDO)共同協(xié)定了 U2F 用戶雙因素認(rèn)證標(biāo)準(zhǔn),制作了 YubiKey 外連密鑰登錄 USB 適配器,用戶可以通過購(gòu)買該適配器實(shí)現(xiàn)更安全的登錄。
五、運(yùn)維安全
安全軟件開發(fā)
除了前述的安全控制系統(tǒng)之外,谷歌還提供了防止開發(fā)人員引入某些安全缺陷的開發(fā)庫(kù)。
例如,在 Web APP 方面,谷歌設(shè)置有排除 XSS 漏洞的開發(fā)庫(kù)和框架。另外,谷歌還配置有大量自動(dòng)化安全缺陷檢測(cè)工具,如 Fuzzer、靜態(tài)代碼分析工具、網(wǎng)頁(yè)安全掃描器等。
最后,谷歌還會(huì)從快速簡(jiǎn)單的缺陷識(shí)別到深度的風(fēng)險(xiǎn)發(fā)現(xiàn),對(duì)開發(fā)代碼進(jìn)行全方位的手工安全審查。這些手工審查由包括 Web 安全、加密和操作系統(tǒng)安全等各方面專家組成的團(tuán)隊(duì)實(shí)施。
除此之外,谷歌還通過實(shí)施的漏洞獎(jiǎng)勵(lì)計(jì)劃,來(lái)發(fā)現(xiàn)應(yīng)用程序和基礎(chǔ)設(shè)施存在的漏洞,到目前為止,谷歌已經(jīng)為此計(jì)劃支付了數(shù)百萬(wàn)美元的漏洞賞金。
另外,谷歌還投入了大量智力和精力,致力于尋找其基礎(chǔ)設(shè)施中在用和上游產(chǎn)品的 0-day 漏洞。
例如,由谷歌工程師發(fā)現(xiàn)的心臟出血漏洞就是最好的典型,而且谷歌安全團(tuán)隊(duì)一直是 CVE 漏洞庫(kù)的最多提交者,并且是 Linux KVM hypervisor 虛擬化技術(shù)漏洞的發(fā)現(xiàn)和修復(fù)者。
員工設(shè)備和憑據(jù)安全保護(hù)
為了保護(hù)員工設(shè)備和憑據(jù)免受入侵、竊取和其它非法內(nèi)部活動(dòng),谷歌在這方面投入了大量資金和代價(jià),這也是谷歌確保自身基礎(chǔ)設(shè)施安全運(yùn)行的關(guān)鍵組成部分。
一直以來(lái),針對(duì)谷歌員工的高端復(fù)雜釣魚攻擊總是持續(xù)不斷,為了防止這種攻擊,我們強(qiáng)制員工把存在釣魚風(fēng)險(xiǎn)的 OTP 口令認(rèn)證方式更換成了 U2F 的 USB 適配器安全密鑰。
另外,谷歌投入了大量資金開發(fā)了員工客戶端安全操作監(jiān)控系統(tǒng),同時(shí),還配置了針對(duì)員工客戶端的安裝程序、下載程序、瀏覽器擴(kuò)展和訪問內(nèi)容的安全掃描系統(tǒng)。
進(jìn)入公司內(nèi)部局域網(wǎng),并不意味著可以獲取到谷歌的訪問控制權(quán)限。谷歌使用了應(yīng)用級(jí)別的訪問控制管理,只允許那些來(lái)自特定管理設(shè)備、網(wǎng)絡(luò)或地理位置的限定用戶才能訪問內(nèi)部控制程序。
內(nèi)部風(fēng)險(xiǎn)消控
谷歌嚴(yán)格限制具備管理權(quán)限的員工數(shù)量,并對(duì)其網(wǎng)絡(luò)行為進(jìn)行了積極監(jiān)管。另外,對(duì)于一些特殊任務(wù),盡量不需要權(quán)限許可,而使用自動(dòng)化的安全可控方式完成,以消除權(quán)限許可需求的泛濫。
這就要求某些活動(dòng)需行為雙方批準(zhǔn),同時(shí)將引入限制性 API 以排除信息泄露風(fēng)險(xiǎn)。
谷歌員工對(duì)終端用戶信息的獲取,會(huì)被底層架構(gòu)信息鉤子(hook)記錄,谷歌安全團(tuán)隊(duì)會(huì)對(duì)所有訪問類型進(jìn)行實(shí)時(shí)監(jiān)控,并對(duì)其中的異??梢墒录_展調(diào)查。
入侵檢測(cè)
谷歌擁有成熟的數(shù)據(jù)處理管道,可以很好地集成基于主機(jī)、基于網(wǎng)絡(luò)和基于服務(wù)的入侵檢測(cè)信號(hào)。內(nèi)置在這些管道內(nèi)的安全規(guī)則和探測(cè)機(jī)制會(huì)及時(shí)向運(yùn)維安全人員發(fā)出事件警告,谷歌的事件響應(yīng)團(tuán)隊(duì)也實(shí)行全天候待命。
同時(shí),谷歌內(nèi)部運(yùn)維團(tuán)隊(duì)也定期實(shí)施紅方練習(xí),以不斷衡量和提高檢測(cè)響應(yīng)機(jī)制的有效性。
六、谷歌云存儲(chǔ)平臺(tái)(GCP)安全設(shè)計(jì)
在此,我們將以谷歌運(yùn)算引擎 (GCE) 服務(wù)為例,簡(jiǎn)單描述谷歌云存儲(chǔ)平臺(tái)(GCP)的安全設(shè)計(jì)和改進(jìn)。
Google Compute Engine,GCE 是谷歌旗下的 IaaS(基礎(chǔ)設(shè)施即服務(wù)) 的一個(gè)基礎(chǔ)架構(gòu)服務(wù)產(chǎn)品,可以讓你用 Google 的服務(wù)器來(lái)運(yùn)行 Linux 的虛擬機(jī),得到更強(qiáng)大的數(shù)據(jù)運(yùn)算能力。谷歌在 I/O 大會(huì)上表示,Compute Engine 服務(wù)比對(duì)手的產(chǎn)品更具性價(jià)比,每一美元所購(gòu)買的計(jì)算能力要高出對(duì)手 50%。谷歌 Compute Engine 服務(wù)的背后是由大量的 Linux 虛擬機(jī)組成,此外用于該服務(wù)的處理器共計(jì) 771886 核。
GCE 服務(wù)可以使客戶在谷歌基礎(chǔ)設(shè)施上運(yùn)行谷歌 Linux 虛擬機(jī),來(lái)得到強(qiáng)大的數(shù)據(jù)運(yùn)算能力。GCE 服務(wù)的實(shí)現(xiàn)由多個(gè)邏輯部件組成,尤其是管理控制面板和虛擬機(jī)本身。
其中,管理控制面板負(fù)責(zé)與外部 API 的連接,同時(shí)對(duì)虛擬機(jī)創(chuàng)建遷移等進(jìn)行任務(wù)編排,由于涉及運(yùn)行多種服務(wù),管理控制面板內(nèi)置了安全啟動(dòng)機(jī)制。
由于 GCE 控制平面通過 GFE 顯示出 API 接口,所以它具有和 GFE 實(shí)例一樣的 DoS 防護(hù)和 SSL/TLS 連接保護(hù)功能,與此同時(shí),客戶在運(yùn)行虛擬機(jī)時(shí),可以選擇使用內(nèi)置于 GFE 中的谷歌云服務(wù)負(fù)載平衡器,它能緩解多種類型的 DoS 攻擊。用戶認(rèn)證的 GCE 控制面板 API 通過谷歌集中身份認(rèn)證服務(wù)提供安全保護(hù),如劫持檢測(cè)。授權(quán)則使用中央云 IAM 服務(wù)完成。
身份及訪問管理(IAM):IAM 允許用戶按照已定的 IAM 角色分類規(guī)則對(duì) Google 云資源的權(quán)限進(jìn)行分配,讓其他用戶能夠按權(quán)限,以所有者 / 編輯者 / 查看者的身份,訪問一個(gè)項(xiàng)目中的所有資源。
控制面板之間的網(wǎng)絡(luò)流量,以及從 GFE 到其它服務(wù)之間的流量都經(jīng)過自動(dòng)認(rèn)證和加密,可以安全地從一個(gè)數(shù)據(jù)中心到達(dá)另一個(gè)數(shù)據(jù)中心。每個(gè)虛擬機(jī)(VM)與相關(guān)的虛擬機(jī)管理器(VMM)服務(wù)實(shí)例同時(shí)運(yùn)行。
谷歌基礎(chǔ)設(shè)施為虛擬機(jī)提供了兩個(gè)認(rèn)證身份,一個(gè)用于 VMM 服務(wù)實(shí)例自身調(diào)用,另一個(gè)用于 VMM 對(duì)客戶 VM 身份的代表,這也增加了來(lái)自 VMM 的調(diào)用信任。
GCE 的永久磁盤采用靜態(tài)數(shù)據(jù)加密,使用谷歌中央密鑰管理系統(tǒng)分發(fā)的密鑰進(jìn)行安全保護(hù),并允許密鑰自動(dòng)輪換和系統(tǒng)審計(jì)。另外,虛擬機(jī)隔離技術(shù)是基于硬件虛擬化的開源 KVM 堆棧,為了最大化的安全防護(hù),谷歌還對(duì) KVM 的核心代碼進(jìn)行了如 Fuzzing、靜態(tài)分析、手工核查等一系列安全測(cè)試,所以,如前所述,谷歌最近提交和披露了多個(gè) KVM 漏洞。
最后,谷歌的運(yùn)維安全控制也是確保數(shù)據(jù)訪問遵循安全策略的關(guān)鍵部分。作為谷歌云平臺(tái)的一部分,GCE 客戶的數(shù)據(jù)使用行為同樣遵循 GCP 的使用策略,谷歌不會(huì)訪問或使用客戶數(shù)據(jù),但必要的為客戶提供服務(wù)的情況除外。(本文轉(zhuǎn)自 Freebuf.com)
英文原文:
https://cloud.google.com/security/security-design/resources/google_infrastructure_whitepaper_fa.pdf