2017-09-13 131 views
0

通常,应用程序和它们的配置位于同一台机器中,当有人攻击该机器时,可以访问配置文件并访问数据库,尽管(通过位于该配置文件上的数据库用户名和密码) 。如果我们散布配置文件信息然后使用该文件而不是纯文本文件呢?有没有更好的主意?假设我不想使用任何云底,只有一台机器。散列/加密配置文件信息

回答

0

散列函数是单向函数。一旦你散列了一个配置文件,你将无法对应用程序进行“散列”处理。加密可能是大多数人使用的,但即使如此,仍然可能容易受到逆向工程的影响。

2

散列是一个one-way process - 最常用于验证信息没有被篡改。所以哈希你的配置文件给你一个基本上没有意义的字符串,你不能用它建立数据库连接。当然,你可以对配置文件进行加密,但是你也有同样的问题 - 理论上攻击者可以检索到解密密钥,并计算出如何解密配置;他们甚至可以通过检查服务器进程的内存来找出运行时间。

重要的是,访问Web服务器的攻击者几乎不可能停下来 - 他们可能会访问所有进出服务器的流量,他们可以读取服务器上的所有文件(或至少是Web应用程序用户可以读取的),他们可能能够在服务器上执行任意代码。防止这种可能性不是最好的利用你的时间 - 这就像在前门不安全的情况下投资卧室锁。更好地修复前门。

这个问题的最佳解决方案是让那些构建你正在使用的任何web语言/框架的人解决它。您不指定语言/框架,但请阅读工具集的安全指南并实施建议。另请参阅OWASP准则。