我总是这样做:
- chown apache2:apache2 /var/www/ -vR
- chmod 555 /var/www/ -vR
- chmod 755 /var/www/a/special/dir/which/needs/write/permissions/ -vR
- 或者不是 2, 3 只是将权限设置为 755
最近才知道把apache设置为用户是不安全的,怎么会呢?还有哪些选择?
提高网络服务器(apache)安全性的其他良好做法是什么?
我总是这样做:
最近才知道把apache设置为用户是不安全的,怎么会呢?还有哪些选择?
提高网络服务器(apache)安全性的其他良好做法是什么?
如果 Apache 用户也是目录/文件的所有者,那么在出现任何漏洞(甚至您的 Web 应用程序中的错误)的情况下,攻击者将能够删除、更改权限并对您的文件进行任何操作。
正确的方法是将所有权设置为 root(或您的用户名),并仅授予 Apache 组读取文件的权限。就像是:
在apache需要写入的目录中,给570权限即可。
这样,系统中没有其他用户可以访问您的 Web 文件(包括 mysql 密码等),Apache 本身也无法删除它们。
您可能还想调查
chroot
您的网络服务器。更好的是,在自己的虚拟机中运行每个应用程序,并使用自己的 apache 和其他东西。这样,即使受到攻击,唯一易受攻击的机器就是虚拟机。但是,当您谈论 apache 安全性时,您应该更具体地说明您有兴趣防范什么样的攻击。