与 MS-SQL Server 的加密连接真的安全吗?

信息安全 加密 sql服务器
2021-09-08 13:07:34

快速介绍:小公司,资源非常有限。我几乎什么都做,包括咖啡。我是程序员,不是安全人员。这就是为什么我问你...

我们的服务器上运行着一个 MS-SQL 2008 数据库和几个 C# 应用程序,它们使用这样的连接字符串直接连接到数据库

"Server=example.org; Database=SomeDatabase; User Id=dbUser; password=**secret**; Encrypt=YES"

应用程序不在服务器上运行,因此数据库实例面向外部世界。此设置运行良好,但我有一些担忧。

1) 究竟是Encrypt=YES什么意思?整个连接(包括登录等)是否安全(假设没有人接触到连接字符串)?还是我应该有严重的担忧?这些问题是什么(赞赏的关键字)?

2) 分配连接字符串的好策略是什么?

解释第二个问题:直接连接很舒服。与将所有对数据库的调用包装到另一个更安全的通道相比,可以更容易地替换连接字符串的分布......

1个回答

到 SQL Server 的“加密连接”使用 SSL这是你能得到的最好的。但请记住,SSL 仅保护连接,即在客户端和 SQL Server 之间传输的数据。它对数据如何存储在服务器上没有任何作用。它也没有将连接的客户端相互隔离;这部分完全取决于 SQL Server。

在“连接字符串”中,密码当然是敏感部分。每个客户端都应该有自己的用户帐户和密码,以便在一个密码被泄露的情况下(不幸的是,从长远来看,这很可能发生),您可以重置该特定密码,而不会影响其他用户。对于密码分发,请勿将其以明文形式通过 Internet 发送!这意味着:没有电子邮件;如果像 Web 一样完成,请使用 HTTPS,而不是 HTTP。在某些情况下,通过电话交换密码可能是合理的。