最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Apache DocumentRoot 配合安全基线如何配
时间:2026-09-02 08:34:48 编辑:袖梨 来源:一聚教程网
DocumentRoot 安全基线要求其路径独立最小化、禁止存放敏感文件、显式配置Directory块限制选项与访问、封堵根目录及上级路径、严格管控文件权限与属主。
DocumentRoot 是 Apache 的核心路径起点,安全基线不是额外插件,而是对这个起点及其周边配置的系统性约束。配得对, 根目录就稳;配错一点,可能整个站点暴露在风险中。
DocumentRoot 位置必须独立且最小化
不要放在系统根目录(如 /)、用户主目录(如 /home/www)或 Apache 安装目录(如 /usr/local/apache2/htdocs)下。推荐路径:
-
/var/www/example.com(Linux,权限归属www-data:www-data) -
C:/inetpub/wwwroot/example.com(Windows,ACL 明确仅授予 Apache 进程)
该目录只放运行所需文件:入口脚本(index.php)、静态资源(css/、js/)、必要配置模板。禁止存放日志、上传目录、备份包、数据库凭证文件。
Directory 块必须显式授权 + 严格限制
DocumentRoot 对应的 <Directory> 不是可选——它是安全基线的第一道门。示例配置:
<Directory "/var/www/example.com">Options -Indexes -ExecCGI -IncludesAllowOverride NoneRequire all granted<FilesMatch ".(htaccess|env|log|bak|swp|sql|yml|yaml|json)$">Require all denied</FilesMatch></Directory>
关键点:
-
Options -Indexes:关掉目录列表,避免暴露结构 -
AllowOverride None:禁用 .htaccess,防止运行时被覆盖规则 -
Require all granted:仅允许访问,不开放写入或执行权限 -
<FilesMatch>:精准拦截敏感后缀,比全局 deny 更可靠
配合基线禁止根目录和上级路径访问
Apache 默认配置中常含危险的根目录开放段,必须显式封堵:
<Directory "/">AllowOverride noneRequire all denied</Directory>
再检查是否存在类似 Alias / .. 或 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 未加锁的配置。所有非 DocumentRoot 下的映射(如 Alias、ScriptAlias)都需单独配 <Directory>,且 Require all denied 为默认策略,只对明确路径放开。
权限与属主必须符合最小原则
操作系统层权限同样属于基线范畴:
- DocumentRoot 目录权限设为
750(Linux),组为www-data,仅 Apache 用户可读+执行 - 所有 PHP/HTML 文件权限为
640,配置文件(如.env)设为600 - 禁止 Apache 用户拥有 shell 登录权限(
/sbin/nologin) - 上传目录(即使通过 Alias 挂载)绝不能放在 DocumentRoot 内,且其
<Directory>中必须加php_flag engine off或禁用解析
不复杂但容易忽略
相关文章
- 易信开通指南 09-02
- 阿里云安装宝塔7.02指南 09-02
- 孕前饮食营养保健指南 09-02
- TPLink TLH69RD 无线路由器管控网络权限设置 09-02
- TPLink TLH69RD 无线路由器映射服务器到外网教程 09-02
- TPLink TLH28RD 无线路由器添加扩展器操作流程 09-02