如何安全地存储sql文件apache服务器

时间:2013-08-01 20:39:29

标签: php apache security

所以,我正在编写一个php脚本,它将与一个cron作业绑定,该作业将定期备份我站点的数据库。数据库将每天保存到一个新的sql文件,只是在实时版本中发生任何不幸的事情。我知道有人能够获得其中一个文件,暴露数据库结构和用户电子邮件地址(密码是加密的)会有多糟糕。

我并不是非常擅长安全,这是你第一次做对的事情之一。我不会骄傲地承认什么时候最好寻求帮助,所以我想我会向可靠的Stack Overflow社区询问。 (我意识到在某个地方可能存在类似的问题,但我一直无法找到它)。

我需要采取哪些步骤来确保无法访问这些文件?注意,它是一个Apache服务器。是否足以将它们存储在根目录之外的目录中,该目录仅限于组读/写(无公共读取)?或者是否需要密码保护目录甚至加密实际文件?我真的不愿意,如果我不必(加密文件),它会让使用它们变得更加痛苦,但是如果它需要的话......

同样相关,对这些文件的访问不会内置到应用程序界面中。我不需要或希望通过http请求访问它们。仅限FTP。所以我的问题不是关于UI的任何密码保护。

非常感谢您的时间!

1 个答案:

答案 0 :(得分:0)

在服务器上存储

如果必须,请将它们存储在网络根目录之外,并使用rsync之类的内容下载ssh

最佳选择(假设您正在运行MySQL)

不要将它们存储在服务器上,而是在本地计算机上运行cron并使用sshMySQL转储到本地系统。这样就没有人可以拥有的包含所有数据的不祥文件(除非您的本地网络受到损害)。

另一个选项(再次使用MySQL的另一个例子)

您也可以通过设置本地MySQL服务器来查看使用本地计算机执行database replication