我正在开发一个必须连接到 MySQL 数据库和 FTP 的 VB.NET 应用程序。如果我在提供给其他人的应用程序中使用它有多安全。例如,如果我让其他人使用这个应用程序,他们是否能够通过拦截数据包或类似的方式找出 MySQL 和 FTP 连接的详细信息?
如果是这种情况,我该如何解决这个问题?此外,我的应用程序的一部分是供用户上传文件的上传器,FTP 是否安全,或者有更好的替代方法吗?如果这有什么不同的话,我的服务器是 Windows Server 08。
提前致谢。
这取决于,但根据Accessing SQL Server with Explicit Credentials文章,它也适用于 MySql:
推荐的方法是将预定的用户名和密码存储在服务器上,然后在运行时读取并添加到连接字符串中。这种技术的一个优点是您的应用程序可以在不同的情况下使用不同的凭据访问数据库,具体取决于它需要在数据库中执行的操作。
安全说明 切勿将凭据作为字符串硬编码到应用程序的程序中。任何可以访问代码文件的人,甚至是编译后的代码,都可以获取凭证。
安全说明 始终为预先确定的用户名授予对资源的最低访问权限。切勿使用“sa”或任何其他管理级别的用户名。始终使用密码
FTP是明文。仅通过数据包嗅探就可以很容易地获取用户名和密码。如果 ftp 应该是安全的,请查看 sftp 或 ftps 解决方案。这些在网络层使用 SSL 类型加密。永远不要将 ftp 服务器用于敏感信息。
MySQL 流量也可以被嗅探,尽管对协议进行逆向工程要困难得多。如果数据必须以安全的方式在客户端和 mysql 之间流动,您可以将 mysql 配置为使用 SSL 证书来加密信息。这将确保安全性达到最高标准。