【问题标题】:How to restrict database ports on a cloud host?如何限制云主机上的数据库端口?
【发布时间】:2015-06-15 12:47:17
【问题描述】:
我想在 Digital Ocean 上设置一个 node.js/mongoDB 应用程序。它不会看到大量流量,因此只需一个虚拟机实例就足够了。
当 mongodb 启动时,它连接到默认端口 27017。这是否意味着该端口也可供任何点击 myip:27017 或 myserver.com:27017 的人使用?
如何使数据库只能由我的应用访问?
【问题讨论】:
标签:
node.js
mongodb
security
port
database
【解决方案1】:
假设没有高级/自定义防火墙设置:
如果 Mongodb 绑定到 127.0.0.1,它将只能从该机器或本地网络访问。
如果它绑定到 0.0.0.0 或连接到您的服务器的实际网络接口,它将在开放的互联网上。
【解决方案2】:
在 Ubuntu 上安装 mongodb 的默认配置会将 27017 绑定到 127.0.0.1。
这意味着只有 127.0.0.1 可以访问该端口。
检查mongodb.conf,看看bind_ip = 127.0.0.1是否存在。
如果没有,任何可以访问您机器的人都可以访问您的 mongodb。很危险。