保护 /var/www

保护 /var/www

我总是这样做:

  1. chown apache2:apache2 /var/www/-vR
  2. chmod 555 /var/www/-vR
  3. chmod 755 /var/www/a/special/dir/which/needs/write/permissions/ -vR
  4. 或者,除了 2、3,只需将权限设置为 755

最近我发现将 apache 设置为用户并不安全,这是为什么呢?还有什么其他选择吗?

还有哪些其他好的做法可以提高网络服务器(apache)的安全性?

答案1

您可能还想调查chroot您的网络服务器。更好的方法是,在自己的虚拟机中运行每个应用程序,使用自己的 apache 和其他东西。这样,即使受到攻击,唯一易受攻击的机器也是 VM 机器。

然而,当您谈论 Apache 安全性时,您应该更具体地说明您想要防范哪种攻击。

答案2

如果 Apache 用户也是目录/文件的所有者,那么一旦出现任何漏洞(甚至是您的 Web 应用程序中的错误),攻击者将能够删除、更改权限并对您的文件执行任何操作。

正确的方法是将所有权设置为 root(或您的用户名),并仅授予 Apache 组读取文件的权限。例如:

# chown -R root:apache2 /var/www
# chmod -R 550 /var/www

在apache需要写入的目录中,只需赋予570权限即可。

这样,系统中的其他用户就无法访问您的 Web 文件(包括 mysql 密码等),Apache 本身也无法删除它们。

相关内容