前言
雖然這事在國內(nèi)好像沒怎么聽聞…………但國外可是鬧翻了…………
也不得不驚醒某些喜歡把自己的云服務器與數(shù)據(jù)庫裸奔的用戶赠潦。
事件概述
其實我也是前兩天才知道這事叫胖,事情經(jīng)過是這樣的。
- Victor Gevers大大在12月27日發(fā)現(xiàn)一些裸奔的MongoDB用戶的數(shù)據(jù)被黑客刪除并發(fā)推引起了互聯(lián)網(wǎng)的注意她奥。(黑客把數(shù)據(jù)庫里的數(shù)據(jù)都刪除了瓮增,并留下一張warning的表怎棱,里面寫著如果想“贖”回數(shù)據(jù),就給0.2比特幣(約等于200$)到xxxxx地址)
- 元旦當天绷跑,Victor Gevers大大轉發(fā)了條關于Amazon服務器與MongoDB的推并說:“請在2017年給我們原生的MongoDB數(shù)據(jù)庫加上默認設置和取消防火墻吧拳恋!”
- 1月3日,CSOonline發(fā)推 Exposed MongoDB installs being erased, held for ransom(關于裸奔的MongoDB被刪除數(shù)據(jù)并被勒索事件)你踩。事件慢慢越鬧越大诅岩。
- 1月4日Victor Gevers大大發(fā)推說:“一個名為Hijacked的黑客組織入侵了將近2000個MongoDB數(shù)據(jù)庫〈ぃ”吩谦,但這個名為Hijacked的黑客組織好像覺得玩脫了。就此收手了~然而事情還沒完…………
- 1月4日膝藕,就在Hijacked收手沒多久式廷,一個名為0wn3d的黑客組織又上演了同一出戲碼…………而且贖金更貴………0.5比特幣(約等于550$)……
- 1月5日Victor Gevers大大發(fā)推說:“幸運的是沒有任何人交付贖金,“匪徒”給的地址無法解碼芭挽!所以任何數(shù)據(jù)庫被入侵的用戶滑废,請千萬不要交付贖金,并可以向我尋求幫助袜爪!”
- 1月5日蠕趁,名為harak1r1的黑客組織也干了這事,這次是0.2比特幣…………
- 1月5日辛馆,名為0704341626asdf的黑客組織也干了這事俺陋,這次更搞笑的是他們在留言里說到:“你tm在想什么?昙篙?腊状?讓數(shù)據(jù)庫在公網(wǎng)上裸奔?苔可?缴挖??”
- 1月5日焚辅,Victor Gevers大大警告大家:請千萬不要交付贖金映屋,因為沒人保證黑客會保存你的數(shù)據(jù)!
- 1月6日這次是名為mongo3l1t3同蜻,贖金0.2比特幣……
- 1月6日秧荆,這次是名為kraken0,贖金1比特幣……
- 1月6日埃仪,這事鬧上了BBC NEWS………………
- 1月7日乙濒,國內(nèi)的耗子大大發(fā)了微博,至此國內(nèi)也開始關注這事(要知道國外這事可是大新聞…………)
至此就是這件事的最新動向颁股。
其實不是數(shù)據(jù)庫不安全么库,只是用戶問題
其實這事也不能全怪MongoDB,因為其實這事就是因為某些用戶他把自己的數(shù)據(jù)庫擺上公網(wǎng)甘有,然后還不設置賬戶密碼而引起的………………也正如0704341626asdf說到:“你tm在想什么诉儒??亏掀?讓數(shù)據(jù)庫在公網(wǎng)上裸奔忱反??滤愕?”温算。其實這事真的不難,很簡單间影,我都能輕松做到…………只要你稍微懂點數(shù)據(jù)庫基本就可以了…………
為什么不設置賬戶密碼注竿??魂贬?這個主要是因為在安裝原生的MongoDB時巩割,默認條件下,MongoDB是不啟用認證和訪問控制功能付燥,說白了就是MongoDB不會提示你設置賬戶密碼宣谈,也不會提示你任何ip都能訪問你的數(shù)據(jù)庫,這對一些網(wǎng)絡安全意識薄弱的人簡直是致命傷<啤闻丑!
理論上許多的云平臺(比如騰訊云,阿里云)這些數(shù)據(jù)庫默認是不會也可以不用暴露在公網(wǎng)上的萝嘁,云平臺也不推薦你這么做梆掸,我估計是某些用戶貪方便懶的折騰內(nèi)網(wǎng)連接而開放的公網(wǎng)端口……………
入侵個數(shù)據(jù)庫給你們看看~
雖然入侵數(shù)據(jù)庫這不是什么好事扬卷,我之前也沒怎么接觸過MongoDB牙言,但為了證明究竟入侵有多簡單,我馬上裝了個MongoDB并入侵了一個數(shù)據(jù)庫(當然我什么都沒干怪得,就只是進去了一下)
- 首先咱枉,先在shodan搜索 MongoDB country:"CN" ,然后你會獲得很多在中國公網(wǎng)的MongoDB數(shù)據(jù)庫ip地址(ip地址都打碼徒恋,要看自己去搜)
- 然后我隨便選個ip蚕断,在終端進行登陸,因為沒有賬戶密碼入挣,所以我輸入 ./mongo --host xxx.xxx.xx.xx 這個命令就完成登陸了亿乳,接下來我就可以對他的數(shù)據(jù)庫的數(shù)據(jù)進行任何的增刪查改了,當然這里我只輸入 show dbs 顯示所有的數(shù)據(jù)庫,然后什么都沒干葛假,畢竟我又不是想干壞事…………
- 正是因為沒有賬戶密碼設置障陶,結果我輕松入侵…………
有多少這樣裸奔的數(shù)據(jù)庫?
- 我在shodan搜MongoDB country:"CN"聊训,是有12788個結果返回的抱究,就是在中國說有12788個放在公網(wǎng)上的MongoDB數(shù)據(jù)庫,至于其中有多少事沒有賬戶密碼的我不清楚带斑,但從我剛才隨便選一個就成功了鼓寺,估計沒有賬戶密碼的占大部分……
- 接著我直接搜MongoDB,更是在全球范圍里搜到53022個結果…………
- 不敢說shodan的搜索是完完全全的勋磕,也不敢說搜到的數(shù)據(jù)庫全都是裸奔妈候,但從上面的情況來看,裸奔的數(shù)據(jù)庫估計成千上萬………………
一些補救措施
由于我對MongoDB并不是那么熟悉朋凉,這里我借用vex2的 《MongoDB 數(shù)據(jù)庫被入侵刪除事件分析》這篇文章里的方法
如果您是 MongoDB 管理員州丹,下面的其他提示可能對您有用:
- 檢查 MongDB 帳戶以查看是否沒有人添加了密碼( admin )用戶(使用 db.system.users.find()命令);
- 檢查 GridFS 以查看是否有人存儲任何文件(使用 db.fs.files.find()命令)杂彭;
- 檢查日志文件以查看誰訪問了 MongoDB ( show log global 命令)墓毒。
預防方法
這個其實也沒什么好說的,就幾點亲怠。
- 先把你數(shù)據(jù)庫的賬戶密碼設置好了再說……
- 盡量不要把你的數(shù)據(jù)庫擺上公網(wǎng)所计!業(yè)務處理都盡量在內(nèi)網(wǎng)進行!
- 如果要擺上公網(wǎng)团秽,一定要設置好訪問權限主胧,綁定訪問源 IP!
- 備份數(shù)據(jù)~
后記
還是那句話:“你tm在想什么习勤?踪栋??讓數(shù)據(jù)庫在公網(wǎng)上裸奔图毕?夷都??”予颤。
所以說請注意你的云端設備是否加了把“安全鎖”~
好吧~滾去復習了…………orz
引用文章:
[1]從 MONGODB “贖金事件” 看安全問題 作者:@左耳朵耗子
[2]MongoDB 數(shù)據(jù)庫被入侵刪除事件分析 作者:helloworld01