MongoDB fork模式默认配置

时间:2018-03-24 17:33:41

标签: mongodb security sysadmin

即时通讯使用v3.4(Ubuntu 16.04)并使用此命令运行它:

mongod --fork --logpath /var/log/mongodb/mongod.log --dbpath /var/lib/mongodb

奇怪的是,上面的命令mongod服务在0.0.0.0:27107公开运行,尽管默认文件位置/etc/mongod.conf说:

net:
  port: 27017
  bindIp: 127.0.0.1

现在,我知道我没有明确地传递配置文件这个参数:

mongod --fork --logpath /var/log/mongodb/mongod.log --dbpath /var/lib/mongodb --config /etc/mongod.conf

如果我这样做,配置很好,但我的问题是:如果我运行mongod守护进程没有特定的配置文件而且它没有读取/etc/mongod.conf作为默认值,那么它的读取默认配置是什么?什么是默认配置参数?另外默认是监听0.0.0.0,这是一个巨大的安全漏洞,这是一个错误吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

  

我知道我没有明确地传递配置文件这个参数:

您需要指定--config FILENAME以指定运行时的配置文件。这是命令行配置选项的首选方法。没有mongod隐式使用的默认配置文件。配置是可选的。

  

什么是默认配置参数?

您可以在the documentation for mongod options上看到mongod参数的默认值。

  

默认是监听0.0.0.0这是一个巨大的安全漏洞,这是一个bug吗?

从MongoDB v3.6 +开始,mongodmongos默认绑定到localhost。以前,从MongoDB 2.6开始,默认情况下只有官方MongoDB RPM(Red Hat,CentOS,Fedora Linux和衍生产品)和DEB(Debian,Ubuntu和衍生产品)包中的二进制文件绑定到localhost。另见Localhost binding compatibility changes

我还建议您查看MongoDB Security Checklist以改进MongoDB部署的安全措施。