1. 程式人生 > >Gitlab:一場“刪庫”血案引發的反思

Gitlab:一場“刪庫”血案引發的反思

過年期間,一條Gitlab誤刪資料的新聞佔領了各大科技網站的頭條。一切令人驚歎感慨,一切又讓人似曾相似。回首2016年,網路重大異常事件其實並不罕見。

<< 2016.03
全球三分之二網站伺服器用的開源加密工具OpenSSL爆出“水牢漏洞”。
<<  2016.04
土耳其因資料庫漏洞,近5000萬公民資訊遭洩露。
<< 2016.09
雅虎曝史上最大規模資訊洩露,5億使用者資料被竊。
<< 2016.10
Dyn DNS遭到了大規模DDoS攻擊,美國大半網際網路下線。
<< 2016.11
德國電信路由裝置的維護介面暴露,90萬家庭斷網。
<< 2016.12

黑客偽造使用者證書攻擊俄羅斯央行,3100萬美元不翼而飛。

2017年1月,“Gitlab誤刪庫事件”再掀血案,再次挑動起業界對資訊保安和重大風險的敏感神經。

【事件回顧】

Gitlab對整個事件的回顧和處理進行實時更新,讓我們可以清晰地看到整個事件的發生過程:Gitlab的一位系統管理員在給線上資料庫做負載均衡工作時,遭受了DDoS攻擊。在阻止了攻擊之後,運維人員發現了資料庫不同步的問題,便開始修復,在修復過程中,錯誤地在生產環境上執行了資料庫目錄刪除命令,導致300GB資料被刪除,Gitlab被迫下線。在恢復的過程中,他們發現只有db1.staging的資料庫可以用於恢復,而其它的5種備份機制都不可用。db1.staging 是6小時前的資料,而且傳輸速率有限,導致恢復程序緩慢,
Gitlab 最終丟掉了差不多6個小時的資料。

面對這樣的異常事件,技術上的分析不是我們想討論的,真正值得探討的是:在風險無處不在的金融市場,我們該如何對重大異常進行反思,從而做到更好地預防和處理異常和故障。

【如何反思異常】

不管是傳統的工業領域,還是IT行業,異常的預防和處理都是一項重要課題。當異常和故障發生時,如何及時追究問題發生的原因,妥善解決和處理異常,並總結原因預防故障再次發生,體現出一家公司服務意識、技術能力和市場競爭力。

在Gitlab故障回顧的blog中提到要寫“Ask 5 Whys”其實在分析和反思故障的過程中,很多IT企業會用“Ask 5 Whys”,例如亞馬遜。

5Why分析法是由豐田創始人豐田佐吉提出的,就是對一個問題點連續以5個“為什麼”來自問,以追究其根本原因,在實際運用中問題並不限於5個。這一方法在豐田汽車公司被廣泛應用,是一項必須的培訓內容。豐田汽車的大野耐一曾舉了一個找出停機原因的經典案例:

>>問題一:為什麼機器停了?
答案一:因為機器超載,保險絲燒斷了。
>>問題二:為什麼機器會超載?
答案二:因為軸承的潤滑不足。
>>問題三:為什麼軸承會潤滑不足?
答案三:因為潤滑泵失靈了。
>>問題四:為什麼潤滑泵會失靈?
答案四:因為它的輪軸耗損了。
>>問題五:為什麼潤滑泵的輪軸會耗損?
答案五:因為雜質跑到裡面去了。

經過連續五次不停地問“為什麼”,才找到問題的真正原因和解決的方法,在潤滑泵上加裝濾網。如果員工沒有以這種追根究底的精神來發掘問題,他們很可能只是換根保險絲草草了事,真正的問題還是沒有解決。5why法的關鍵所在:鼓勵解決問題的人要努力避開主觀或自負的假設和邏輯陷阱,從結果著手,沿著因果關係鏈條,順藤摸瓜,直至找出原有問題的根本原因。

當我們的IT系統發生異常時,需要問自己:為什麼會發生?為什麼沒有發現?為什麼沒有從系統上預防事故?每個層面連續5次或N次的詢問,得出最終結論。只有以上三個層面的問題都探尋出來,才能發現根本問題,並尋求解決。例如Gitlab事件,需要問很多問題:為什麼會出現資料庫不同步?為什麼會丟失資料?為什麼輕易在生產環境上執行刪除命令?為什麼運維過程如此混亂?為什麼備份機制都失效?為什麼備份失效平時未檢查?只有把這些問題一個個搞清楚,一個個進行5why分析,才能把問題和隱患一個個解決。

【優化異常處理流程】

當異常發生後,需要一套完備的流程來處理異常,保證快速反饋問題,及時跟進技術人員,確定行動計劃,拿出解決方案,落實回訪與總結。

在Gitlab事件中技術人員對異常的處理有些雜亂無章,當受到DDoS攻擊後,出現數據庫使用飆高這一異常,在解決攻擊後引發了另一項異常(資料無法同步),在處理資料同步異常時又出現誤刪資料庫,最後在資料恢復過程中發現集中備份機制都失效,可以說是在處理一個異常的過程中反而引發了更多的異常,最終備份機制這一解決方案也失效。雖然這不完全是流程上的問題,但可以看到處理流程的混亂引發了更多的問題。一套完備的流程會更有利於問題的解決。

異常的型別和性質並非千篇一律,需要根據異常發生的情況不斷對處理流程進行優化,以更好地應對不同型別的問題。

【自我審視和樹立風險意識】

在Gitlab事件中,有兩個致命的問題引發最大的關注,一是運維人員刪除資料庫的命令錯誤的敲在了生產環境上,另一個是恢復資料時5種備份機制全部失效。大家奇怪的是,運維人員在處理問題時,沒有任何限制就可以在生產環境上執行刪除目錄這樣高危的操作,然後5種備份機制全部失效在平時為何沒有發現。這兩個問題暴露出Gitlab的很多問題,而有些問題是可以防患於未然的,我們在平時的工作中需要經常自我審視,審視產品質量,審視流程和規則,審視自身能力,審視風險隱患。

有些問題可以靠技術預防,有些問題可以靠流程和規則預防,例如誤刪資料庫的運維人員,可以用自動化運維、智慧運維來代替“人肉運維”,避免低階錯誤;可以通過規範的流程和規則來避免誤刪資料這樣的失誤;通過平時的測試和演練來檢查備份方案是否有效。很多問題是可以在平時預防的。


金融市場的風險無處不在,有經濟客觀存在的風險,也有主觀失誤的風險(例如烏龍指),為金融市場服務的技術也會存在風險,我們要在平時的工作中樹立風險意識,經常審視自我發現問題,開發更高質量的產品,不要因產品和技術的不到位影響市場的穩定和企業的發展,避免出現像Gitlab誤刪資料這樣的“技術烏龍指”。

【敢於直面故障和異常】

當異常發生時,我們需要以積極的心態去面對,勇於承擔責任,而不是掩蓋和逃避,有些企業在異常發生後遮遮掩掩推脫責任,反而失去使用者的信任。我們應該直面問題,擁抱客戶擁抱監管,用心解決問題,對客戶負責,對社會負責。

任何程式都會有Bug,任何系統都會有異常,Gitlab只是一個縮影,提醒我們需要時刻注意風險,積極總結和反思,預防那些可以避免的異常,妥善處理已經發生的異常,讓產品更好地服務客戶。

相關推薦

Gitlab血案引發反思

過年期間,一條Gitlab誤刪資料的新聞佔領了各大科技網站的頭條。一切令人驚歎感慨,一切又讓人似曾相似。回首2016年,網路重大異常事件其實並不罕見。 << 2016.03全球三分之二網站伺服器用的開源加密工具OpenSSL爆出“水牢漏洞”。<<

python資料查詢操作之 缺少db.commit()引發血案……

---恢復內容開始--- 最近大作業用到了python操作資料庫的內容。涉及的庫是pymmysql,我就不詳細介紹這個庫的操作了,直接奔入主題--->開整  背景:        涉及程式中一個實時檢視資料表中state欄位==1的功能,我把這個功能單

2017全球 C++ 及系統軟件技術大會大師智慧+實踐幹貨的技術盛宴!

影響 oid 高端培訓 iad 通過 開發框架 ble 並發 work 從1985年由Bjarne Stroustrup在貝爾實驗室發明以來 ,C++作為一門系統級語言,早已超越一門編程語言的影響。由其構建的龐大的系統級軟件,已經成為當今世界IT與互聯網應用的關鍵支撐。秉承

春天財經區塊鏈十大人物觀點具有顛覆性意義的技術革命

區塊鏈 春天財經 2018年,一場具有顛覆性意義的技術革命,正在瘋狂來襲,其主角就是--區塊鏈。區塊鏈技術,被認為是繼蒸汽機、電力、互聯網之後,下一代顛覆性的核心技術,如果說蒸汽機釋放了人們的生產力,電力解決了人們基本的生活需求,互聯網徹底改變了信息傳遞的方式,那麽區塊鏈作為構造信任的機器,將可能徹底

三十不‘獲‘久違的面試

架構師、面試、軟件工程師在CNC已經有六個年頭了,算上之前三年多的工作經驗,不知不覺已經碼農快十年。 前兩天接到了個鄰居公司的架構師面試邀請,這應該是從來到CNC後第一次被面試了。。。 面試官是他們服務優化的技術總監和架構主管。。。 除了常規的一些開場白外,面試是以我最近在重構的一個項目開始的,在架構主管的要

響鈴雲棲大會,為何證明“數字化”進入“無感知”時代?

  文|曾響鈴 來源|科技向令說(xiangling0815)   一年一度、每年規模都在擴大的雲棲大會結束有幾天了,但其輿論熱度仍未消散。   張勇接班、平頭哥等熱門詞彙讓阿里近一段時間都處在關注中心,但相對於這些“個體事件”,回過頭看,

比特幣價格崩盤背後幣圈大佬的算力戰爭

@央廣軍事11月10日訊息,2018中國航展上首次公開展出的“瞭望者Ⅱ”察打一體導彈無人艇,是剛剛成功進行首發導彈飛行試驗命中靶心的實艇,試驗成功後隨即吊裝到展位與公眾見面。據媒體此前報道,該艇是中國第一艘導彈無人艇,也是繼以色列拉斐爾海上騎士後全球第二個成功發射導彈的無人艇,填補了國內導彈無人艇這一技術空白

阿里工業網際網路平臺“思考”從0到1的蛻變

文/周雅 阿里雲總裁胡曉明(花名孫權)曾在一場媒體採訪中透露了自己的業務祕籍,說他永遠記住兩句話,一是“拓展商業邊界”,二是“商業驅動技術進步”。 這句話不失為阿里的真實寫照。的確,企業的安身立命之道,從來都不止於實驗室裡的技術,更要讓技術產生商業價值,形成一個良性迴圈,為整個產業鏈乃至生態圈謀利益。但要

區塊鏈三加交易所之間的大戲,你怎麼看?

今年2018年世界盃時候,世界盃概念的幣種都涼了。同一時間,新的熱點又馬上冒出來,當時,Fcoin打響第一槍,隨後各個交易所紛紛宣佈上線平臺幣,要搞“交易挖礦”、“收入分紅”。 不完全統計,Fcoin的FT、Coinbene的CONI、Coinex的CET、B

區塊鏈始料未及的革命

  “當主流媒體還在忙於猜測加密貨幣價格及其黑市陰謀時,他們已經遺漏了這一切的本質事實。那就是,密碼學家們悄然發明了一套全新的技術原型。”   Unitimes特約作者Haseeb Qureshi在其文章《區塊鏈:一場始料未及的革命(Blockchain: the revolution

由一個s引發的鬱悶

         最近想轉業從事android開發。因為2年前研究過。所以搭建環境什麼的都是從原始地址下載的基本沒有什麼困難。跑書店看到一本名為《第一行程式碼》的書。想買,但是發現網上有PDF版的(昨天發現其實竟然還有word版的)。發現上邊第二章有

Docker令人追悔莫及的豪賭

每當我對Docker提出批判時,都會收到很多憤懣的回覆。我曾於6個月前撰寫一篇文章,即《 為什麼有人會選擇Docker而非大型二進位制檔案?》,並終於在Hacker News上眾多憤慨的批評聲中看

Docker攜手Windows Server精彩的雙贏

微軟繼續推動開源協作工作,旨在立足於Windows Server實現Docker開箱即用效果。 就在本週,微軟公

程式設計師吐槽企業拖欠兩個月工資,想了,網友真實版跑路

現在網際網路企業的寒冬來了,很多企業都出現了裁員的情況,但是公司拖欠工資又是什麼鬼,就有一程式設計師在網上吐槽,公司拖欠了兩個月的工資,然後該程式設計師表示想把這兩個月的程式碼刪掉,在上演真實版刪庫跑路,這麼做違法嗎? 確實,公司拖欠員工工資這個做法確實讓人無可奈何,我們看下網友是怎麼說的

大資料改變我們如何生活、工作和思考的革命(讓資料說話)

讓資料說話 資訊社會的果實很容易被看到,例如每個口袋裡的手機,每個包裡的電腦和在各處辦公室中的大的後臺系統。但不容易看到的是資訊自己。電腦進入主流社會半個世紀以來,資料開始積累到一個點,一些新的特殊的事情即將發生。不僅僅是資訊爆炸,而且資訊增長的速度更快。規模的改變導致狀

神祕巨星百度EasyDL浮現不可思議大賽挖掘到的驚喜和未來新常態

作者|震霆           出品|遇見人工智慧        公眾號|GOwithAI曾經有

值乎與分答關於知識付費的“有聲”暗戰

  本期作者:相欣        專業人士頭腦中隱藏的資訊究竟值多少錢?能夠快速幫你解決現實問題的方案會有付費需求嗎?   很長一段時間以來,這些問題都沒法得到很好的回答。現在一些移動網際網路產品正在試圖給出答案。   今年4月1日,值乎刷爆朋友圈;隨後5月15日分答上線

繼承的愛恨情仇——鉆石引發血案

pytho ID 這不 block c中 height 地方 頭發 16px 最近在看PHP手冊,發現了一個稀奇古怪的新玩意——trait。 這引起了我極大的興趣,由於PHP面向對象的部分有很大程度和Java類似,我就自覺不自覺地和Java對比著來

由於手賤引起的血案--了綁定在ubuntu上的python的解決方案

重啟 事情 一場 設置 不同的 www. 分區 ios win10 就在今天,我想著給我的電腦(ubuntu系統)裝一個python的工具包setuptools,結果使用apt-get來下載軟件時老是在一個resources的依賴項上出問題(現在我也沒有搞懂到底怎麽解決,後

小碼農的職人生由張小平離職引發的一些吐槽

文  ▏村長好忙(訂閱號ID:xiejun_asp)      9月27日刷爆朋友圈的一篇文章 《離職能直接影響中國登月的人才,只配呆在國企底層》,雖然存在誇大其詞且很多細節不實,但是還是讓張小平離職登上了微博熱搜榜。引發了我一丟丟的小感觸,忍不住來說說我這幾年所經歷的職場。 01 — 個人成長     不