使用Web服务公开.NET DAL是否会增加安全性?

目前,我的雇主通过3台服务器部署Web应用程序.

> DB – 没有公共路线
>网络服务DAL – 没有公共路线
> Web服务器 – 公共路线

其原因在于,如果Web服务器受到攻击,它们不会直接到达DB,而是到达DAL框.

在我看来,作为DAL框和Web Sever框 – 都运行Windows / IIS – 如果公共框已经被破坏,相同的漏洞可能会在DAL框上运行 – 因此我不认为这是真正的安全性好处.

我想建议我们删除中间机器并允许Web服务器直接连接到数据库.

这个中间盒真的有益吗?

解决方法

Web UI和数据库间的Web服务层的安全性好处至多是最小的.即使使用slugster建议的网络基础结构,您的攻击者也无法从他/她的计算机访问Web服务.考虑到这样的妥协很可能也会给攻击者某种形式的远程访问Web服务器本身,您的网络级访问限制完全没用.您可能设法阻止某些形式的附加,但如果某人有兴趣访问该框,一旦他们获得该框,您的网络上就没有任何东西可以区分攻击者和合法用户.

更糟糕的是,您需要维护额外的代码层以支持这个额外的层,这意味着您将有更多的错误,并且创建新功能需要更长的时间.

一种方法是利用人们在架构环境中讨论CQRS所描述的一些技术.特别是在this presentation by Udi Dahan中,他指出建议将您的数据库放在Web服务器上,并且只存储您需要支持该网站的数据.其他数据(业务数据)存储在其他位置的单独数据库中.您还可以使用Nosql数据库(如MongoDB或RavendB)作为演示数据,并完全放弃关系数据库.

有很多选项,其中一些甚至可以为您提供您认为使用当前架构获得的安全级别.为这些决策提供一些批判性思维总是一个好主意,我发现你提出这些问题是令人鼓舞的.

祝好运.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些