Apache基线核查
字数 1190 2025-08-15 21:32:00
Apache服务器安全基线配置指南
一、访问控制
1.1 文件权限控制
-
配置文件权限设置
- 非属主用户对配置文件只读,属主可读写
- 命令:
chmod 644 /usr/local/apache/conf/httpd.conf
-
日志文件权限设置
- 用户日志:
chmod 644 access_log - 错误日志:
chmod 644 error_log
- 用户日志:
1.2 HTTP方法限制
- 禁用危险HTTP方法
- 在httpd.conf中添加:
<LimitExcept GET POST> Deny from all </LimitExcept>
- 在httpd.conf中添加:
1.3 目录结构保护
-
禁止显示目录结构
- 在所有
Options关键字后移除Indexes - 示例:
<Directory "/Web"> Options FollowSymlinks </Directory>
- 在所有
-
限制Web目录外访问
- 在httpd.conf中添加:
<Directory /> Order deny,allow Deny from all </Directory>
- 在httpd.conf中添加:
1.4 默认端口修改
- 更改默认80端口
- 修改
Listen语句:Listen X.X.X.X:8080
- 修改
1.5 IP绑定策略
- 绑定特定IP地址
- 单IP:
Listen 80 - 多IP:
Listen X.X.X.X:80
- 单IP:
1.6 运行账户设置
- 专用用户和组运行Apache
- 在配置文件中添加:
User apache Group apache
- 在配置文件中添加:
1.7 CGI安全
- 禁用CGI功能
- 编译时禁用:
./configure --disable-cgi --disable-cgid - 配置文件中移除CGI相关
LoadModule语句 - 删除或注释
cgi-bin目录配置
- 编译时禁用:
1.8 根目录保护
- 限制根目录修改权限
- 执行命令:
chmod -R a-w /usr/local/apache
- 执行命令:
二、安全审计
2.1 日志配置
-
错误日志设置
- 设置路径:
ErrorLog logs/error_log - 设置日志级别:
LogLevel notice
- 设置路径:
-
访问日志设置
- 设置路径:
CustomLog log/access_log
- 设置路径:
2.2 日志格式
- 自定义日志格式
- 示例:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\"\"%{Referer}i\" \"%{User-Agent}i\""
- 示例:
三、剩余信息保护
3.1 请求超时设置
- 设置请求超时时间
- 在httpd.conf中添加:
TimeOut 10
- 在httpd.conf中添加:
四、软件容错
4.1 错误页面重定向
- 配置各类错误页面
- 示例:
ErrorDocument 400 /custom400.html ErrorDocument 401 /custom401.html ErrorDocument 403 /custom403.html ErrorDocument 404 /custom404.html ErrorDocument 405 /custom405.html ErrorDocument 500 /custom500.html
- 示例:
五、资源控制
5.1 连接管理
-
持久连接超时设置
- 在httpd.conf中添加:
KeepAliveTimeout 15
- 在httpd.conf中添加:
-
启用持久连接
- 在httpd.conf中添加:
KeepAlive On
- 在httpd.conf中添加:
5.2 连接数限制
- 最大连接数配置
- 示例配置:
<IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 MaxClients 1500 MaxRequestsPerChild 1000 ServerLimit 1500 </IfModule>
- 示例配置:
5.3 请求缓冲
-
HTTP请求缓冲
- 在httpd.conf中添加:
AcceptFilter http data
- 在httpd.conf中添加:
-
HTTPS请求缓冲
- 在httpd.conf中添加:
AcceptFilter https data
- 在httpd.conf中添加:
5.4 请求大小限制
- 限制HTTP请求主体大小
- 在httpd.conf中添加:
LimitRequestBody 102400
- 在httpd.conf中添加:
六、数据保密性
6.1 安全增强
-
关闭TRACE方法
- 在httpd.conf中添加:
TraceEnable Off
- 在httpd.conf中添加:
-
删除默认文件
- 删除说明文件:
rm -rf /usr/local/apache2/manual - 删除默认HTML:
rm -rf /usr/local/apache2/htdocs/* - 删除默认CGI:
rm -rf /usr/local/apache2/cgi-bin/*
- 删除说明文件:
-
隐藏敏感信息
- 隐藏版本号:
ServerToken Prod - 隐藏签名:
ServerSignature Off
- 隐藏版本号:
6.2 HTTPS支持
- 启用SSL模块
- 静态编译:
./configure --enable-ssl - 动态模块:
然后在配置文件中添加:./configure --enable-ssl=sharedLoadModule ssl_module modules/mod_ssl.so
- 静态编译:
总结
本指南涵盖了Apache服务器安全配置的各个方面,包括访问控制、安全审计、资源控制等关键安全领域。通过实施这些配置,可以显著提高Apache服务器的安全性,降低被攻击的风险。建议管理员根据实际环境需求,选择适用的配置项进行实施,并定期检查和更新安全配置。