我目前正在 Ubuntu 服务器 12 上设置 WordPress,一切运行良好,但在通过 WP 自动更新和上传媒体时出现问题,因为 Apache“www-data”用户没有写入目录的权限。“user1”拥有完全权限
我所有的目录都具有 0755 和文件 644 的权限
我的目录设置如下:
/home/user1/public_html
所有 WP 文件和目录都在“public_html”中
为了解决自动更新和上传媒体的问题,我已将 Apache 用户所有权授予以下目录
sudo chown www-data:www-data wp-content -R
sudo chown www-data:www-data wp-includes -R
sudo chown www-data:www-data wp-admin -R
我想知道安全方面的安全性如何,如果不安全,最好的解决方案是什么?
这将允许我保留 user1 拥有的所有文件和目录,并且仍然允许 wp 能够自动更新和上传媒体
我几乎可以肯定我之前已经回答过这个问题,但我找不到要链接的问题。
你不应该问如果你这样做 nnn 是否安全。安全性从来都不是二进制值,您几乎总是需要应用更详细的分析。你应该问的问题是做 nnn 比替代方案更安全或更不安全。
是的,更改文件的所有权以便 Apache 可以写入文件确实会增加出现问题的可能性,但这并不是唯一的因素。
如果您不更改所有权,一个更大的问题是您是否愿意努力保持网络应用程序的更新和修补。如果您没有工具或能力使其保持最新并仅使用 CLI 进行修补,那么这可能是一个更大的安全问题,那么由于更宽松的文件系统权限,您可能会遇到这些问题.
我没有链接/参考,但我相信我在某处读到很多东西都受到了损害,因为没有及时应用已知漏洞的补丁。OTOH,弱文件系统权限通常只会由于 Web 应用程序中的错误/问题而发挥作用。
理想情况下,如果您需要极强的偏执安全性,您将拥有极其锁定的权限和最新的应用程序,但如果我必须选择一个,我通常会尝试安装所有补丁。
您当然需要根据潜在风险做出明智的决定,并切实了解您将如何更新和维护系统。
在我看来,你是否可以认为这是安全的(不安全的),在很大程度上取决于你的用例、你的用户和你的环境。让我这样说吧:如果您打算为付费客户提供网络托管服务,而且恰好不是在封闭的基础设施中,也不是在令人难以置信的复杂WAF或IPS后面,您可能会认为这是不安全的。在这里,我不仅指的是可写目录,而且指的是使用 mod_php,您似乎正在这样做。再一次,如果你只是为你的朋友和家人建立一个小型的虚拟主机,预计每周会有十次点击并且真的没有时间,你可能会没事(但是我建议使用一些可用的共享主机,在这种情况下).
更安全的替代方案是在每个用户自己的用户权限下运行其 PHP 执行。最常见的例子是:
根据您的用户/环境/...,我建议您锁定您的盒子。在 FastCGI 场景中,您应该使用 chroot 并且可以使用 Linux 安全增强功能(例如1、2、3)进一步强化您的系统。
但再一次:你真的可以花很多时间在这上面。在将不安全的盒子放到野外之前,请考虑使用来自优秀托管商的共享托管环境,他们会为您做这件事。
编辑:删除了每个人都说“不好”的解决方案。
留下这个,每个人都选择忽略,因为他们无法阅读前五行:
这是我目前正在试验的替代方案:
这赋予所有者(someuser)和“其他用户”组的所有成员(“someuser”决定授予权限的任何人)读/写/执行权限。对文件执行 chmod 660。
因为你配置运行在mod_php下。您必须每 1 分钟通过 cron 更改一次用户。
但是,您必须针对您的问题配置在 suphp 下运行