我是否通过在localhost上运行wcf服务获得任何额外的安全性?

时间:2017-09-29 18:54:47

标签: c# wcf iis

我继承了一个相对较低流量的Web应用程序,其中主网站可以在Intranet上访问,但是它从运行在同一服务器上的wcf服务获取数据,该服务器只能通过localhost访问。有人向我解释说,这种设计是作为一种安全措施实施的 - 主要是为了确保服务器外部的任何实体都无法访问我们的服务,从而确保我们的数据。但是,数据库通常位于不同的服务器上。

它已经好了一段时间,但我正在寻找提高性能的方法,似乎针对wcf服务运行查询并且必须序列化响应以进行传输等是浪费时间 - 我&# 39;我想直接从我的网络应用程序访问数据库。

这个当前的设计是否合乎逻辑?让我的网站直接访问数据库,以及加强应用程序和数据库之间的安全性,整体(安全性和性能)是否更好?

提前致谢。

生锈

1 个答案:

答案 0 :(得分:0)

我不确定我是否从你的描述中得到了全貌。但是,通常的做法是让Web应用程序从多个服务中消费内容,以形成最终用户的图形界面。随着SOA的发展,这允许快速集成以组合源(来自服务)和产生丰富的输出。这叫做Mashup

除此之外,这还增强了后端服务的安全性,因为它们只能由后端应用程序服务器访问,而不是直接从前端客户端访问

因此,从体系结构的角度来看,您的应用程序似乎正在尝试这样做。

将服务放在同一服务器上,并且仅由本地服务器(localhost)使用是一种选择,以防止在同一台机器上运行的应用程序服务器具有访问权限。这可能是由于缺乏对网络访问和网络分区的更好控制

您的数据库位于不同的服务器上,可能会有另一项措施来保护流量和访问权限

一般而言,安全性的实施需要预算,与任何其他功能性和非功能性要求一样。这通常与您所面临的风险以及信息的敏感性有关。安全性越早构建到整体架构中越好。

从Web应用程序访问数据库需要最佳实践来防范入侵和漏洞的许多风险。一般情况下,您的Web客户端不应直接访问数据库,并应始终使用服务器端服务和验证,无论是通过wcf还是其他方式