来自DMZ中Web服务器的ASP.Net提供程序
-
03-07-2019 - |
题
我们有一个内部网asp.net Web应用程序,它使用OOTB ASP.net成员资格和角色提供程序。
现在我们计划通过将Web服务器移动到DMZ来将应用程序公开到Internet,如下面(糟糕的)文本图所示
External Internal internet --- Firewall --- Web server --- Firewall --- App Server --- Database DMZ Intranet
现在的问题是,由于内部防火墙,Web服务器上的asp.net成员资格和角色提供程序无法连接到sql server。
你以前遇到过这种情况吗?您是否会建议在内部防火墙中打开端口,以便Web服务器可以直接连接到SQL服务器?我还有什么其他选择(除了自己拧一个自定义提供商)?
解决方案
更改DMZ政策并打开端口通常非常困难。您可以更好地完成我的工作:在网络中公开WCF服务,并通过端口80上的HTTP与之通信。
与局域网人员零摩擦,我只是模仿.NET给我们的同样精确(虽然糟糕)的API:)
编辑:澄清一下,这意味着我有一个配置如下的RemoteRoleProvider:
<roleManager enabled="true" defaultProvider="RemoteRoleProvider">
<providers>
<add name="RemoteRoleProvider" type="MyCorp.RemoteRoleProvider, MyCorp" serviceUrl="http://some_internal_url/RoleProviderService.svc" />
</providers>
</roleManager>
其他提示
我们在DMZ中有几个面向互联网的Web服务器,并且必须在我们的防火墙中打开隧道,回到我们需要与之交互的专用网络中的SQL服务器。我认为我们使用了端口1433以外的东西进行SQL连接。到目前为止,它运作良好,即没有安全漏洞。
不隶属于 StackOverflow