IT圈子里一直以來都有著“刪庫跑路”的經(jīng)典段子,廣為傳頌。老師機會心一笑而很多新手一臉懵逼躍躍欲試,但可能很多人還不知道,這些刪庫段子早就演變成真實案例,也不是第一次了,希望整個行業(yè)大佬們長點心,提高內(nèi)部數(shù)據(jù)安全門檻尤為重要,下面小編就給大家講講Mongodb刪庫勒索事件。
一、緣由
前段時間Mongodb數(shù)據(jù)庫遭到惡意刪庫勒索事件:是因為對外網(wǎng)開放訪問然而又沒有開啟授權機制被刪庫、遠程拖庫、勒索。接著又曝出Elasticsearch被勒索事件,緣由一樣,Elasticsearch服務泄露在公網(wǎng)上并且Elasticsearch是沒有賬號安全體系的。聯(lián)想到前些日子,Redis未授權訪問bug,同樣是因為Redis沒有展現(xiàn)在公網(wǎng)、沒有設置授權認證,和而引發(fā)的。
小編做為網(wǎng)盾科技專職運維人員,這些漏洞和勒索事件,只要有一件發(fā)生就必須引起警覺和漏洞掃描防治措施的啟動。
當數(shù)據(jù)庫被入侵,就會把數(shù)據(jù)刪除,哪怕不太重要也會多多少少引起一些問題,讓你花更多時間去補回數(shù)據(jù)。
如果利用Redis未授權訪問漏洞,入侵了服務器,那這臺服務器就危險了,木馬會根據(jù)歷史操作記錄,數(shù)據(jù)庫操作記錄,那么各項數(shù)據(jù)會被竊取,如果長期潛伏,就像一個小偷手上有你家的備用鑰匙,來去自如,想想都覺得害怕。
而且有的木馬很難完全清掉,你只能重裝系統(tǒng)了。
莫非說過:越害怕發(fā)生的事情就越會發(fā)生。所以不要心存僥幸,安全問題重在預防。
二、解決辦法:
對于將后臺服務、數(shù)據(jù)服務的端口展現(xiàn)在公網(wǎng)解決辦法如下:
其一,初級階段開發(fā)人員都有一個疑問,我要是把 host 綁到了內(nèi)網(wǎng) ip,我在本地開發(fā)的時候怎么到訪問服務,怎么去測試呢?總不能每次都登錄到服務器,使用 curl 來訪問吧,那得多麻煩。
直接上答案,推薦力度按次序由小到大:
1)使用 NGINX做反向代理,將一個公網(wǎng) ip 和端口代理到 es 的服務上,使用完之后就把 NGINX 這個代理關掉。當然,NGINX 本身是支持基礎安全賬號機制的。
2)在服務器上部署一個 shadowsocks 服務,本地開一個 client 連過去,然后把 es 的訪問地址(比如 10.0.0.10:9200)代理到 shadowsocks client開放的 代理上(比如socks5),就可以自由訪問了。當然,你可以訪問其他所有的內(nèi)網(wǎng)服務哦。
3)最推薦的方案,選用一臺網(wǎng)盾高防服務器,在高防服務器上裝一個 openVPN 服務,只要本地開發(fā)人員連接 VPN ,內(nèi)網(wǎng)的服務就可以訪問了。并且高防服務器還能幫助網(wǎng)站拒絕服務攻擊,定時掃描現(xiàn)有的網(wǎng)絡主節(jié)點,查找可能存在的安全漏洞的服務器類型,包括WAF防御。這里小編推薦IDC服務商網(wǎng)盾科技就有這樣的產(chǎn)品。
其二,有沒有啥方法可以防止以后又出現(xiàn)這種傻×行為呢?比如就有一個 es 服務不小心配置成 0.0.0.0 了
有方案,上防火墻,常見的就是 iptables。簡單講,就是對本地開放的 ip 和端口建立白名單,比如常見的 iptables 配置如下,這個配置開放了 80( http 服務 )、443( https 服務)和 22 ( ssh 端口)這三個端口
一些個人經(jīng)驗總結
1)后端服務即那些不對直接和用戶交互的服務、數(shù)據(jù)庫服務,一定要添加防火墻規(guī)則,合理控制訪問權限,避免被攻擊利用。
2)前端進程和后端進程一定要分別部署在不同的機器上,避免前端因為漏洞等被侵入,造成后端服務和數(shù)據(jù)不可用,可以規(guī)避風險。
3)對于數(shù)據(jù)庫,最好是定時備份,最壞情況下數(shù)據(jù)丟失被刪除也不怕。
4)對于前端服務,可以限制某個IP的訪問頻率,避免被人利用攻擊。
5)選擇一臺網(wǎng)盾高防服務器,就可以一勞永逸啦??!
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!