apache基础安全加固核心是“关掉不该开的、锁住不该访的、藏起不该露的”:一、设servertokens prod和serversignature off隐藏服务器信息;二、用禁用非必要http方法并加traceenable off;三、根目录禁用indexes和followsymlinks,敏感路径限ip;四、禁用autoindex等危险模块,全局allowoverride none。

Apache 基础配置安全加固,核心在于“关掉不该开的、锁住不该访的、藏起不该露的”。不依赖复杂工具,仅靠主配置文件(httpd.conf 或 apache2.conf)几处关键修改,就能显著提升初始防御水位。
隐藏服务器身份与错误信息
默认情况下,Apache 会在响应头中返回类似 Server: Apache/2.4.52 (Ubuntu) OpenSSL/3.0.2 的完整标识,并在 404、500 等错误页底部显示服务器签名。这些信息直接帮攻击者锁定可利用漏洞版本。
- 将
ServerTokens设为 Prod:只显示Server: Apache,不带版本、系统或模块名 - 将
ServerSignature设为 Off:彻底禁用错误页底部的服务器信息行 - 重启服务生效:
sudo systemctl restart apache2(Debian/Ubuntu)或sudo systemctl restart httpd(RHEL/CentOS)
禁用非必要 HTTP 方法
绝大多数网站只需 GET、POST 和 HEAD。PUT、DELETE、TRACE、OPTIONS 等方法若未业务所需,就是潜在入口——可能被用于上传 Webshell、发起 XST(跨站跟踪)或探测服务器结构。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 在全局配置或虚拟主机块中添加:
<limitexcept get post head> Require all denied </limitexcept> - 额外关闭 TRACE 方法:
TraceEnable Off(独立指令,更彻底) - 修改后务必运行
apachectl configtest检查语法,再重启
收紧目录权限与访问控制
根目录和敏感路径的宽松配置是常见失守点。应从“默认拒绝”出发,按需放行。
- 对网站根目录(如
/var/www/html)显式禁用目录浏览:Options -Indexes - 禁止脚本执行(针对纯静态资源目录):
SetHandler default-handler或Require all granted配合<filesmatch> Require all denied </filesmatch> - 对管理后台等敏感路径,用
<directory></directory>块限制 IP:Require ip 192.168.1.0/24或Require ip 203.0.113.42 - 禁用符号链接跟踪(除非明确需要):
Options -FollowSymLinks
最小化模块加载与 .htaccess 控制
每个启用模块都是一道潜在攻击面;.htaccess 分散配置则易导致策略混乱、性能下降和权限失控。
- 列出已启用模块:
apache2ctl -M(Debian)或httpd -M(RHEL),禁用确定不用的模块:sudo a2dismod autoindex userdir info status include - 全局设置
AllowOverride None,彻底禁用 .htaccess 覆盖能力;仅在确有需要的子目录下,通过<directory></directory>单独启用,如AllowOverride AuthConfig FileInfo - 确保 Apache 运行用户(如
www-data)对网站文件仅有读取权限,对日志目录有写入权限,对配置文件无写入权限









