51CTO獨(dú)家:深度解析攜程數(shù)據(jù)庫之謎
可能沒有人會知道113年前的今天愛迪生發(fā)明了電池,2015年5月28日攜程網(wǎng)崩潰的消息卻如同病毒一般蔓延開來。
定位數(shù)據(jù)庫
攜程網(wǎng)官方微博發(fā)布消息稱:上午11點(diǎn)09分,因攜程部分服務(wù)器遭不明攻擊,導(dǎo)致官網(wǎng)及APP暫時無法正常使用。
網(wǎng)上傳言,攜程的服務(wù)器數(shù)據(jù)在此次故障中全部遭受物理刪除,且備份數(shù)據(jù)也無法使用。攜程網(wǎng)表示,數(shù)據(jù)沒有丟失,預(yù)訂數(shù)據(jù)也保存完整。
安華金和資深安全顧問表示:“根據(jù)時間來判斷,這么久沒有恢復(fù)數(shù)據(jù),很有可能就是數(shù)據(jù)庫出現(xiàn)了問題。”
內(nèi)部還是外部
然而數(shù)據(jù)庫的問題到底出在哪?是所有人所關(guān)心的問題。某微博爆料說,是在服務(wù)器維護(hù)的時候誤刪了某個根目錄,導(dǎo)致數(shù)據(jù)丟失。安華金和資深安全顧問認(rèn)為:“攜程用的是MySQL 數(shù)據(jù)庫,通過MySQL本身的復(fù)制做了高可用機(jī)制,如果是因為誤刪了某個目錄文件,完全可以通過備份設(shè)備直接進(jìn)行恢復(fù)。”
那么是在刪除或者修改某一條數(shù)據(jù)時,條件加錯引起整體數(shù)據(jù)刪除而后因為關(guān)聯(lián)性的問題,導(dǎo)致備份服務(wù)器里面的數(shù)據(jù)也被刪除,這樣數(shù)據(jù)恢復(fù)就非常非常困難了。我們甚至可以想象,攜程甚至沒有內(nèi)部的審計設(shè)備,反之?dāng)?shù)據(jù)庫所有的動作是可以回溯的。
安華金和資深安全顧問分析:如果攻擊來自外部,大概會分為三種情況。第一按照攜程之前曾經(jīng)報過的跨站腳本漏洞,黑客會采用一種反注的方式,將代碼放在后臺,在將來調(diào)用時,可能會對后臺產(chǎn)生破壞。
第二,在應(yīng)用服務(wù)器上把調(diào)試模式打開,把交易卡號和信息保存下來。如果不是內(nèi)部人員所為,說明已經(jīng)有黑客在其應(yīng)用服務(wù)器上捕獲這些信息,那么就可能會有黑客在其應(yīng)用服務(wù)器上種下了后門程序。如果種下后門程序,那么就可以直連到后臺服務(wù)器上了。但是這種可能性比較小,在于在去年攜程出現(xiàn)類似問題之后就應(yīng)該已經(jīng)排查過了。
第三復(fù)雜的APT攻擊,運(yùn)維人員在登錄外網(wǎng)的時候,通過釣魚的方式,下載黑客性的應(yīng)用程序,如果在工作的時候再訪問內(nèi)網(wǎng)就會產(chǎn)生間接性的攻擊。
互聯(lián)網(wǎng)公司的通病
互聯(lián)網(wǎng)行業(yè)講究快速應(yīng)變,所以很多互聯(lián)網(wǎng)公司都采取了像攜程一樣開發(fā)運(yùn)維一體化的策略,雖然在某種程度上降低了開發(fā)和相應(yīng)時間,但是在管理方面卻存在很大隱患。
安華金和資深安全顧問建議:首先從管理制度上要進(jìn)行規(guī)范化,開發(fā)運(yùn)維一體化的模式首先需要改變。開發(fā)、運(yùn)維有各自的工作環(huán)境。開發(fā)工作應(yīng)該更多的通過測試系統(tǒng)而不是直接接觸到生產(chǎn)系統(tǒng)。”
筆者了解到一些互聯(lián)網(wǎng)公司運(yùn)維設(shè)備、開發(fā)設(shè)備、連接外網(wǎng)的設(shè)備都是一體可用的,雖然在一定程度上實(shí)現(xiàn)了快速應(yīng)變,但往往問題也出現(xiàn)于此。
操作的報警也是必不可少的。之后再加入一些類似堡壘機(jī)的管控防控設(shè)備,當(dāng)在服務(wù)器上進(jìn)行運(yùn)維時,不會讓運(yùn)維人員直連數(shù)據(jù)庫。最后安裝數(shù)據(jù)庫防火墻,防止黑客和內(nèi)部人員的危險操作。
達(dá)摩克利斯之劍
從14年到現(xiàn)在短短一年的時間,小米、攜程、網(wǎng)易、12306一次次刺激著我們的神經(jīng)。數(shù)據(jù)就像一座金礦,每天無數(shù)的信息在互聯(lián)網(wǎng)上分發(fā),然而所有公司都揮舞著鋤頭卻忽視了頭上的達(dá)摩克利斯之劍。