【发布时间】:2013-12-23 15:52:55
【问题描述】:
所以,我一直在阅读有关桌面应用程序和数据库服务器的安全性。以前,当我构建链接到数据库的应用程序时,我采取了简单的方法,直接将硬编码的连接字符串直接存储在源代码中。自从二进制文件没有分发给第三方以来,这一直有效。但是,现在我正在处理一个项目,其二进制文件绑定给第三方使用,在这种情况下,与服务器的通信成为我需要处理的安全问题。
由于优先考虑的是没有从客户端机器直接连接到远程数据库,我知道服务器/客户端数据库服务是一个不错的选择。在这种情况下,客户端机器使用 TCP 向服务器发送请求,然后服务器使用存储过程处理请求并相应地响应客户端。
我的问题是:
我。这种设置是可取的,还是我不知道的其他设置更适合我正在从事的项目?
二。如何确保这样的连接?我可以使用 OpenSSL 生成的安全证书轻松设置与服务器的 SSL 连接,但是我不确定这是否是保护桌面应用程序连接的正确方法,或者此方法是否主要用于 HTTPS。并且通常应该在何时保护连接(是否存在无关紧要的情况,例如,如果我所做的只是来回发送布尔值?)?任何讨论这些问题的好资源?例如,我在我的 Windows PC 上安装了很多联网的应用程序,但我看不到其中有很多应用程序在我的 PC 上安装了安全证书。什么给了?
完全披露:我是一名 C++(业余爱好者)程序员,我使用 Boost 库来满足我的网络编程需求,并使用 OpenSSL 来满足我的 SSL 加密。但是,我希望可以在不过多关注这些事实的情况下回答这个问题:)
【问题讨论】:
标签: database security ssl tcp connection