LAMP环境配置 ModSecurity Web 应用防火墙模块

在当今的网络安全环境中,Web应用程序面临着各种威胁,包括SQL注入、跨站脚本攻击(XSS)和分布式拒绝服务(DDoS)攻击。为了保护Web应用程序免受这些威胁,可以使用Web应用程序防火墙(WAF)。ModSecurity是一个开源的WAF,它可以嵌入到Web服务器中,提供实时的请求监控、过滤和学习功能。

ModSecurity模块简介

ModSecurity是一个功能强大的Web应用程序防火墙,它使用一组预定义的安全规则来保护Web应用程序。它支持多种Web服务器,包括Apache和Nginx。ModSecurity的核心规则集(CRS)是由OWASP(开放式Web应用安全项目)提供的,这是一个是致力于Web 应用程序安全的国际非营利组织,它包含了数千条用于防御常见Web攻击的规则。

https://www.cloudflare-cn.com/learning/security/threats/owasp-top-10/

https://github.com/owasp-modsecurity/ModSecurity

在 RHEL 系列操作系统安装 ModSecurity

在 RHEL 操作系统中安装 ModSecurity 模块相对简单,以下是安装步骤

1、启用 EPEL 仓库

dnf install epel-release

2、安装 ModSecurity

安装 ModSecurity 及其核心规则集

dnf install mod_security mod_security_crs

3、启用 Apache 服务(如果在安装ModSecurity之前已经启动了Apache服务,请重启以应用更改)

systemctl start httpd # 启动服务
systemctl restart httpd # 重启服务

4、检查模块

检查模块是否正确加载

httpd -M | grep security

测试 ModSecurity 配置

测试是比配置任何设置都重要的部分,可以通过手动添加一个简单的规则进行测试

1、创建或编辑一个规则文件,例如/etc/httpd/modsecurity.d/local_rules.conf,并添加以下内容

SecRuleEngine On
SecRule ARGS:args "@contains test" "id:123456,deny,status:403,msg:'Test Ruleset'"

一定要确保 Apache 配置中启用了 ModSecurity 模块,你一般可以在 /etc/httpd/conf.modules.d/10-mod_security.conf找到启用模块的指令

2、保存你的配置文件并重启Apache服务以应用更改

systemctl restart httpd

3、在浏览器或使用 curl 命令行工具测试你的规则,例如

curl -l https://www.wanghaoyu.com.cn/?args=test

效果如下图所示,可以看到直接返回了 403,证明规则配置正确,已被触发

查看日志

tail -f /var/log/httpd/modsec_audit.log

如下图所示

如果测试失败,检查你的规则文件是否正确配置,并确保SecRuleEngine设置为On。此外,检查是否有其他规则可能与你的测试规则冲突

禁用 ModSecurity 或列入白名单

在某些情况下,你可能需要禁用特定虚拟主机的ModSecurity

需要在虚拟主机部分中添加以下内容

<IfModule security2_module>
    SecRuleEngine Off
</IfModule>
扩展内容
将特定目录或URL的 ModSecurity 列入白名单
<Directory "/var/www/html/wp-admin">
    <IfModule security2_module>
        SecRuleEngine Off
    </IfModule>
</Directory>
禁用特定的 ModSecurity 的规则 ID

这里简单说一下,例如规则 ID 666 触发误报,被拦截,用户可以在配置中利用规则 ID 禁用特定规则

<LocationMatch "/wp-admin/update.php">
    <IfModule security2_module>
        SecRuleRemoveById 666
    </IfModule>
</LocationMatch>

这篇文章只是一个基本快速部署使用指南,在使用之前一定要制定好相关的规则防止误报保持最佳功能。

评论区
头像
文章目录