国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

活動(dòng)實(shí)錄|拒絕"刪庫(kù)到跑路",探究餓了么數(shù)據(jù)安全保障體系

qc1iu / 3442人閱讀

摘要:數(shù)人云告別人肉運(yùn)維上海的實(shí)錄第二彈來啦本次分享的嘉賓是餓了么團(tuán)隊(duì)負(fù)責(zé)人虢國(guó)飛。虢國(guó)飛餓了么團(tuán)隊(duì)負(fù)責(zé)人從事數(shù)據(jù)庫(kù)領(lǐng)域年,主要關(guān)注于數(shù)據(jù)庫(kù)管理自動(dòng)化建設(shè)和等領(lǐng)域的研究。本次主題關(guān)于數(shù)據(jù)安全的保障。在這一層,餓了么做了一些數(shù)據(jù)方面相關(guān)的保護(hù)。

數(shù)人云“告別人肉運(yùn)維”上海Meetup的實(shí)錄第二彈來啦!本次分享的嘉賓是餓了么DBA團(tuán)隊(duì)負(fù)責(zé)人虢國(guó)飛。實(shí)錄將從用戶訪問、數(shù)據(jù)庫(kù)架構(gòu)體系、數(shù)據(jù)備份、數(shù)據(jù)流轉(zhuǎn)和數(shù)據(jù)操作等幾個(gè)方面介紹餓了么目前在數(shù)據(jù)安全方面的一些措施。

虢國(guó)飛 / 餓了么DBA團(tuán)隊(duì)負(fù)責(zé)人

從事數(shù)據(jù)庫(kù)領(lǐng)域10+年,主要關(guān)注于數(shù)據(jù)庫(kù)管理自動(dòng)化建設(shè)和MySQL、Pg、MSSQL、NoSQL等領(lǐng)域的研究。

本次主題關(guān)于數(shù)據(jù)安全的保障。前面的引子是Gitlab數(shù)據(jù)庫(kù)出現(xiàn)問題,它有五重的數(shù)據(jù)保障,但都失效了。開始之前有幾個(gè)問題:

在座很多是做運(yùn)維或數(shù)據(jù)庫(kù)工作的,現(xiàn)在公司數(shù)據(jù)庫(kù)有備份嗎?

如果數(shù)據(jù)庫(kù)有備份,多長(zhǎng)時(shí)間做一次還原測(cè)試來驗(yàn)證數(shù)據(jù)庫(kù)的備份是不是有效?

有沒有一個(gè)月之內(nèi)做一次整個(gè)備份檢驗(yàn)的?在一個(gè)月之內(nèi)做一次,比如一年做十次或者十二次還原檢驗(yàn)?

帶著上面的疑問,我分享一下餓了么在數(shù)據(jù)安全上所采取的一些措施,包括備份和還原的方式,與大家一起探討。

本次活動(dòng)主題是如何減少人肉運(yùn)維,讓數(shù)據(jù)庫(kù)運(yùn)維和業(yè)務(wù)運(yùn)維實(shí)現(xiàn)自動(dòng)化。為什么做到保持有備份,并且驗(yàn)證備份有效的公司不是那么多呢?關(guān)鍵在于資源,資源不光包括硬件資源,也包括人力資源。如果通過人肉方式時(shí)刻保證整套系統(tǒng)持續(xù)有效運(yùn)作,成本相當(dāng)高。

數(shù)據(jù)訪問

數(shù)據(jù)在入到數(shù)據(jù)庫(kù)之前,可能會(huì)面臨一些注入的攻擊甚至拖庫(kù)等風(fēng)險(xiǎn)。用戶訪問數(shù)據(jù)庫(kù)的時(shí)候,餓了么有一個(gè)中間層叫做DAL層,如果做一些分庫(kù)分表的應(yīng)用很多時(shí)候都會(huì)運(yùn)用這一中間層軟件,開源軟件有此類功能的也很多,像mycat、atlas等。

在這一層,餓了么做了一些數(shù)據(jù)方面相關(guān)的保護(hù)。首先,因?yàn)橛兄虚g這一層,所以在底層數(shù)據(jù)架構(gòu)方面對(duì)研發(fā)或者對(duì)外都是一個(gè)不透明的狀態(tài),拿不到具體數(shù)據(jù)庫(kù)IP地址,我們只把這些敏感的信息開放到有限的一些人的手里;第二層面,在DAL層把一些敏感的信息全部加密掉,比如用戶名、密碼這種訪問數(shù)據(jù)庫(kù)的信息;第三,會(huì)對(duì)風(fēng)險(xiǎn)的SQL做一些限制,比如一次要拉一百萬數(shù)據(jù)的SQL,是不支持的,或者想drop一個(gè)表,這樣的風(fēng)險(xiǎn)動(dòng)作都會(huì)屏蔽掉。

餓了么對(duì)外開放的一些權(quán)限在賬號(hào)部分也做了限制:

首先,每個(gè)業(yè)務(wù)都是專用的賬號(hào),不會(huì)多業(yè)務(wù)共用一個(gè)賬號(hào);

第二,賬號(hào)權(quán)限是最小的,一般就是增、刪、改、查,有的甚至是只有增、改、查三個(gè)權(quán)限,刪除權(quán)限都沒有,所以賬號(hào)風(fēng)險(xiǎn)是最小化。還有一個(gè)是對(duì)內(nèi)網(wǎng)的網(wǎng)段去做限制,在賬號(hào)賦權(quán)的時(shí)候限定它能訪問的網(wǎng)段;

第三,SQL限制講過,DAL層會(huì)做一些相應(yīng)的限制,在數(shù)據(jù)庫(kù)一層也可以去做,比如一些更新的SQL是不帶條件的,這時(shí)可以限制掉,包括刪除的動(dòng)作。如果沒有帶條件,這個(gè)風(fēng)險(xiǎn)是很高的,一般認(rèn)為都是有問題的,所以這部分風(fēng)險(xiǎn)會(huì)在數(shù)據(jù)層去屏蔽。

在數(shù)據(jù)訪問上,主要把信息進(jìn)行一個(gè)屏蔽以及加密,以及對(duì)權(quán)限和操作的動(dòng)作做了一層保障。DAL的架構(gòu)在中間層,也是相當(dāng)于對(duì)數(shù)據(jù)庫(kù)提前做了一個(gè)訪問控制和負(fù)載均衡層,當(dāng)然它的功能不止這一點(diǎn),還包括剛剛說的路由,一些緊急SQL的屏蔽等。

數(shù)據(jù)流轉(zhuǎn)

數(shù)據(jù)進(jìn)來之后會(huì)面臨各方需要使用數(shù)據(jù)的問題:
首先,在DAL這層進(jìn)到生產(chǎn)數(shù)據(jù)庫(kù)的時(shí)候,在入口這一端做限制;
第二,數(shù)據(jù)落到相應(yīng)BU生產(chǎn)數(shù)據(jù)庫(kù)的時(shí)候,如果這些數(shù)據(jù)要給其它BU去訪問,數(shù)據(jù)應(yīng)該如何提供?目前比較通用的方式是通過接口,某個(gè)BU去調(diào)用其他BU一些相應(yīng)的業(yè)務(wù)接口提去數(shù)據(jù)。如果接口提供不了的話,跨業(yè)務(wù)的訪問也走DAL層,DAL會(huì)把所有訪問的痕跡記錄下來。對(duì)于生產(chǎn)的數(shù)據(jù),現(xiàn)在有很多研發(fā)會(huì)要求在他們的alpha和beta環(huán)境去做壓力測(cè)試,要同步生產(chǎn)的數(shù)據(jù),還有需要查生產(chǎn)的數(shù)據(jù),但這些數(shù)據(jù)可能包含敏感數(shù)據(jù),怎么辦?

餓了么開發(fā)了一個(gè)DBQuery的軟件。對(duì)研發(fā)來說DBQuery能提供能查生產(chǎn)的數(shù)據(jù),然后導(dǎo)出生產(chǎn)的數(shù)據(jù),同時(shí)還能夠把數(shù)據(jù)同步到其它的環(huán)境,但是這些操作都是受限的。首先它能操作的數(shù)據(jù)量是有限的,一些敏感的記錄會(huì)做脫敏的處理,所有研發(fā)人員在上面所做的操作都會(huì)被記錄下來,例如在上面做的導(dǎo)出動(dòng)作、拉取數(shù)據(jù)、查詢等。如果是這個(gè)平臺(tái)本身不能支持的需求,那么會(huì)聯(lián)合DBA和安全團(tuán)隊(duì)去做把關(guān),比如要對(duì)第三方提供一些大數(shù)據(jù)量的數(shù)據(jù),這樣會(huì)有安全的保障。所以數(shù)據(jù)流的控制從入口,跨業(yè)務(wù)團(tuán)隊(duì)的訪問,以及到不同的環(huán)境數(shù)據(jù)同步,包括研發(fā)想查看的這些記錄,都會(huì)記錄下來它的操作,以及對(duì)這些操作做相應(yīng)的限制。

備份還原

DBA最重要的一個(gè)責(zé)任——數(shù)據(jù)庫(kù)的備份和還原。餓了么的方案和大家所知道的或所了解的都差不多,但是如何把它做到或者更好的做到,各個(gè)公司都會(huì)不一樣。餓了么有全量、增量、以及Binlog的備份,然后會(huì)拷貝到Ceph做保存,包括本地的備份和遠(yuǎn)程的備份。關(guān)鍵的第三點(diǎn),它能夠完成自動(dòng)的部署、運(yùn)行和監(jiān)控。一個(gè)業(yè)務(wù)上線的時(shí)候,因?yàn)橛袠?biāo)準(zhǔn)化,上去之后,備份就自動(dòng)跑,如果沒有備份,就會(huì)收到告警。運(yùn)行得正不正常,或者備份中失敗了,或者沒有運(yùn)行備份,都可以通過監(jiān)控的一個(gè)界面看到情況,備份的時(shí)長(zhǎng)以及什么時(shí)間點(diǎn)去做的、在哪些機(jī)器上去做的,都是自動(dòng)在后臺(tái)運(yùn)行的。

數(shù)據(jù)還原也是如此,有一個(gè)循環(huán)的周期。餓了么重要數(shù)據(jù)驗(yàn)證周期是15天。因?yàn)橛泻脦装偬譊B,15天到一個(gè)月,重要的是15天會(huì)驗(yàn)證一次,一個(gè)月周期的是不太重要的一些業(yè)務(wù),都會(huì)在循環(huán)的周期去做驗(yàn)證。驗(yàn)證除了檢驗(yàn)備份的可靠性以外,還有一個(gè)目的,即拿到數(shù)據(jù)還原的時(shí)長(zhǎng)。研發(fā)或者領(lǐng)導(dǎo)會(huì)問如果現(xiàn)在某個(gè)數(shù)據(jù)庫(kù)出現(xiàn)了問題,多久能夠找回來或者還原回來數(shù)據(jù)?這些都是需要數(shù)據(jù)支持的。它還可以去抽樣,除了它自己循環(huán)去檢測(cè)的,可以隨時(shí)拉一個(gè)庫(kù)出來,還原到哪個(gè)時(shí)間甚至哪個(gè)點(diǎn)位都是可以的。餓了么通過平臺(tái)去實(shí)現(xiàn),不需要找機(jī)器、再找被分在哪里,只要告之要還原的是哪個(gè)庫(kù),想還原到什么樣子,維護(hù)成本很小。

上圖右側(cè)截圖里有一些應(yīng)用的時(shí)間以及它的狀態(tài)是成功還是失敗。

DBA操作

除了在防范數(shù)據(jù)入口的時(shí)候?qū)I(yè)務(wù)的數(shù)據(jù)進(jìn)行一些控制,還要在底層做一些備份還原保障,另外DBA的一些操作對(duì)數(shù)據(jù)安全也相當(dāng)重要,這部分出問題的情況也不少。在如何保證DBA操作的安全方面,很多公司都會(huì)有各種各樣的軍規(guī)。

類似的軍規(guī)餓了么也有,但現(xiàn)在慢慢淡化,因?yàn)檐娨?guī)是與人相關(guān)的因素,特別不可控,餓了么之前做軍規(guī)的時(shí)候把那些操作的風(fēng)險(xiǎn)都分了不同的類,一個(gè)要求是能保證操作的時(shí)候能夠快速的回滾,舉個(gè)例子,比如清空一個(gè)表的數(shù)據(jù)應(yīng)該如何做,因?yàn)橛袝r(shí)風(fēng)險(xiǎn)很大。我們的處理方式是先把這個(gè)表去rename一個(gè)待刪除的表,放一周之后會(huì)有自動(dòng)的任務(wù)再去清理這個(gè)表。如果操作的時(shí)候出現(xiàn)問題,那可以馬上讓它rename恢復(fù)過來。還有一個(gè)限制是風(fēng)險(xiǎn)操作在操作的時(shí)間上做限制,不能在業(yè)務(wù)高峰時(shí)間去做這些動(dòng)作,是有一個(gè)維護(hù)的窗口期,在業(yè)務(wù)的低峰期才去做。這樣能夠保證一旦出問題損失最小化,雖然我們能夠快速恢復(fù),但是如果在高峰時(shí)間操作其影響仍然很大,如果選擇有維護(hù)窗口期的話,損失是最小的。

之所以講淡化軍規(guī)是因?yàn)楝F(xiàn)在餓了么想做工具化,這個(gè)工具里最重要的是把高風(fēng)險(xiǎn)操作的流程步驟固化到工具里面,讓工具去操作,人就不用太在意操作的流程是不是OK的。有些做不到的流程,它也會(huì)提示出來有什么風(fēng)險(xiǎn),操作的時(shí)候會(huì)給DBA一個(gè)相應(yīng)的警告。工具化之后,很多操作就可以在后臺(tái)自動(dòng)運(yùn)行了

以上實(shí)際在生產(chǎn)上面跑的一些需求,紅色的部分大部分是自動(dòng)執(zhí)行的,因?yàn)槠脚_(tái)上線的時(shí)間才幾個(gè)月,之前這部分全是DBA在操作的,現(xiàn)在有很多任務(wù)DBA不需要自己操作,由后臺(tái)的系統(tǒng)任務(wù)去調(diào)度起來,基本上沒有風(fēng)險(xiǎn),所以需要關(guān)注的點(diǎn)就變得越來越少了,人力也可以解放出來把這個(gè)平臺(tái)做得更好。餓了么今年正在做一個(gè)開發(fā)的自助平臺(tái),設(shè)計(jì)的目標(biāo)是研發(fā)能夠在上面完成數(shù)據(jù)庫(kù)的一些操作,包括數(shù)據(jù)歸檔,加表等動(dòng)作,符合平臺(tái)驗(yàn)證規(guī)則的話DBA不需要干預(yù)。

架構(gòu)保障

上圖是餓了么現(xiàn)在架構(gòu)的情況。首先有兩個(gè)機(jī)房,A機(jī)房和大家主流的部署架構(gòu)差不多,即主從的一個(gè)架構(gòu)。有一臺(tái)特殊的機(jī)器DS(DelaySlave),它會(huì)保持與生產(chǎn)數(shù)據(jù)的數(shù)據(jù)同步有一個(gè)時(shí)差,比如它會(huì)延后一天或者是半天的時(shí)間、12小時(shí),如果生產(chǎn)操作出現(xiàn)了問題,就可以快速的通過它回放到操作前的一個(gè)點(diǎn)把這些數(shù)據(jù)找出來。這樣的恢復(fù)速度是最快的,追回的時(shí)間僅要幾分鐘。它不光提供半天之內(nèi)數(shù)據(jù)快速恢復(fù),而且餓了么的備份也都在上面做,這樣備份的時(shí)候不會(huì)影響到生產(chǎn)運(yùn)行。哪怕這臺(tái)機(jī)器上跑很多的備份任務(wù)都不會(huì)影響,因?yàn)樗饕亲鰯?shù)據(jù)的備份,而且監(jiān)控就是在標(biāo)準(zhǔn)化部署這一臺(tái)之后,所有的備份任務(wù)和監(jiān)控程序都會(huì)自動(dòng)與它做匹配,所以只要完成這一架構(gòu)的搭建,接下來的事情系統(tǒng)自動(dòng)去做,也不需要人肉干預(yù)。如果它沒有備份成功或者備份失敗或者跳過了備份,在監(jiān)控備份和還原監(jiān)控里面都會(huì)得到體現(xiàn)。

下面這是做還原的一部分機(jī)器,我們是循環(huán)周期去做還原的,所以它在一個(gè)周期內(nèi)必定會(huì)完成這些庫(kù)的校驗(yàn),驗(yàn)證它的備份是否有效。在另一個(gè)機(jī)房,中間有一個(gè)組件叫DRC,這個(gè)軟件最初淘寶做得比較多,即跨機(jī)房的一些數(shù)據(jù)的同步。它提供了數(shù)據(jù)同步和訂閱的功能,監(jiān)聽數(shù)據(jù)庫(kù)狀態(tài)的變更,而且在多機(jī)房之間同步的時(shí)候可以做很多動(dòng)作,比方如數(shù)據(jù)的壓縮、過濾,還有剛剛提到的數(shù)據(jù)訂閱,出了問題它可以上報(bào)。此外,有一個(gè)特殊的機(jī)器叫QS,DBQuery服務(wù)的功能就部署在它上面,在上面會(huì)完成研發(fā)對(duì)數(shù)據(jù)的查詢以及數(shù)據(jù)從它到各個(gè)環(huán)境的導(dǎo)入、過濾和脫敏。

從整個(gè)架構(gòu)體系對(duì)數(shù)據(jù)的保障來看,一是有多機(jī)房,二是主從的HA,以及DelaySlave和一些備份機(jī)制。從數(shù)據(jù)入進(jìn)來到DAL層、到數(shù)據(jù)庫(kù)里面針對(duì)一些賬號(hào)權(quán)限的限制以及架構(gòu)的保障和備份、還原體系的完善以及DelaySlave的延遲備份來保障餓了么整個(gè)數(shù)據(jù)的安全,這樣的架構(gòu)體系為數(shù)據(jù)安全提供了多層保障。

總結(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26793.html

相關(guān)文章

  • 活動(dòng)實(shí)錄|拒絕"刪庫(kù)跑路",探究了么數(shù)據(jù)安全保障體系

    摘要:數(shù)人云告別人肉運(yùn)維上海的實(shí)錄第二彈來啦本次分享的嘉賓是餓了么團(tuán)隊(duì)負(fù)責(zé)人虢國(guó)飛。虢國(guó)飛餓了么團(tuán)隊(duì)負(fù)責(zé)人從事數(shù)據(jù)庫(kù)領(lǐng)域年,主要關(guān)注于數(shù)據(jù)庫(kù)管理自動(dòng)化建設(shè)和等領(lǐng)域的研究。本次主題關(guān)于數(shù)據(jù)安全的保障。在這一層,餓了么做了一些數(shù)據(jù)方面相關(guān)的保護(hù)。 數(shù)人云告別人肉運(yùn)維上海Meetup的實(shí)錄第二彈來啦!本次分享的嘉賓是餓了么DBA團(tuán)隊(duì)負(fù)責(zé)人虢國(guó)飛。實(shí)錄將從用戶訪問、數(shù)據(jù)庫(kù)架構(gòu)體系、數(shù)據(jù)備份、數(shù)據(jù)流轉(zhuǎn)...

    xiaowugui666 評(píng)論0 收藏0
  • 快收藏!52篇25萬字,微服務(wù)、云原生、容器、K8S、Serverless精華文章集錦

    摘要:正在走遠(yuǎn),新年之初,小數(shù)精選過去一年閱讀量居高的技術(shù)干貨,從容器到微服務(wù)云原生,匯集成篇精華集錦,充分反映了這一年的技術(shù)熱點(diǎn)走向。此文值得收藏,方便隨時(shí)搜索和查看。,小數(shù)將繼續(xù)陪伴大家,為朋友們奉獻(xiàn)更有逼格的技術(shù)內(nèi)容。 2017正在走遠(yuǎn),新年之初,小數(shù)精選過去一年閱讀量居高的技術(shù)干貨,從容器、K8S 到微服務(wù)、云原生、Service Mesh,匯集成52篇精華集錦,充分反映了這一年的技...

    AaronYuan 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.42 - MySQL:從刪庫(kù)跑路

    摘要:肖鵬微博數(shù)據(jù)庫(kù)那些事兒肖鵬,微博研發(fā)中心技術(shù)經(jīng)理,主要負(fù)責(zé)微博數(shù)據(jù)庫(kù)相關(guān)的業(yè)務(wù)保障性能優(yōu)化架構(gòu)設(shè)計(jì),以及周邊的自動(dòng)化系統(tǒng)建設(shè)。經(jīng)歷了微博數(shù)據(jù)庫(kù)各個(gè)階段的架構(gòu)改造,包括服務(wù)保障及體系建設(shè)微博多機(jī)房部署微博平臺(tái)化改造等項(xiàng)目。 showImg(https://segmentfault.com/img/bV24Gs?w=900&h=385); 對(duì)于手握數(shù)據(jù)庫(kù)的開發(fā)人員來說,沒有誤刪過庫(kù)的人生是...

    aboutU 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<