先說說事情的經(jīng)過......
2017年1月8號星期天,在家翻頭條無意中看到一條新聞?wù)f很多用戶的mongodb被黑了,數(shù)據(jù)都被刪了。當(dāng)時想著公司的爬蟲用的也是mongodb做存儲,應(yīng)該不會被黑吧,不可能這么巧,也沒太在意。
1月9號周一來到公司,運營人員找我說數(shù)據(jù)一條都查不出來了,我當(dāng)時心里一緊,回想昨天晚上看到的新聞,抓緊打開數(shù)據(jù)庫一看,頓時傻眼了,“不會這么巧吧”。 數(shù)據(jù)庫被刪干凈了,只留了一條信息
Your DB is Backed up at our servers, to restore send 0.1 BTC to the Bitcoin Address then send an email with your server ip
抓緊上網(wǎng)查了下,果然很多人都中招了,留下的也是這一條信息。想想最后一次備份是在一個多月以前(因為數(shù)據(jù)庫太大,備份太麻煩,所以沒考慮到定期備份),簡直想死的心都有。不過萬幸的是只是抓取的網(wǎng)頁數(shù)據(jù)丟了,其他之前配置過的一些重要的信息都存在了另一個SQL Server數(shù)據(jù)庫中。被領(lǐng)導(dǎo)批過以后,老老實實的還原數(shù)據(jù),加密碼,重新運行爬蟲。
其實之前考慮到放在公網(wǎng)上,也給mongodb加過密碼。只是加了密碼之后,另一個組的同事C#寫的客戶端就沒法訪問了,研究了兩天也沒解決,就和我商量著能不能先把密碼去了,等他研究明白了再加上,不能因為這個影響了運營部門同事的工作了。當(dāng)時想著我們這么個小公司,誰會沒事黑我們啊,就暫時去了吧,等過段時間再加上。這樣暫時去掉以后,就再也沒有后來了......
等數(shù)據(jù)還原完以后,我拿起手機發(fā)了條朋友圈
2017年做了第一件SB的事,mongodb裸奔......
并在心里發(fā)誓,誰讓我把密碼去掉我也不去。
第二天一早,接到了領(lǐng)導(dǎo)的電話,“你把密碼去掉吧”。原來負(fù)責(zé)客戶端的那個同事還是沒辦法連上我加密碼后的數(shù)據(jù)庫,而他本人在客戶現(xiàn)場駐場開發(fā),抽不出時間來研究。領(lǐng)導(dǎo)的意思是說用bind_ip
的方式來保證安全,既要能保證外網(wǎng)的訪問,因為外網(wǎng)有兩個程序需要連這個庫,又要保證內(nèi)網(wǎng)的任意用戶能夠連接,我說那這該怎么實現(xiàn)啊,當(dāng)他說出“你自己研究啊,難道要我告訴你嗎?”時,心里別提有多委屈了。
沒辦法,領(lǐng)導(dǎo)都下了命令,就必須執(zhí)行。于是乖乖的把密碼去掉,然后開始各種搜索怎么通過bind_ip
實現(xiàn)只允許特定機器的訪問。但是多次試驗后,發(fā)現(xiàn)
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式