所以,我正在编写一个php脚本,它将与一个cron作业绑定,该作业将定期备份我站点的数据库。数据库将每天保存到一个新的sql文件,只是在实时版本中发生任何不幸的事情。我知道有人能够获得其中一个文件,暴露数据库结构和用户电子邮件地址(密码是加密的)会有多糟糕。
我并不是非常擅长安全,这是你第一次做对的事情之一。我不会骄傲地承认什么时候最好寻求帮助,所以我想我会向可靠的Stack Overflow社区询问。 (我意识到在某个地方可能存在类似的问题,但我一直无法找到它)。
我需要采取哪些步骤来确保无法访问这些文件?注意,它是一个Apache服务器。是否足以将它们存储在根目录之外的目录中,该目录仅限于组读/写(无公共读取)?或者是否需要密码保护目录甚至加密实际文件?我真的不愿意,如果我不必(加密文件),它会让使用它们变得更加痛苦,但是如果它需要的话......
同样相关,对这些文件的访问不会内置到应用程序界面中。我不需要或希望通过http请求访问它们。仅限FTP。所以我的问题不是关于UI的任何密码保护。
非常感谢您的时间!
答案 0 :(得分:0)
在服务器上存储
如果必须,请将它们存储在网络根目录之外,并使用rsync
之类的内容下载ssh
。
最佳选择(假设您正在运行MySQL)
不要将它们存储在服务器上,而是在本地计算机上运行cron并使用ssh
和MySQL
转储到本地系统。这样就没有人可以拥有的包含所有数据的不祥文件(除非您的本地网络受到损害)。
另一个选项(再次使用MySQL的另一个例子)
您也可以通过设置本地MySQL服务器来查看使用本地计算机执行database replication。