应使用filesmatch正则统一拦截备份文件后缀,配置require all denied,并配合禁用目录索引(options -indexes)、禁止点文件访问(require all denied)及保护.htaccess自身。

直接禁止通过 Web 访问配置备份文件(如 .conf.bak、.htaccess.save、httpd.conf.old 等)是 Apache 安全加固的关键一步。这类文件若被公开访问,可能泄露路径结构、认证方式、数据库凭证等敏感信息。
禁止匹配备份文件后缀的请求
在 Apache 主配置(httpd.conf 或 apache2.conf)或虚拟主机配置中,添加以下规则,阻止所有以常见备份后缀结尾的文件被下载:
-
不推荐用
<files></files>逐个写死后缀,应使用正则统一拦截 - 在全局或站点级
<directory></directory>块内加入:
<filesmatch><br> Require all denied<br></filesmatch>
该规则会拒绝任何 URL 路径末尾含上述后缀的请求,返回 403。注意:正则中的点(\.)需转义,$ 表示结尾,避免误伤正常文件名(如 app.backup.json 不会被匹配,除非你显式扩展规则)。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
禁用目录索引并限制隐藏文件访问
备份文件常放在网站根目录或子目录下,且名称以点开头(如 .htaccess.bak)。Apache 默认允许访问点文件,必须显式阻断:
- 关闭目录浏览,防止用户发现备份文件列表:
Options -Indexes - 禁止访问所有以点开头的文件(包括
.git、.env.bak等):<filesmatch><br> Require all denied<br></filesmatch>
确保 .htaccess 文件本身不被下载
Apache 默认禁止访问 .htaccess,但若配置有误或版本较老,仍可能暴露。保险起见,在主配置中强制保护:
<files><br> Require all denied<br></files>
同时确认服务器已启用 AccessFileName .htaccess(默认值),且未被注释或修改。
验证与部署要点
- 修改配置后,务必运行
apachectl configtest(或apache2ctl configtest)检查语法 - 测试用例建议:
— 访问https://yoursite.com/.htaccess.bak→ 应返回 403
— 访问https://yoursite.com/config.php.old→ 应返回 403
— 访问https://yoursite.com/normal.css→ 应正常返回 200 - 重启服务生效:
systemctl restart apache2(Debian/Ubuntu)或systemctl restart httpd(RHEL/CentOS)










