案例分析 從誤刪除資料庫血案看資料庫系統的安全設計

2021-10-09 14:24:28 字數 2136 閱讀 5220

日前,微博網友大佬坊間八卦爆料,順豐科技資料中心一位高階工程師誤刪除生產資料庫,導致某項業務無法使用並持續590分鐘。順豐根據公司相關規定,辭退工程師鄧某,並在順豐內網通報。

事情經過

鄧某工程師是順豐科技 it 資料中心應用交付技術部網際網路產品運維組的 it 運維開發高階工程師。在接收到變更需求後,鄧在操作過程中,錯選了 russ 資料庫,打算刪除執行的 sql。在選定刪除時,因其操作不嚴謹,游標回跳到 russ 庫的例項,在未看清所選內容的情況下,便通過 delete 執行刪除,同時忽略了彈窗提醒,直接回車,導致 russ 生產資料庫被刪掉,這是非常嚴重的安全事件了。

因為工作人員的不嚴謹操作,導致資料丟失,omcs 運營監控管控系統發生故障,使該系統上臨時車險發車功能無法使用並持續了約590分鐘,給順豐業務帶來嚴重影響。

事故原因分析

事故出來之後,網上對於這一事件有一些原因分析,總結起來有如下幾點:

1)  黑客攻擊。黑客利用系統存在的漏洞,侵入系統,非法刪除資料庫。

2) 硬體故障。如果系統中資料庫服務只部署了單個節點,當這單個節點掛掉之後,整個資料庫就無法提供服務了。也就是說資料庫沒有備份,這對於重要資料系統來說是嚴重的缺陷。

3)  軟體缺陷。資料庫服務屬於軟體系統的一種型別,當軟體存在bug的時候,也往往會造成安全問題。

4) 運維失誤。資料庫往往是由運維人員管理的,而運維人員由於多種原因可能會發生一些操作失誤,比如長時間疲勞工作、責任心差、對公司不滿存在蓄意破壞等等,這些都可能造成資料的丟失。

5) 自然災害。類似於機房斷電以及其他可能的自然災害導致機房資料無法恢復。

這些年刪過的資料庫

其實刪除資料庫這種神操作已經發生很多次了,最近幾年發生的著名資料庫刪除事件有:

在資料經濟時代,資料庫正變得越來越有價值,已經成為企業最核心的資產。無論是哪一種刪除,都會給使用者服務和企業的正常經營造成嚴重的負面影響,這一點是毋庸質疑的。

根本原因分析

儘管可能存在上面多種原因都會導致資料庫被刪除,但公號珺認為最根本的原因還是系統安全設計有缺陷。理由如下:

因為系統安全設計有缺陷,導致由於運維人員的誤操作而錯誤地刪除了整個資料庫,而將全部責任推給運維人員,公號珺認為這也不甚合理。運維人員誤操作固然有錯,但是系統開發時安全需求和設計不足,導致系統先天存在這樣的缺陷。今天如果沒有運維人員的誤操作,系統仍然存在被黑客或者惡意的其他內部人員刪除整個資料庫的風險。這是系統設計上的缺陷,不能完全讓這個運維工程師背這個黑鍋。

系統安全設計解決方案

這裡從許可權管理和系統結構安全的角度給出乙個資料庫系統安全設計解決方案:

1)  最小授權:運維人員的操作許可權應該僅用於完成他的運維工作。如果生產資料是由使用者產生的,運維人員只負責系統維護,不應該有修改、刪除資料庫記錄等操作的許可權,特別是對整個資料庫的刪除許可權。

2)  職責分離:就像銀行櫃員一些重要業務需要主管的審批一樣,對於重要的資料庫系統運維操作來說,比如大量資料記錄或者整個庫的刪除,必須要有資料庫運維主管的審批、確認,才可以完成操作。這樣就可以避免因為某乙個人誤操作、或者蓄意破壞而導致的重要記錄/甚至整個資料庫完全被刪除。

3) 結構安全:對於重要資料庫系統來說,在系統結構設計上應考慮重要節點冗餘,配置兩台資料庫伺服器,隨時保持資料庫備份,這樣就不會出現資料庫誤刪除而導致全部業務資料丟失。

4)失效安全:為避免重要資料庫系統的突然故障,比如臨時斷電等,應該設計資料庫臨時保留策略,如生成快照。

如果軟體/系統在開發的時候充分考慮了這些問題,即使某一天運維人員糊塗了也不會出現資料庫整體被刪除的狀況。

我們還能做些什麼?

消除認識誤區,提高對系統的效能和安全性概念的理解:

比如國內某大型it企業的雲平台系統可靠性號稱已經達到了6個9的水平,即99.9999%,而其可用性也達到了99.95%的水平,可是前不久仍然發生了企業資料丟失的事件,雙方還對賠償金額問題至今沒有達成一致意見。

請大家注意可靠性和安全性不是乙個概念哦。可靠性是指產品在規定的時間內,在規定的條件下,完成預定功能的能力。通常理解就是實現預定業務功能的能力。而安全性是指在系統發生故障或者遭到它方攻擊破壞時仍然能夠提供所需功能的能力。安全性包括多個屬性,比如保密性、完整性、可用性、真實性、許可權管理可控性、可行性等等,企業強調的可用性只是其中的乙個屬性。安全是全方位的,僅有可用性乙個指標也是遠遠不夠的。所以企業強調它的系統可靠性有5個9還是6個9並不能保證安全性不出問題,大家要擦亮眼睛,不要誤認為可靠性高,系統安全性就好。

案例分析 從誤刪除資料庫血案看資料庫系統的安全設計

日前,微博大佬坊間八卦爆料,順豐科技資料中心一位高階工程師誤刪除生產資料庫,導致某項業務無法使用並持續590分鐘。順豐根據公司相關規定,辭退工程師鄧某,並在順豐內網通報。事情經過 鄧某工程師是順豐科技 it 資料中心應用交付技術部網際網路產品運維組的 it 運維開發高階工程師。在接收到變更需求後,鄧...

用友SQL SERVER資料庫誤刪除資料恢復

使用者單位 廣西某企業 資料恢復故障描述 由於工作人員失誤,誤把使用者下在正使用的三個賬套全部刪除,後又進行了還原操作。資料恢復故障分析 從硬碟上進行分析檔案記錄,沒有發現可用的資訊,無奈只能重組碎片。資料恢復過程 1 對硬碟進行映象,以防二次破壞 2 使用自主開發的sql server碎片重組軟體...

SQL Server資料庫誤刪除資料的恢復

sql server中誤刪除資料的恢復本來不是件難事,從事務日誌恢復即可。但是,這個恢復需要有兩個前提條件 1.至少有乙個誤刪除之前的資料庫完全備份。2.資料庫的恢復模式 recovery mode 是 完整 full 針對這兩個前提條件,會有三種情況 情況一 如果這兩個前提條件都存在,通過sql語...