Nginx集成ModSecurity Web应用防火墙
介绍
ModSecurity 是一个开源的 Web 应用防火墙 (WAF),可以帮助保护 Web 应用程序免受各种安全威胁。它能够检测并防御常见的 Web 攻击,例如 SQL 注入、跨站脚本攻击 (XSS) 等。通过集成到 Nginx 中,ModSecurity 可以实时监控、分析和阻止恶意请求,提升 Web 服务器的安全性。
前言
这是我一直想做的就是让nginx与开源防火墙整合,提升网站防御,如今又实现了。我是自己构建的docker镜像,都是最新的nginx以及最新的modsecurity模块,包括防御规则集。
我们通过waf日志可以看到fweb防火墙正常工作,我们现在采用的默认规则。以后有机会再研究更深层次的规则。
我使用docker构建,已经将构建代码放到GitHub上了。是alpine镜像更加轻量级。
https://github.com/kejilion/docker/blob/main/nginx/Dockerfile-waf
而大家其实不用了解那么多只需要改下自己的配置,更新一下nginx就可以启用web防火墙了。非常简单,
LDNMP环境开启WAF方法
先修改专用kjlion仓库的nginx镜像,之前我们都用的nginx官方的。但官方不会集成我们想要的压缩和waf功能。所以我就自己编译了。改/home/web/docker-compose.yml文件,nginx镜像拉取位置改成kjlion/nginx。如下图。
在接下来复制代码到/home/web/nginx.conf中添加代码。
调用waf模块,开启waf,
复制代码到对应位置
load_module /etc/nginx/modules/ngx_http_modsecurity_module.so;
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/modsecurity.conf;
最后一步更新nginx即可。脚本进入选择10,选择37,更新NGINX即可。
然后你就开启waf了,你可以在错误日志中查看modsecurity 的拦截信息,尝试攻击网站看waf反应的日志。
结尾
如果还是不会等我出视频,再一步一步操作,回头还会细讲,怎么编译nginx集成waf,waf使用的规则集设置,什么是OWSAP ORS核心规则集。报错如何查看重要指标。什么是请求头,请求体,响应头,响应体等等。一起学习吧!
版权声明:
作者:KEJILION
链接:https://blog.kejilion.pro/modsecurity-waf/
来源:科技lion官方博客【国内版】
文章版权归作者所有,未经允许请勿转载。
gh1578
Nginx集成ModSecurity运行一段时间后会导致nginx cpu利用率100%情况出现,不止博主是否遇到过,并且服务商已停止维护,此waf可用性是否能够用于生产环境
KEJILION@gh1578
一切正常 可用于生产环境