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