mbu*_*asu 1 apache-2.4 ubuntu-16.04
在 Apache 网络服务器中,我有用户www-data
,并且其中的所有文件/var/www
都归www-data
. 不是为了安全吗?有时我需要通过 FTP 将文件上传到/var/www/*
,但是对于我自己的用户,我没有写入权限。
假设我使用 WordPress,它推荐644
文件和755
文件夹的权限。安全地执行此操作的最佳方法是什么?我仍然需要能够通过 FTP 上传文件。
而在 /var/www 中处理 Apache 2 用户 www-data 权限的最佳方法是什么?很好地讨论了许可问题,它已经有将近 9 年的历史了,并且没有遵循当前的最佳实践。我将回答这个问题:安全地执行此操作的最佳方法是什么?
每个站点都有单独的用户,即不要使用www-data
. 这很重要,因为对于您的 WordPress(或任何其他 CMS),您的 Apache 不提供静态内容文件,而是运行 PHP。如果您在单个站点上遇到安全问题,它可能会蔓延到以同一用户身份运行的每个站点。
通过FTP上传文件并不安全,因为它以纯文本形式发送密码和内容。例如,您托管的 WordPress 在wp-config.php
. 您应该改用SSH 文件传输协议(SFTP)。
通过这种方式,您还可以将站点管理员的公钥添加到~/.ssh/uthorized_keys
,使他们无需知道运行站点的用户的密码。(请参阅如何在 Ubuntu 16.04 上设置 SSH 密钥)。个人公共 SSH 密钥可以跨多个站点使用,以便轻松快速地访问,减少拥有多个帐户的额外负担。
使用 PHP-FPM。这是当前以用户身份运行 PHP 的方法。为每个用户创建一个新池,即每个站点一个池。这对安全性和性能都是最好的,因为您还可以指定单个站点可以消耗多少资源。
参见例如 NeverEndingSecurity's Run php-fpm with separate user/uid and group on linux。有一些教程,例如 HowtoForge在 Ubuntu 16.04 上使用 PHP-FPM 和 Apache,它不使用 PHP-FPM 通过用户分离来提高安全性,指导在整个服务器上使用单个 FPM 套接字。
归档时间: |
|
查看次数: |
341 次 |
最近记录: |