我打算制作一个硬编码的VB.Net应用程序,以访问在Web服务器上远程托管的MS SQL数据库。有没有办法在客户端PC上使用某些数据包嗅探(我认为它被称为)程序以某种方式知道用于访问数据库的密码?我不需要知道它是如何完成的,我只需要知道是否可以这样做,以便我知道我的方法是否足够安全。
谢谢!
答案 0 :(得分:1)
如果您只关心保护登录到数据库,那么根据this MSDN article,您就可以了:
客户端应用程序连接到SQL Server时传输的凭据(在登录数据包中)始终是加密的。
但如果您还关心保护数据,那么您应该阅读上述MSDN链接的其余部分,了解如何启用SSL以保护其余数据流。
另请注意this older article,它提醒您使用ODBC连接(而不是本机tyep)。我怀疑你会这样做,但我只是想提到它。
答案 1 :(得分:0)
从客户端计算机上,您的数据库信息不太可能被嗅探。但是,如果您的应用程序“泄漏”信息,则局外人可能会获得有关您的数据库的敏感信息。例如,如果您将CustomErrors参数设置为“Off”,并且您的数据库因任何原因无法访问,则用户可能会看到您的数据库地址,然后可以使用暴力破解或已知漏洞攻击它。还有其他方法可以泄漏敏感信息,这只是一个例子。
一般情况下,将数据库打开到互联网并不理想 - 通常建议您的数据库在一个(或两个DMZ)防火墙后面。如果你可以控制它,你应该把它移到更安全的地方。或者即使没有你的应用程序泄露其地址,端口扫描“战争拨号器”最终会找到它并警告“坏人”它的存在。