Apache安全配置与管理全解析
1. 安全基础与权限设置
1.1 网站访问权限基础
网站访客的访问权限与运行服务器进程的用户ID相似,该用户ID应具备有限权限。合理配置后,此用户ID在机器上的操作范围会受到严格限制,保障系统安全的关键在于将该用户ID的访问权限控制在狭窄范围内。
需要注意的是,虽然非root用户可以启动Apache,但Apache进程无法切换到其他用户ID运行,也无法绑定低于1024的端口。这种情况在某些有限场景下可能有用,但对于公开可访问的系统并非理想选择。
1.2 文件权限设置
在Linux系统中,文件权限是安全的重要方面。若不谨慎设置关键文件的权限,普通用户可能会进行通常只有超级用户才能执行的更改。
为使Apache以非特权用户身份在80端口(或任何低于1024的端口)运行,用户必须从root用户启动它。假设这个非特权用户为webuser,它需要能够读取Web文档树,但通常不应有修改权限。为确保webuser能读取文档树,需将文档树中所有要提供服务的文件和目录设置为全局可读:
# chmod -R o+r为处理Web文档的用户创建一个组,例如webeditors。该组应与webuser所属组不同,因为它需要对文档树进行写入操作。为<htdocs>目录设置组粘滞位,可确保在该目录下创建的任何新文件