最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Apache安全模块怎样配置
时间:2026-06-10 08:21:53 编辑:袖梨 来源:一聚教程网
Apache安全模块配置指南(以CentOS/Ubuntu为例)配置Apache安全模块需通过安装模块→启用模块→调整规则→加固周边防护的流程,以下是具体步骤:

一、基础准备:更新系统与安装必要模块
CentOS系统
- 更新系统及软件包:
sudo yum update -y - 安装核心安全模块:
- mod_security:Web应用防火墙(WAF),用于拦截SQL注入、XSS等攻击;
- mod_evasive:防DDoS/暴力破解模块,限制高频异常请求。
sudo yum install mod_security mod_evasive -y
Ubuntu系统
- 更新系统及软件包:
sudo apt update && sudo apt upgrade -y - 安装核心安全模块:
sudo apt install apache2 libapache2-mod-security2 libapache2-mod-evasive -y
二、启用Apache安全模块
CentOS系统
编辑Apache主配置文件(/etc/httpd/conf/httpd.conf),取消以下模块加载行的注释(或添加):
LoadModule security2_module modules/mod_security2.soLoadModule evasive20_module modules/mod_evasive20.soUbuntu系统
通过a2enmod命令启用模块(自动处理依赖):
sudo a2enmod security2# 启用mod_securitysudo a2enmod evasive # 启用mod_evasive三、配置mod_security(Web应用防火墙)
mod_security的核心配置文件路径:
- CentOS:
/etc/httpd/conf.d/security2.conf; - Ubuntu:
/etc/apache2/conf-available/security2.conf(需通过sudo a2enconf security2启用)。
基础配置示例
# 开启规则引擎(On=拦截,DetectionOnly=仅检测)SecRuleEngine On# 允许访问请求体(如表单数据)SecRequestBodyAccess On# 允许记录响应体(用于审计)SecResponseBodyAccess On# 审计日志路径(记录拦截的请求)SecAuditLog /var/log/httpd/security_audit.log# CentOSSecAuditLog /var/log/modsec_audit.log # Ubuntu# 日志包含的字段(如请求头、响应状态等)SecAuditLogParts ABIJDEFHZ# 存储临时数据的目录(需可写)SecDataDir /var/cache/mod_security# CentOSSecDataDir /var/lib/modsecurity # Ubuntu高级配置(可选)
- 集成OWASP CRS规则集(增强防护能力):下载OWASP Core Rule Set(CRS)并配置,例如:
# 下载CRS(以v3.4.0为例)wget https://github.com/coreruleset/coreruleset/archive/v3.4.0.tar.gztar -xzf v3.4.0.tar.gzmv coreruleset-3.4.0/rules /etc/apache2/modsecurity.d/owasp-crs/# 包含CRS配置Include /etc/apache2/modsecurity.d/owasp-crs/crs-setup.confInclude /etc/apache2/modsecurity.d/owasp-crs/rules/*.conf - 调整规则灵敏度:若误拦截正常请求,可将
SecRuleEngine设为DetectionOnly(仅记录不拦截),待调试后再开启。
四、配置mod_evasive(防DDoS/暴力破解)
mod_evasive的配置文件路径:
- CentOS:
/etc/httpd/conf.d/evasive.conf; - Ubuntu:
/etc/apache2/mods-available/evasive.conf。
基础配置示例
<IfModule mod_evasive20.c># 哈希表大小(存储IP请求记录)DOSHashTableSize 3097# 单IP单页面1秒内超过2次请求则触发拦截DOSPageCount 2DOSPageInterval 1# 单IP全站1秒内超过50次请求则触发拦截DOSSiteCount 50DOSSiteInterval 1# 拦截时长(秒)DOSBlockingPeriod 10</IfModule>五、加固SSL/TLS通信(可选但强烈推荐)
使用Let’s Encrypt免费获取SSL证书,加密HTTP流量:
# 安装Certbot(CentOS/Ubuntu通用)sudo yum install certbot python2-certbot-apache -y# CentOSsudo apt install certbot python3-certbot-apache -y# Ubuntu# 获取证书并自动配置Apachesudo certbot --apache -d yourdomain.com -d www.yourdomain.com证书到期前会自动提醒续期,也可手动执行sudo certbot renew。
六、配置HTTP安全头(防点击劫持、XSS等)
编辑Apache安全配置文件(/etc/apache2/conf-available/security.conf,Ubuntu)或/etc/httpd/conf/httpd.conf(CentOS),添加以下头信息:
<IfModule mod_headers.c># 防止浏览器MIME类型嗅探Header always set X-Content-Type-Options "nosniff"# 防止点击劫持(仅允许同源iframe嵌入)Header always set X-Frame-Options "SAMEORIGIN"# 启用XSS防护(拦截反射型XSS)Header always set X-XSS-Protection "1; mode=block"# 限制Referer信息泄露Header always set Referrer-Policy "no-referrer-when-downgrade"</IfModule>启用配置:
sudo a2enconf security# Ubuntusudo systemctl restart apache2七、配置访问控制
1. 基本目录权限
编辑虚拟主机配置文件(如/etc/apache2/sites-available/yourdomain.conf),限制目录访问:
<Directory /var/www/html>Options Indexes FollowSymLinksAllowOverride AllRequire all granted# 允许所有IP访问(生产环境建议缩小范围)</Directory>2. 敏感目录认证
对/admin等敏感目录启用Basic认证:
<Directory /var/www/html/admin>AuthType BasicAuthName "Restricted Area"AuthUserFile /etc/apache2/.htpasswdRequire valid-user</Directory>创建密码文件(首次需用-c创建,后续添加用户无需-c):
sudo htpasswd -c /etc/apache2/.htpasswd admin3. IP黑白名单
- 白名单:仅允许指定IP访问(如运维IP):
<Directory /var/www/html>Require ip 192.168.1.100 192.168.1.101</Directory> - 黑名单:禁止恶意IP访问:
<Directory /var/www/html>Require not ip 192.168.1.200</Directory>
八、重启Apache并验证配置
完成所有配置后,重启Apache使更改生效:
# CentOSsudo systemctl restart httpd# Ubuntusudo systemctl restart apache2验证mod_security是否运行
检查审计日志是否有记录(如正常访问会生成日志):
# CentOStail -f /var/log/httpd/security_audit.log# Ubuntutail -f /var/log/modsec_audit.log验证mod_evasive是否生效
使用ab(Apache Benchmark)模拟高频请求,若被拦截会返回403:
ab -n 100 -c 10 http://yourdomain.com/# 10秒内发送100个请求(并发10)九、定期维护
- 更新模块与系统:定期执行
sudo yum update(CentOS)或sudo apt update && sudo apt upgrade(Ubuntu),修复安全漏洞; - 备份配置文件:
# CentOSsudo tar -czvf /backup/apache2_backup.tar.gz /etc/httpd# Ubuntusudo tar -czvf /backup/apache2_backup.tar.gz /etc/apache2 - 监控日志:通过
fail2ban等工具监控security_audit.log和error.log,及时发现异常请求。
通过以上步骤,可显著提升Apache服务器的安全性,抵御常见Web攻击(如SQL注入、XSS、DDoS等)。需根据实际业务场景调整规则(如放宽敏感目录的访问限制),避免误拦截正常请求。
相关文章
- 无限大下载安装手机版地址分享 无限大下载手机版链接一览 06-15
- 深海迷航手游下载正版链接 下载深海迷航手游下载教程 06-15
- 超阈限空间如何下载 超阈限空间汉化版下载教程 06-15
- 小花仙手游安卓苹果互通吗 06-15
- 忘川风华录天级角色排行榜 06-15
- 幻书启世录3-12怎么打 06-15