使用 Truecrypt 来保护 mySQL 数据库,有什么缺陷吗?

使用 Truecrypt 来保护 mySQL 数据库,有什么缺陷吗?

目的是保护我的数据库数据免遭服务器盗窃,即服务器位于具有正常场所锁和防盗警报的商务办公地点,但由于数据是个人医疗数据,我想确保如果服务器被盗,数据将无法以加密形式使用。

我正在探索在已安装的 Truecrypt 加密卷上安装 mySQL。一切正常,但当我关闭电源或粗暴地拔掉电源插头时,加密驱动器就会消失。

这似乎比将数据加密到数据库要容易得多,而且我理解如果 Web 应用程序中存在安全漏洞,或者用户可以物理访问插入的服务器,数据就会受到损害,但作为健全性检查,有什么好的理由不这样做吗?

@James 我在考虑盗窃场景,它不会很好地关闭,因此可能会导致任何正在运行的数据库事务崩溃。但如果有人偷了服务器,我无论如何都需要依赖我的异地备份。

@tomjedrz,它涉及所有敏感信息,包括与医疗转诊/记录相关的个人和地址详细信息。在我们的领域,这和丢失信用卡数据一样糟糕,但这意味着数据库中的几乎所有内容都需要加密……因此,最好在加密分区中运行整个数据库。如果加密表中的数据,我猜想服务器上的某个地方一定有一个密钥,如果盒子走失,这似乎更危险。

目前,该应用程序配置为将数据转储(每周一次,然后每小时一次使用 rdiff 仅转储增量)放入 Truecrypt 磁盘上的目录中。我有一个运行 WS_FTP Pro 的异地机箱,计划通过 FTP 连接并同步备份,再次进入 Truecrypt 安装的分区。

答案1

自从他们添加 Truecrypt 全盘加密功能以来,我们一直在使用此功能保护的卷上运行 mySQL。在此之前,我们将数据保存在由 TC 加密的单独卷上。它在同一台机器上运行了 6 年多,并且非常稳定,能够承受断电、RAID 降级(带 RAID 1 的硬件控制器)和硬件故障等情况。对我们来说,性能影响可以忽略不计(有些人甚至会争辩TrueCrypt 加密的磁盘性能更好,但我不会走那么远),无论是在加密的笔记本电脑还是服务器中。

从我们的角度来看(我们也从事医疗保健行业),最重要的是磁盘加密只是我们武器库中的一层安全措施,但如果物理安全受到威胁,它可能是重要的一层。当然,在很多情况下,数据可能会从使用加密驱动器的运行系统中被盗,但它可以减轻因简单盗窃而导致数据丢失的威胁,而这种风险比您仍想减轻的许多其他风险更有可能发生。出于这个原因,我们对所有服务器进行加密——Windows 的 TrueCrypt、GNU/Linux 的加密 LVM。

答案2

我喜欢 TrueCrypt,但我没有看到多少减少的风险,而且由于钥匙错误和可能的更新问题, 和性能下降

整个驱动器加密可以减轻的唯一风险是驱动器或计算机丢失时的数据丢失。在我看来,这种风险只有在计算机移动时才会显著。如果物理和系统安全性良好,那么在我看来,加密存储数据库的驱动器对您来说没什么好处。

如果可能的话,我会在数据库中对敏感信息实施加密,这样如果有人能够破解该盒子或远程访问数据,他们就会倒霉了。

答案3

我知道 SQL Server 不会关闭与数据库文件的连接,直到数据库关闭。这会导致时间戳不更新,因此如果不停止服务,SQL Server 就无法有效备份。我知道这不是你要问的,但我知道会发生这种情况。由于同样的问题,我猜如果你突然断开卷连接,损坏的可能性很高,所以我不建议这样做 - 只要你有时间在卸载之前停止服务,从 TrueCrypt 卷运行它应该没问题。

相关内容