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