我正在制作一个 Web 应用程序,我希望它是安全的,所以我将使用 SSL 并且会散列密码。但我的服务器由另一家公司管理,它是一个共享托管服务器,他们可以直接访问数据库。我想防止任何可能的敏感信息丢失,所以我正在考虑加密数据库中的所有数据。
这是保持数据安全的好方法吗?还有其他方法可以保护数据库中的数据吗?
我正在使用 PHP、MYSQL、Apache 和 Linux
请提供详细信息。如果我想错了方向,也请告诉我。
提前致谢
互联网由一些使用自托管解决方案和完全个人服务器(在他们自己的 NOC 中拥有和运营)的网站/网络应用程序组成。
其他所有人都在使用某种形式的共享、虚拟化、半私有、半专用、并置托管。在每种情况下,托管公司都可以完全访问所有内容,他们可以物理访问服务器 - 没有任何保护可以帮助您。
从托管公司的角度来看,共享托管可能是最容易访问的。但这无关紧要,他们的政策应该防止他们恶意操作,因为如果他们不这样做,它是最容易访问还是最难访问并不重要,只有你拥有的数据对他们来说有多有趣才重要(或他们的一些随机雇员)。
一些方法可能会使用:
另一方面,如果您的 PHP 文件位于同一台服务器上,并且数据库解密密码将存储在您的 PHP 文件中,那么任何“入侵者”都可以找到它并在需要时使用它。
您必须将密码存储在不同的服务器上或从用户那里获取它,以免它出现在本地 PHP 文件中。这显然在运行时仍然可用;如果“入侵者”是程序员,他将能够相当容易地检索到它。