【问题标题】:Is there a security risk in exposing the MongoDB url to the public?向公众公开 MongoDB url 是否存在安全风险?
【发布时间】:2020-02-16 05:15:33
【问题描述】:

当我创建到 MongoDB 的连接时,我会执行以下操作:

mongoose.connect(uri, options).then(
  () => { console.log("Successfully connected to", uri },
  err => { console.log("Could not connect to database" }
);

在控制台上公开这些信息是否危险?有人试图侵入我的网站/数据库是否可以恶意使用它?如果是,如何?

【问题讨论】:

  • 您的数据库可以通过公共互联网访问吗‽ 那么您很可能已经被“黑客入侵”了……
  • 您是否启用了身份验证?
  • @WernfriedDomscheit - 无身份验证
  • 非常糟糕,在这种情况下你不应该公开它。使用身份验证保护数据库。

标签: mongodb security


【解决方案1】:

有人声称,如果系统关心传输、静止和处理中的信息的机密性、完整性和可访问性(所谓的 CIA 三元组),它就是安全的。因此,要判断一个系统是安全的还是不安全的——我们需要知道它处理的是什么信息。

如果您将敏感数据放入数据库并向公众公开,这是不安全的,因为没有提供机密性。

您可以争辩说,数据库只保存公共信息,保密性在这里不是问题。好的,那么完整性呢?每个人都可以更改数据库中的信息吗?可能您可以将信息设为只读,这将是解决完整性问题的一个很好的解决方法,否则系统被认为不安全。

最后一件事 - 可用性。将数据库公开给公众是一件不常见的事情。要处理的众多问题之一是拒绝服务 (DoS) 攻击。暴露的数据库增加了有人运行自制查询的风险,这些查询旨在给 CPU/内存/带宽带来很大的负载并导致中断。如果这不是问题,那么系统是安全的。

【讨论】:

    猜你喜欢
    • 2020-11-23
    相关资源
    最近更新 更多