有人担心,如果我们面向公众的 Web 节点受到威胁,攻击者将获得对我们所有数据的访问权限。碰巧的是,从外部用户输入的数据只需要由内部用户访问。
如果我们只给 Web 节点插入访问权限,并且只允许从面向内部的节点进行读/写访问,它是否提供任何额外的安全性?
一个相关的想法是使用消息传递将写入消息从 Web 节点传递到将处理所有 DB 修改的内部节点。
我的直觉告诉我,这些都可以减轻 Web 节点泄露时的数据泄漏。有什么我忽略的吗?
有人担心,如果我们面向公众的 Web 节点受到威胁,攻击者将获得对我们所有数据的访问权限。碰巧的是,从外部用户输入的数据只需要由内部用户访问。
如果我们只给 Web 节点插入访问权限,并且只允许从面向内部的节点进行读/写访问,它是否提供任何额外的安全性?
一个相关的想法是使用消息传递将写入消息从 Web 节点传递到将处理所有 DB 修改的内部节点。
我的直觉告诉我,这些都可以减轻 Web 节点泄露时的数据泄漏。有什么我忽略的吗?
简短的回答是“是”,它确实提供了一些额外的安全性,因为您使攻击者更难获得这些外部用户输入的信息。
长答案是,有针对性的攻击者可以:
绝对地!但是,该术语将是仅插入用户。您仍然会使用相同的数据库。
大多数数据库服务器内部都有访问控制的概念,它独立于操作系统的访问控制。
基本上,仅插入用户将仅具有INSERT特权,然后仅对应插入的特定表具有特权。
这将在很大程度上限制 SQLi 攻击的范围。
请参阅:单独的用户数据库有哪些安全优势?