网盾安全 - 服务器租用、高防IP、云WAf等

值得信赖的互联网安全服务商,最新动态、新的产品促销活动分享,网络安全动态!

Mongodb被入侵勒索事件暴露出哪些Linux服务器端口安全问题?

发布时间:2020-12-04 15:49:39      来源: 网盾      作者: 夶夏

一、事情始末

近期的Mongodb勒索事件闹得满城风雨:最先是一些裸奔的MongoDB用户的数据被黑客删除,只留下一张warning的表,里面写着如果想“赎”回数据,就给0.2比特币(约等于200$)到xxxxx地址。将近2000个MongoDB数据库被黑客入侵勒索后,另一黑客组织上演了同一出戏码…...但是把赎金加高了变成0.5比特币(约等于550$)一系列黑客模仿这类行为后,终于有黑客发出了嘲笑,他们在留言里说到:“你tm在想什么???让数据库在公网上裸奔????”

这件事愈演愈烈,最终引起全世界人民的关注,原来是由于对外网开放访问并且没有开启授权机制导致被删库、远程拖库、勒索。接着又曝出Elasticsearch被勒索事件,缘由一样,Elasticsearch服务暴露在公网上并且

Elasticsearch是没有设置账户和密码的。联想到前些日子,Redis未授权访问漏洞,同样是因为Redis没有暴露在公网、没有设置授权认证而引起的。

职业运维人员对于这些漏洞都拥有惊人的警觉性,只要发生一起勒索事件就必须引起注意,立马启动漏洞扫描防治措施。

数据库里存储的都是个人文件信息。一旦被黑客入侵,会把数据删掉,哪怕这些信息不太重要也至少会引起一些不必要的麻烦。轻则让你花一些时间去补回数据。严重一点,例如被黑客利用Redis未授权访问漏洞,入侵了服务器被植入木马,你的历史操作记录,数据库操作记录,各种数据都会被拿走,还不谈长期潜伏的危害了。有的木马很难干掉的话,你只能重装系统了,这又是个不小的工作量。

墨菲定律说:会出错的事总会出错;如果你担心某种情况发生,那么它就更有可能发生。所以不要心存侥幸,安全问题重在预防。

二、解决方法

那么如何解决将后台服务、数据服务的端口暴露在公网导致信息泄露的问题呢,这里我们以ES为例具体讲解决方法,当然mongodb等解决方法类似:

1.初段开发人员都会对这个问题存在疑惑,如果我把 host 绑到了内网 ip,我在本地开发的时候怎么去访问我的服务器并且测试它呢?总不能每次都登录到服务器,使用 curl 来访问吧,那得多麻烦啊,不是相当于过河不走桥非要等船夫来渡我?

这个问题也很简单,我就直接给出答案,推荐力度按次序由小到大:

1)使用 nginx 做反向代理,将一个公网 ip 和端口代理到 es 的服务上,用完就把 nginx 这个代理关掉。当然,nginx 本身是支持基础安全账号机制的。

2)在服务器上部署一个 shadowsocks 服务,本地开一个 client 连过去,然后把 es 的访问地址(比如 10.0.0.10:9200)代理到 shadowsocks client开放的 代理上(比如socks5),就可以自由访问了。

当然,你可以访问其他所有的内网服务哦。

3)最推荐的方案,还是在服务器装一个 openvpn 服务,本地开发人员连接 vpn 后,内网的服务就可以访问了。当然,这个方案成本有些高,需要有一定的运维能力。

2.有没有啥方法可以防止以后再次出现这种傻×行为呢?比如把elasticsearch配置network.host: 0.0.0.0导致elasticsearch服务启动不成功的问题。

当然可以解决,上防火墙啊,常见的就是 iptables。

颜丹来说,就是对本地开放的 ip 和端口建立白名单,比如常见的 iptables 配置如下,这个配置开放了 80( http 服务 )、443( https 服务)和 22 ( ssh 端口)这三个端口

3.一些个人经验分享

1)前端进程和后端进程必须分别部署在不同的计算机上,以避免前端由于漏洞等而被入侵,从而导致后端服务和数据不可用,并避免风险。

2)后端服务是那些不直接与用户和数据库服务交互的服务。确保添加防火墙规则以合理控制访问权限,并避免被攻击使用。

3)对于与数据库相关的服务,有必要养成定期备份的良好习惯。在最坏的情况下,数据丢失不怕被删除。

4)对于前端服务,必须限制某些IP访问的频率,以避免被合理地用于攻击。

 

 

加入网盾,开启安全防护

网盾安全 高防服务器、游戏盾、DDoS高防IP、云WAF等多款安全产品

立即体验