噼里啪啦敲擊鍵盤的程序員卢未,大家一定很熟悉肪凛。作為程序員,編寫代碼是他們的家常便飯辽社。筆者有很多朋友也是從事程序員行業(yè)伟墙,有時他們的工作壓力大了,經(jīng)常會在群里相互開玩笑說爹袁,公司要是把我逼急了远荠,大不了“刪庫跑路”,本來這是一句玩笑話失息,沒想到會有一天成為現(xiàn)實譬淳。
近日,一家香港主板上市公司盹兢,圍繞商業(yè)云邻梆、營銷云、銷售云打造智慧云端生態(tài)體系绎秒,為企業(yè)提供全場景全鏈路SaaS產(chǎn)品的智能商業(yè)服務提供商-微盟出事了浦妄,它的程序員“刪庫跑路”了!
微盟在官網(wǎng)發(fā)布了一則故障通知,該通知稱其公司業(yè)務系統(tǒng)數(shù)據(jù)庫(包括主備)遭遇其公司運維人員的刪除剂娄。據(jù)悉蠢涝,目前犯罪嫌疑人已經(jīng)被寶山區(qū)公安局進行刑事拘留,犯罪嫌疑人承認了犯罪的事實阅懦。犯罪嫌疑人乃微盟研發(fā)中心運維部核心運維人員賀某和二。微盟公司對外宣稱,賀某于2月23日晚18點56分通過個人VPN上網(wǎng)登入公司內網(wǎng)跳板機耳胎,因個人精神惯吕、生活等原因對微盟線上生產(chǎn)環(huán)境進行了惡意的破壞。
事情是如何發(fā)生的呢怕午?不久之后微盟官方發(fā)布了調查結果:
2020年?2?月?23?日晚?18:56?分該企業(yè)運維部門核心員工賀某通過?VPN?登入內網(wǎng)废登,官方稱是因為個人精神、生活等原因開始對生產(chǎn)環(huán)境進行惡意破壞郁惜。
2020?年?2?月?23?日?19:00?系統(tǒng)監(jiān)控發(fā)出報警堡距。
2020?年?2?月?25?日?7?時,恢復部分生產(chǎn)環(huán)境的數(shù)據(jù)兆蕉,但是老用戶預計還需要?2?月?28日晚上才能恢復吏颖。
截止到現(xiàn)在,微盟微商城恨樟,智慧零售,微站業(yè)務正式恢復服務疚俱,新用戶可直接注冊使用劝术。?
?為什么會發(fā)生刪庫?
作為一家上百萬客戶的服務商呆奕,從公開信息上顯示养晋,這家公司提供微信商城、餐飲O2O梁钾、智慧城市等營銷解決方案绳泉,而沃爾瑪、百草味姆泻、洽洽零酪、森馬等耳熟能詳?shù)钠放埔彩瞧淇蛻簟F鋽?shù)據(jù)庫大量被刪除是非常嚴重的拇勃,刪除數(shù)據(jù)庫事件發(fā)生后四苇,市值瞬間蒸發(fā)10個億!?
最近幾年刪除跑路的新聞報道屢見不鮮方咆,有程序員誤操作導致的刪除數(shù)據(jù)庫月腋,也有惡意的程序員因為情緒發(fā)泄失控導致的報復性刪庫。
2018?年?8?月,順豐公司一員工接到一個變更需求榆骚,因為選錯了實例片拍,將一數(shù)據(jù)庫刪除。因工作不嚴謹導致該系統(tǒng)上臨時車線上發(fā)車功能無法使用并持續(xù)約590分鐘妓肢。事后該員工被開除捌省。?
? ? 2018年4月,VPS?服務商?Kuriko?因因機房技術人員?rm -rf /*职恳,宿主機上所有數(shù)據(jù)丟失了所禀。
? ? 2017年6月,一家荷蘭海牙的云主機商?verelox.com放钦,一名前任管理員刪光了該公司所有客戶的數(shù)據(jù)色徘,并且擦除了大多數(shù)服務器上面的內容。
對于惡意刪除數(shù)據(jù)庫的行為操禀,我國《刑法》第二百八十六條規(guī)定:“對計算機信息系統(tǒng)功能進行刪除褂策、修改、增加颓屑、干擾斤寂,造成計算機信息系統(tǒng)不能正常運行,后果嚴重的揪惦,處五年以下有期徒刑或者拘役遍搞;后果特別嚴重的,處五年以上有期徒刑器腋∠常”
2018?年杭州科技公司的技術總監(jiān)邱某因不滿企業(yè)裁員,該員工從?2014?年入職到?2018年纫塌,公司的主要系統(tǒng)都由他搭建诊县,包括公司的?SaaS?系統(tǒng)、API?系統(tǒng)措左、電子合同的簽署等服務依痊,2018?年初公司大概有?4?萬多用戶。2018?年?4?月怎披,老板找到邱某胸嘁,讓他盡快離職,后面他也提交了辭職報告钳枕,但是心里一直都很不爽缴渊。遂心生報復,遠程登錄服務器刪除了數(shù)據(jù)庫上的一些關鍵索引和部分表格鱼炒,造成該企業(yè)直接經(jīng)濟損失?225?萬元衔沼,后被判賠償公司?8?萬元,判刑?2?年?6?個月,緩刑三年指蚁。
刪庫事件無法預防嗎菩佑??
微盟事件給我最大的疑惑就是,這位核心運維人員能夠擁有如此大的權限凝化,在家遠程登陸可以刪除如此龐大重要的服務器數(shù)據(jù)稍坯。而且這種事故,可不是一般的黑客入侵或誤操作搓劫,而是因為公司內部發(fā)起的惡意破壞瞧哟。雖然這位運維人員是核心組的成員,但是他所被賦予的權利是否過大枪向,能夠不被監(jiān)督勤揩,不被限制進行服務器的維護。這種“家里起火”其實是最難防范的秘蛔,大多數(shù)中小企業(yè)因為人力有限陨亡,無法建立嚴格的流程規(guī)范以及招募監(jiān)督人員來約束規(guī)范運維人員,很難避免這種問題發(fā)生深员。
由于企業(yè)規(guī)模問題负蠕,不可能招聘一個專門的?DBA(數(shù)據(jù)庫管理員)來進行運維,很多時候都是程序員一兼多職倦畅,又開發(fā)遮糖,又要兼顧寫代碼加運維。而且叠赐,中小企業(yè)要想對程序員操作系統(tǒng)的權限劃分的特別細致是不現(xiàn)實的止吁。
即便如此,我們如何預防這類事件的發(fā)生呢燎悍?
1.權限
中小企業(yè)雖然因為規(guī)模問題,不會單獨劃分系統(tǒng)運維盼理、業(yè)務運維谈山、DBA?這種角色,但是可以建立像財務審批一樣的流程宏怔。比如程序員現(xiàn)在要執(zhí)行一個刪除操作奏路,由發(fā)起人發(fā)起刪除請求,將需要操作的事項詳細列出臊诊,交由相關負責人進行審批鸽粉,負責人審批確認命令是否合理,審批通過后再交給專門的執(zhí)行者或者才開放權限給發(fā)起人去執(zhí)行刪除操作抓艳。?
如同建立財務流水一樣触机,程序員的敏感操作可以做到追根溯源,有備可查,否則一旦出現(xiàn)問題就能很快知道是誰干的儡首,二來可以防止人為破壞片任,避免擁有權限的人隨時隨地可以進行破壞。?
對于有一定規(guī)模的企業(yè)蔬胯,就可以對運維人員分為業(yè)務運維对供、網(wǎng)絡運維、DBA?等氛濒,每個角色負責自己操作權限产场,不能越權,比如業(yè)務運維只能針對業(yè)務的相關進程和服務進行修改操作舞竿、系統(tǒng)運維只能對操作系統(tǒng)的權限進行調整京景,但是不能操作數(shù)據(jù)庫、而?DBA?只能操作數(shù)據(jù)庫炬灭,但是不能修改其他服務的配置文件和相關進程數(shù)據(jù)等等醋粟,更不能執(zhí)行類似rm之類的高位命令。
2.流程化
對于運維人員的工作流程要進行流程規(guī)范化的培訓重归,禁止一切非流程化的操作米愿。對于代碼環(huán)境的變更,例如執(zhí)行什么寫入鼻吮,都要進行審批育苟,最好是在專業(yè)人員演練測試無誤后再進行變更,防止意外事故發(fā)生椎木。?
此外特別是對于刪除违柏、更新這種高危敏感操作一定要進行嚴格的審核,確認無誤后方可操作香椎。在《阿里巴巴JAVA開發(fā)手冊》中漱竖,對于?Mysql?的變更要先執(zhí)行?select,避免直接執(zhí)行?delete畜伐,防止誤刪除馍惹。
3.演習
就像平時大型商場會定期舉行消防演習一樣,隨著企業(yè)規(guī)模以及人員變動等因素玛界,企業(yè)也要定期按照流程和規(guī)范對系統(tǒng)進行故障演練万矾,以防“起火”后及時救火。比如斷電恢復數(shù)據(jù)慎框、數(shù)據(jù)刪除鏡像文件恢復等場景進行演練良狈,這樣一來可以加強對應開發(fā)和運維人員對于流程和規(guī)范的認識,二來平時參與到這種模擬環(huán)境中笨枯,可以在真正的故障面前不會手忙腳亂薪丁。
4.備份遇西,備份,還是備份窥突!
作為一個新媒體工作者努溃,文稿備份那簡直就是條件反射般的存在。如果軟件死機阻问,斷電梧税,那后果都是十分嚴重的。對于備份的重要性称近,我想不需要多說第队,對于重要的業(yè)務系統(tǒng)中的每一個服務都不能存在單點,要及時備份刨秆,定期備份凳谦,要時刻保持數(shù)據(jù)的備份。
一衡未、常規(guī)備份尸执,要定期對數(shù)據(jù)庫進行備份,除了本地要有備份缓醋,還要進行遠程備份如失,或者多機備份∷土唬可以通過腳本配合計劃任務進行定時備份褪贵。
二、主從備份抗俄,除采用主從備份可以實時性的對數(shù)據(jù)進行同步脆丁,并保證高可用性。切記不可將主從部署在同一臺機器上动雹。
三槽卫、異地多存,有條件的還可以采用異地多存胰蝠,即防止某個區(qū)域出現(xiàn)意外導致斷電或硬件損壞等導致數(shù)據(jù)丟失晒夹。
但是,從很多現(xiàn)實例子來看姊氓,大量公司對于數(shù)據(jù)的備份是重視不夠的。
首先是出于成本考慮喷好,不舍得備份翔横,本來租一個服務器就夠貴了,為什么還要再租一個梗搅,而且只是備份用禾唁。但是就算不舍得投入成本效览,使用兩個服務器,本地備份也可以做一個荡短,防范于未然丐枉。
其次是,安全意識不夠掘托,或者說是僥幸心理在作祟瘦锹。過于相信云服務廠商的技術,覺得上傳到云后備份這種事情就交給云廠商去做了闪盔,一旦遇到黑客入侵弯院,或者網(wǎng)絡波動,本地也沒有備份泪掀,那可就慘了听绳。
5.事在人為
雖然微盟公布的調查顯示,涉事人員是因為精神問題而去刪庫异赫,是否為真椅挣,尚不可知。但是最近因為疫情影響塔拳,許多公司采取了在家遠程辦公鼠证,完全改變了我們平時的生活和辦公狀態(tài)。有些網(wǎng)友反映蝙斜,在家辦公一個月名惩,都要憋出病來了,一周工作量的甚至比一個月還多孕荠。而且娩鹉,不是所有人在家辦公都能保持很高的工作狀態(tài),在家辦公稚伍,經(jīng)常會被其他事情打擾弯予。
對于程序員,或者廣大的員工而言个曙,如果工作中遇到了一些不公平的遭遇锈嫩,比如欠薪、領導故意刁難垦搬,或者長時間的無償加班的情況呼寸。盡量選擇通過正規(guī)途徑來解決,不要選擇走極端的違法行為猴贰。刪庫跑路看似非常瀟灑解恨对雪,一旦被判刑這將是得不償失,還會對于未來的生活和工作都造成非常嚴重米绕,不可逆轉的影響瑟捣。