仅插入数据库访问是否提供任何额外的安全性

信息安全 访问控制 数据泄露 防御 建筑学
2021-08-27 01:49:11

有人担心,如果我们面向公众的 Web 节点受到威胁,攻击者将获得对我们所有数据的访问权限。碰巧的是,从外部用户输入的数据只需要由内部用户访问。

如果我们只给 Web 节点插入访问权限,并且只允许从面向内部的节点进行读/写访问,它是否提供任何额外的安全性?

一个相关的想法是使用消息传递将写入消息从 Web 节点传递到将处理所有 DB 修改的内部节点。

我的直觉告诉我,这些都可以减轻 Web 节点泄露时的数据泄漏。有什么我忽略的吗?

2个回答

简短的回答是“是”,它确实提供了一些额外的安全性,因为您使攻击者更难获得这些外部用户输入的信息。

长答案是,有针对性的攻击者可以:

  1. 使用受感染的网络节点将您的外部用户劫持到他的服务器或注入恶意软件,因为他可以访问您的页面源,因此在网络界面中可能几乎没有什么区别
  2. 使用受感染的 Web 节点捕获外部用户输入的未来数据,并将这些数据转发到他的服务器进行捕获,从而随着时间的推移复制部分数据库
  3. 随着时间的推移从 Web 节点遍历到内部网络,例如通过在数据库接口或您向 Web 节点公开的任何其他接口中发现的新安全漏洞

绝对地!但是,该术语将是仅插入用户您仍然会使用相同的数据库。

大多数数据库服务器内部都有访问控制的概念,它独立于操作系统的访问控制。

基本上,仅插入用户将仅具有INSERT特权,然后仅对应插入的特定表具有特权。

这将在很大程度上限制 SQLi 攻击的范围。

请参阅:单独的用户数据库有哪些安全优势?