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