【问题标题】:TLS/SSL - C# - how to execute queries against a remote sql server?TLS/SSL - C# - 如何对远程 sql 服务器执行查询?
【发布时间】:2015-11-16 15:55:57
【问题描述】:

我有一个 winforms C# 应用程序,它必须从远程 SQL Server 安全地发送和接收信息。目前,我刚刚使用内置类在我的机器上使用数据库对其进行了测试,例如SqlConnection。

我需要将我的程序连接到远程 SQL Server,对其执行查询。两台计算机都在我的组织的控制之下,尽管远程工作人员不在现场并且可能使用 3G 连接。

一个选项是使用 VPN 连接两台计算机,然后假设另一台计算机是可见的,就好像它在同一个网络上一样,然后我可以使用我的连接字符串,就像我到目前为止所做的那样,也许输入IP 地址。然而,IT 支持人员抱怨设置 VPN。

我听说过 TLS/SSL,但之前从未使用过。我可以用它直接向 SQL Server 发送 sql 查询吗?

【问题讨论】:

  • 只要您的数据库服务器对互联网开放,您就可以从任何地方连接到它。当然,其他人也可以。大多数 IT 人员更愿意限制对防火墙(或 VPN 隧道)内盒子的访问。
  • 我们每天都使用VPN 连接到我们的 Sql 和 Oracle 数据库,所以有什么问题和/或问题..您有知识渊博的NetWork 团队吗..?
  • 我们是一家小公司 - 2 个普通的 IT/服务器/网络人员和我(程序员)。他们正在谈论使用 DirectAccess,这看起来很有希望。

标签: c# sql-server ssl


【解决方案1】:

SQL Server 的 SSL 连接正在加密服务器套接字连接。使用 SQL Server,每次启动 SQL Server 时都会创建一个临时证书。在客户端,您让客户端接受任何证书,这样可以确保您的套接字是加密的(仍然对中间人攻击开放)。您还可以在 SSL 连接的两端使用您自己的签名证书。 DBA 进行了设置,除了可能设置您自己的证书和更改连接字符串之外,您没有什么特别的事情要做。

MSDN Using SSL Encryption

通常,数据中心(或主机-主机)通过私有局域网/VPN 隧道连接,该隧道也是加密的,在这种情况下,它将是第二层保护。如果您有 VPN,您可能会使用内置 SSL 证书的服务器。这为您节省了每年维护证书的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多