2011-03-24 58 views
3

什么是保护SQL查询的一些有效且安全的方法?保护SQL查询,确保没有人知道密码

总之,我想确保程序员不会看到应用程序用来执行查询的密码。想起了RSA或PGP之类的东西,但不知道如何在不在应用程序中编码的情况下实现更改密码。

我们的环境是一个典型的Linux/MySQL。

回答

0

如果程序员无法访问包含登录凭证的配置文件,并且无法通过调试或JMX接口访问它们,那么应该可以工作。当然,这会引入其他问题,但这可能会满足您的要求。 (我不是合格的安全评估员 - 请检查您的PCI符合性。)

1

这可能更多是一个流程问题,而不是一个编码问题。

在软件开发过程中,您需要严格分离实施流程和推出流程。包含密码的配置文件必须在转出期间填入真实密码,而不是之前。程序员可以使用开发环境的密码,并且推出团队在应用程序完成后更改这些密码。这样真正的密码永远不会泄漏给编码应用程序的人。

如果您不能确保程序员无法访问实时系统,则需要加密配置文件。做到这一点的最好方法取决于编程语言。我目前正在开发一个Java应用程序,该应用程序使用ESAPI project的相应功能加密.properties文件,我可以推荐。如果您使用其他语言,则必须找到等效的机制。

任何时候如果您想要更改密码,管理员都会在将文件复制到服务器之前生成一个新文件并对其进行加密。如果您想最大的安全性,并且不希望存储的密钥来解密您的系统,当系统重新启动管理员可以提供它的配置

。但是这可能会花费太多,取决于您的需求。