MongoDB 被攻击风波未平,如何避免黑客入侵?

王练
 王练
发布于 2017年01月08日
收藏 21

从“大批 MongoDB 因配置漏洞被攻击,数据被删”一文可以看到,近日境外勒索集团黑客正大规模利用企业使用 MongoDB 开源版时的配置疏漏进行入侵,给自建 MongoDB 数据库服务的企业造成不小的安全隐患。

目前对于该事件的讨论非常多,各企业和各方大拿也给出了自己的看法和解决建议。以下是阿里云发布的文章,在此选取了部分精彩内容并分享给大家:

问题出在哪里?

阿里云安全团队发现,受害用户都有一个共同的特征:所有被入侵的 MongoDB 数据库均可以在任何网络环境,不使用账号直接登录。

再说得更通俗一点,这就是把家门全部敞开,没有任何安全防护措施,业务直接裸奔在互联网上,黑客可以来去自如,用低成本的方式做任何想做的事情,包括数据库删除这样的高危操作等。

如何解决?

MongoDB官网公告表示:这些入侵完全可以通过开源产品内置的安全机制防御。

针对在ECS上通过MongoDB开源版自建数据库的企业,建议相关管理员登录云盾控制台,使用云盾安骑士MongoDB检测是否存在此安全问题。

当然,也可以手动排查险情:

1.    检查MongDB帐户以查看是否有人添加了密码(admin)用户(使用db.system.users.find()命令);

2.    检查GridFS以查看是否有人存储任何文件(使用db.fs.files.find()命令);

3.    检查日志文件以查看谁访问了MongoDB(show log global命令)。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:MongoDB 被攻击风波未平,如何避免黑客入侵?
加载中

精彩评论

frank21
frank21
这里也能撕逼,厉害,感觉好像遇到了EXO的脑残粉
RalfLance
RalfLance
我直接bind ip 应该没问题吧。。。
名字真不好起
名字真不好起

引用来自“eechen”的评论

Ubuntu使用iptables可以这样做:
sudo ufw disable && sudo ufw default allow 设置INPUT/FORWARD/OUTPUT为ACCEPT,如果为DENY,下一步骤将使系统的所有网络访问中断,包括ssh.
sudo iptables -F && sudo iptables -X && sudo iptables -Z && sudo iptables -L
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
sudo iptables -A INPUT -j DROP
iptables-save > /etc/iptables.up.rules 切换到root用户执行,sudo会提示无权限.Redhat的保存操作为service iptables save.
sudo nano /etc/network/interfaces 在末尾添加一行,在网络启动时应用防火墙规则:
pre-up iptables-restore < /etc/iptables.up.rules
查看设置的规则:
sudo iptables -nvL --line-numbers
插入一条规则到INPUT链第6的位置:
sudo iptables -I INPUT 6 -j DROP
修改INPUT链的第6条规则:
sudo iptables -R INPUT 6 -j ACCEPT
删除INPUT链第6条规则:
sudo iptables -D INPUT 6
哪有有你!虽然我不是node粉,但mongoDB配置有问题,跟node有毛关系?!跟PHP有毛关系?~!
fotomxq
fotomxq
mongodb默认是仅限于localhost本地访问,外网是无法访问。除非关闭了防火墙、强行开放了所有端口,让外网访问。
而一般采用这类配置方案的,可见其水平之低下,使用任何数据库都无法避免漏洞摧残。
eechen
eechen
号称全栈的Node粉说JS一统天下,结果到了服务器端,部署MongoDB居然对外开放端口还不设密码.
全栈Node,好厉害哦.

还是让我们闲得比较low的PHP开发者教教你们吧,Node粉要不耻下问哟.

防火墙只开放ssh(22端口),http(80端口).
Ubuntu使用ufw可以这样做:
sudo ufw enable
sudo ufw default deny
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw status
可以这样删除,比如80端口:
sudo ufw delete allow 80/tcp

最新评论(19

m
mojizo
看了评论 有的人真恶心,自我高潮。
林岑影
林岑影
3.0以上版本默认就是绑定127.0.0.1, 不需要什么配置, 一般的黑客也破不了...除非你服务器都被黑了...
sx4
sx4
成阿里云软文了
妩媚的悟空
妩媚的悟空
给大家推荐一篇mongoDB加固文档,同时也要提高安全意识,不是所有的东西拿来就可以安心的使用,我们需要安全感,需要长时间的稳定,必须要万无一失,对自己负责,对身边的客户负责,https://help.aliyun.com/knowledge_detail/37451.html
妩媚的悟空
妩媚的悟空

引用来自“RalfLance”的评论

我直接bind ip 应该没问题吧。。。
不够,https://help.aliyun.com/knowledge_detail/37451.html
少不读水浒
少不读水浒
配图完全看不清,能不能认真一点
frank21
frank21
这里也能撕逼,厉害,感觉好像遇到了EXO的脑残粉
eechen
eechen

引用来自“eechen”的评论

号称全栈的Node粉说JS一统天下,结果到了服务器端,部署MongoDB居然对外开放端口还不设密码.
全栈Node,好厉害哦.

还是让我们闲得比较low的PHP开发者教教你们吧,Node粉要不耻下问哟.

防火墙只开放ssh(22端口),http(80端口).
Ubuntu使用ufw可以这样做:
sudo ufw enable
sudo ufw default deny
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw status
可以这样删除,比如80端口:
sudo ufw delete allow 80/tcp

引用来自“fuiyu”的评论

然后,复制粘贴,复制粘贴
node粉连复制粘贴命令都不会,全栈?这就尴尬了.
f
fuiyu

引用来自“eechen”的评论

号称全栈的Node粉说JS一统天下,结果到了服务器端,部署MongoDB居然对外开放端口还不设密码.
全栈Node,好厉害哦.

还是让我们闲得比较low的PHP开发者教教你们吧,Node粉要不耻下问哟.

防火墙只开放ssh(22端口),http(80端口).
Ubuntu使用ufw可以这样做:
sudo ufw enable
sudo ufw default deny
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw status
可以这样删除,比如80端口:
sudo ufw delete allow 80/tcp
然后,复制粘贴,复制粘贴
ShualLiu
ShualLiu

引用来自“eechen”的评论

号称全栈的Node粉说JS一统天下,结果到了服务器端,部署MongoDB居然对外开放端口还不设密码.
全栈Node,好厉害哦.

还是让我们闲得比较low的PHP开发者教教你们吧,Node粉要不耻下问哟.

防火墙只开放ssh(22端口),http(80端口).
Ubuntu使用ufw可以这样做:
sudo ufw enable
sudo ufw default deny
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw status
可以这样删除,比如80端口:
sudo ufw delete allow 80/tcp

引用来自“乐猪”的评论

哈哈哈 6666666
66666
返回顶部
顶部