Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 连接到防火墙后面的MSSQL服务器_Asp.net_Sql Server_Firewall - Fatal编程技术网

Asp.net 连接到防火墙后面的MSSQL服务器

Asp.net 连接到防火墙后面的MSSQL服务器,asp.net,sql-server,firewall,Asp.net,Sql Server,Firewall,所以,我在一家跨国公司工作,他们的防火墙/安全政策基本上是“没有漏洞”。i、 e.任何不必要的东西都被锁在外面。我不能ssh out/in、telnet out/in等。我们正在尝试构建一个允许在异地输入时间表的应用程序,但本质上,该程序需要从任何地方连接到MSSQL数据库,而且由于我无法让它打开防火墙端口,我的选项似乎受到严重限制 应用程序数据库还保存了许多其他敏感的内部数据,因此在外部托管它并不是一个切实可行的选择 目前我真的没有主意了。我在想也许一个隧道或代理选项是可行的,但我不是网络方面

所以,我在一家跨国公司工作,他们的防火墙/安全政策基本上是“没有漏洞”。i、 e.任何不必要的东西都被锁在外面。我不能ssh out/in、telnet out/in等。我们正在尝试构建一个允许在异地输入时间表的应用程序,但本质上,该程序需要从任何地方连接到MSSQL数据库,而且由于我无法让它打开防火墙端口,我的选项似乎受到严重限制

应用程序数据库还保存了许多其他敏感的内部数据,因此在外部托管它并不是一个切实可行的选择

目前我真的没有主意了。我在想也许一个隧道或代理选项是可行的,但我不是网络方面的专家,所以如果这是一个可行的解决方案,如果有人能告诉我一些进一步的信息,那就太好了


除此之外,我们将非常感谢您提出的任何其他关于访问数据库的建议。

SSL上的restfulweb服务。您可以使用X509客户端证书来提高安全性和/或限制服务响应的IP地址


第二种选择是智能客户端,它将脱机工作,然后在用户进入办公室时进行同步

只是一个建议:也许你可以托管一个web服务,从你的应用程序中获取/插入数据到数据库中。但是,是否可以让web服务在正在使用的端口上侦听(如80或25)?否则它将无法工作…只要在同一IP上没有其他内容在该端口上侦听,就可以了。不过,您可能希望使用443并使用SSL,而不仅仅是HTTP。为什么防火墙之外的用户需要访问数据库?假设您的应用程序是一个web应用程序(如果不是,几乎肯定应该是),那么用户只与web应用程序交互,并且它使用内部连接连接到数据库。因此,数据库永远不会直接从外部访问。但话说回来,安全性并不容易,所以你可能需要一个顾问或内部安全团队来审查你的设计。