为什么C / S没有关于数据库连接的安全性?

时间:2011-12-06 01:10:38

标签: database-design architecture client-server

我开发了将文件发送到FTP服务器并同时从客户端应用程序更新数据库的应用程序。 当客户听到这样的配置时,由于安全性,他不允许我配置(他这么说)。

这就是为什么他建议将文件放在ftp服务器上后,ftp服务器更新数据库上存在另一个应用程序,因为文件是触发器。

在这种情况下,通过客户端应用程序更新数据库是不安全的? 谁能为我展示一些例子?

和....还有一件事,,,使用文件作为触发器不方便。 因此,如果我使用Web应用程序(它称为Web服务???只提供客户端的URL来执行更新数据库的服务。)而不是ftp服务器上的文件作为触发器。 像这样的配置还可以保持安全吗?

2 个答案:

答案 0 :(得分:2)

如果不使用安全套接字层,则没有客户端/服务器连接是安全的。

  • 使用SFTP或SCP传输文件。
  • 使用HTTPS调用Web服务,并对请求进行身份验证。
  • 将客户端应用程序连接到本地端口转发SSH隧道到数据库服务器。

答案 1 :(得分:2)

客户端应用程序直接更新数据库的潜在危险是它需要客户端可以使用数据库登录凭据。根据定义将它们提供给客户端也使这些凭证可供客户端运行的机器的所有者使用。如果我是恶意攻击者,我可以:

  • ...通过反向设计客户端软件或观察网络流量来确定您的数据库凭据,
  • ...使用这些凭据连接到您的数据库,
  • ...在您的数据库上执行允许客户帐户执行的任何命令。

如果服务器更新数据库,则无需发出数据库凭据,并且可以确保仅在文件实际成功传输时更新数据库,而不是“虚假地”(无故)