apache安全加固核心是收敛暴露面、阻断利用链、升级防御基线:一、隐藏server头与错误页信息,设servertokens prod和serversignature off;二、禁用mod_autoindex等高危模块;三、限制http方法仅允许get/post/head;四、强制tlsv1.2+并配置强加密套件,且apache以非root用户运行。

Apache 常见安全漏洞加固,核心在于“收敛暴露面、阻断利用链、升级防御基线”。不靠堆砌工具,而是从配置、模块、协议、权限四个层面系统性收紧。
隐藏服务器指纹,切断攻击者第一手情报
默认响应头(Server)和错误页会泄露 Apache 版本、操作系统甚至加载模块,为精准漏洞利用铺路。
- 编辑主配置文件(/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf)
- 设置 ServerTokens Prod —— 响应头只显示 “Apache”,不带版本与模块名
- 设置 ServerSignature Off —— 错误页面底部不显示服务器签名
- 重启服务:sudo systemctl restart apache2(Debian/Ubuntu)或 sudo systemctl restart httpd(RHEL/CentOS)
禁用高危模块与非必要功能
每个启用的模块都是潜在入口。以下模块若无明确业务需求,必须禁用:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- mod_autoindex:防止目录遍历与敏感文件列表暴露(sudo a2dismod autoindex)
- mod_userdir:避免用户主目录被意外访问
- mod_info 和 mod_status:禁止暴露完整配置与运行状态(含模块版本、路径等)
- mod_include(SSI):禁用可导致命令执行的服务器端包含
- mod_cgi / mod_cgid:除非确需 CGI 脚本,否则一律关闭
限制 HTTP 方法与请求行为
PUT、DELETE、TRACE、OPTIONS 等方法极少用于静态网站或常规 Web 应用,却常被用于探测、上传或跨站跟踪。
- 在虚拟主机或全局配置中添加:
- Require all denied
- 配合 mod_rewrite 或 mod_security 拦截含恶意路径编码的请求(如 /.%2e/etc/passwd),尤其针对 CVE-2021-41773 类路径穿越漏洞
强制加密传输并最小化运行权限
明文通信与高权限运行是两大基础性风险点。
- 启用 TLSv1.2+,禁用 SSLv3、TLSv1.0/1.1;配置强加密套件(如优先选用 ECDHE-ECDSA-AES256-GCM-SHA384)
- 确保 Apache 不以 root 运行:在配置中显式指定低权限用户与组,例如:
User apache
Group apache - 主配置目录(/etc/apache2 或 /etc/httpd)权限设为 750,配置文件(httpd.conf)设为 600,日志目录属主为 apache 用户,避免配置被篡改或日志被越权读取










