什么是ModSecurity? ModSecurity的工作原理 请求检查: 当Web服务器收到HTTP请求时,ModSecurity会对请求进行检查,包括请求头、请求体等。 ModSecurity在Nginx中的应用 ModSecurity是一款开源的Web应用防火墙(WAF),用于保护Web应用免受各种攻击。 /ModSecurity cd ModSecurity . modules/ngx_http_modsecurity_module.so; http { modsecurity on; modsecurity_rules_file /etc/
ModSecurity介绍 ModSecurity是一个开源的、跨平台的Web应用防火墙(WAF),被称为WAF界的“瑞士军刀”。 /releases/download/v2.9.5/modsecurity-2.9.5.tar.gz tar -zxvf modsecurity-2.9.5.tar.gz cd modsecurity- / #复制ModSecurity相关配置文件 cp /usr/local/modsecurity-2.9.5/modsecurity.conf-recommended /www/server/apache /conf/modsecurity/modsecurity.conf cp /usr/local/modsecurity-2.9.5/unicode.mapping /www/server/apache /modsecurity.conf Include conf/modsecurity/crs-setup.conf Include conf/modsecurity/rules/*.conf </IfModule
最新版本的ModSecurity增加了ssdeep检测webshell的接口,于是猛地回忆起搞客户端安全(游戏安全)的时候买过一本书《恶意软件分析诀窍与工具箱-对抗“流氓”软件的技术与利器》,这本书就提到了用 参考: http://blog.spiderlabs.com/2014/11/modsecurity-advanced-topic-of-the-week-detecting-malware-with-fuzzy-hashing.html
发表评论 4,918 A+ 所属分类:WEB应用 官网:http://modsecurity.org/download.html owasp-modsecurity-crs:https:/ /github.com/SpiderLabs/owasp-modsecurity-crs.git OWASP是一个安全社区,开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity /tarball/2.9.2/modsecurity-2.9.2.tar.gz tar -xf modsecurity-2.9.2.tar.gz cd modsecurity-2.9.2 yum install /tarball/2.9.2/modsecurity-2.9.2.tar.gztar -xf modsecurity-2.9.2.tar.gz cd modsecurity-2.9.2yum install /modsecurity.confcp /usr/local/modsecurity-2.9.2/unicode.mapping /usr/local/nginx/conf/vim modsecurity.conf
安装好了以后就可以查看你的modsecurity的版本号是多少,使用 dpkg -s libapache2-modsecurity | grep Version 第三步 配置modsecurity service apache2 reload 该命令生效后,会在/var/log/apache2/目录下生成modsecurity的日志文件modsec_audit.log 使用modsecurity核心规则集 将我们想起用的规则集放置在以下目录下 /modsecurity /*.conf IncludeOptional /usr/share/modsecurity-crs/*.conf IncludeOptional /usr/share/modsecurity-crs /*.conf Include /usr/share/modsecurity-crs/*.conf Include /usr/share/modsecurity-crs/activated_rules/
和ELK的连续监控和警报系统的高级工作流程可描述如下:: 实现ModSecurity WAF 监控警报攻击模式和来源IP 使用ELK stack进行分析和可视化 分析ModSecurity WA日志中OWASP 前10大风险 在网络中使用ModSecurity和ELK进行监控和报警的图示如下所示: 图表中编号实体的工作/角色如下: WAF阻止了恶意请求 ModSecurity作为WAF运行 已配置Nginx代理服务器 ModSecurity是一个WAF(Web Application Firewall),一个开源的工具包,它为Web应用程序防护者提供了对HTTP流量的可见性和针对攻击的高级保护,下面是将ModSecurity / ModSecurity安装后将生成一个日志文件,其中包含所有被阻止的请求,基本上有三个日志文件将被配置到Nginx和ModSecurity配置文件中: A、Error Logs 当在服务器上遇到错误或任何恶意尝试时会生成错误日志 配置文件路径,ModSecurity在其中定义了攻击规则,将从路径中提取攻击名称,在上图中文件路径为/usr/local/owasp-modsecurity-crs/rules/REQUEST-941-
一、ModSecurity3.0介绍 ModSecurity是一个开源的跨平台Web应用程序防火墙(WAF)引擎,用于Apache,IIS和Nginx,由Trustwave的SpiderLabs开发。 作为WAF产品,ModSecurity专门关注HTTP流量,当发出HTTP请求时,ModSecurity检查请求的所有部分,如果请求是恶意的,它会被阻止和记录。 ModSecurity模块将加载: [root@guigu ModSecurity]# nginx -v nginx version: nginx/1.17.3 下载与安装版本对应的源代码: wget mv modsecurity.conf-recommended modsecurity.conf vim modsecurity.conf #在些文件中编辑以下配置 SecRuleEngine DetectionOnly server { listen 80; modsecurity on; modsecurity_rules_file /etc/nginx/modsec/main.conf;
之前的文章中介绍了Nginx中添加模块ModSecurity,默认ModSecurity 只有一个配置文件modsecrurity.conf,ModSecurity就是通过该文件进行配置,包括安全规则引擎以及安全规则配置 #SecRuleEngine On:将在服务器上激活ModSecurity防火墙。它会检测并阻止该服务器上的任何恶意攻击。 #SecRuleEngine Off::在服务器上停用ModSecurity的防火墙。 }'" SecResponseBodyAccess On #允许ModSecurity访问response body,您应该启用此指令以识别错误和数据泄漏问题。 使用基于DNS的报告将软件版本信息发送到ModSecurity项目团队。
如何配置跳转到自定义提示页面,可参见http://modsecurity.cn/practice/post/8.html。 2020 09:16:14 GMTContent-Length: 555Content-Type: text/htmlConnection: keep-alive ---5WCHvu3z---H--ModSecurity [file "/usr/local/nginx/conf/modsecurity/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "37"] ref "v12,28t:utf8toUnicode,t:urlDecodeUni,t:htmlEntityDecode,t:jsDecode,t:cssDecode,t:removeNulls"] ModSecurity [file "/usr/local/nginx/conf/modsecurity/rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf"] [line "37"]
第1步 - 安装ModSecurity 在此步骤中,我们将安装ModSecurity。 首先,更新包索引文件。 sudo apt-get update 然后,安装ModSecurity。 sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf 最后,重新加载Apache 第2步 - 配置ModSecurity 开箱即用,ModSecurity没有做任何事情,因为它需要规则才能工作。在此步骤中,我们将首先启用一些配置指令。 可修改的指令 您可能希望通过编辑/etc/modsecurity/modsecurity.conf自定义其他指令。 sudo nano /etc/modsecurity/modsecurity_custom_rules.conf 将以下内容粘贴到此文件中。
虽然VPS使用了云WAF功能,但还是有点小担心,为了双重保险,决定使用modsecurity来定制规则,以下介绍如何为apache服务器配置ModSecurity防护罩(modsecurity目前也支持 modsecurity的当前版本 dpkg -s libapache2-modsecurity | grep Version 我的vps上安装的是Version: 2.7.7-2 第二步:配置modsecurity /modsecurity/mv modsecurity.conf-recommended modsecurity.confvim /etc/modsecurity/modsecurity.conf修改SecRuleEngine /etc/modsecurity 修改 Include /etc/modsecurity/*.conf Include /usr/share/modsecurity-crs/*.conf Include /usr/share/modsecurity-crs
ModSecurity介绍 ModSecurity是一个开源的、跨平台的Web应用防火墙(WAF),被称为WAF界的“瑞士军刀”。 /releases/download/v2.9.5/modsecurity-2.9.5.tar.gz tar -zxvf modsecurity-2.9.5.tar.gz cd modsecurity- / #复制ModSecurity相关配置文件 cp /usr/local/modsecurity-2.9.5/modsecurity.conf-recommended /www/server/apache /conf/modsecurity/modsecurity.conf cp /usr/local/modsecurity-2.9.5/unicode.mapping /www/server/apache /modsecurity.conf Include conf/modsecurity/crs-setup.conf Include conf/modsecurity/rules/*.conf </IfModule
阻断模式拦截非法其你去配置webhook收集接收拦截日志工作根目录 : /root/waf/ModSecurity-envoy/ModSecurity-envoy-------------------- -------------------https://github.com/vmware-archive/ModSecurity-envoy一、下载规则集cd ${ModSecurity-envoy}/ - name: envoy.filters.http.modsecurity config: rules\_inline: | Include "conf/modsecurity.v3.0.3 .conf" Include "owasp-modsecurity-crs-3.1.1/crs-setup.conf.example" Include "owasp-modsecurity-crs cd ${ModSecurity-envoy}/wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/v3.1.1.tar.gztar
crs.git mv owasp-modsecurity-crs modsecurity.d cd modsecurity-crs cp crs-setup.conf.example crs-setup.conf vi /etc/httpd/conf/httpd.conf Include conf.modules.d/*.conf Include modsecurity.d/owasp-modsecurity-crs /crs-setup.conf Include modsecurity.d/owasp-modsecurity-crs/rules/*.conf systemctl restart httpd modsecurity [file "/etc/httpd/modsecurity.d/owasp-modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf"] [ [file "/etc/httpd/modsecurity.d/owasp-modsecurity-crs/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf"]
本篇文章从WAF产品研发的角度来YY如何实现一款可靠的WAF,灵感来自ModSecurity等,感谢开源。 (2)规则解析模块 主要作用是解析具体的规则文件,规则最好采用统一的规则描述语言,便于提供给第三方定制规则,ModSecurity这方面做得非常优秀。 WAF相关 WAF防御能力评测及工具 ssdeep检测webshell ModSecurity相关文章(我就是ModSecurity的死忠粉) [科普文]ubuntu上安装Apache2+ModSecurity 及自定义WAF规则 ModSecurity SecRule cheatsheets ModSecurity CRS 笔记、WAF防御checklist,及WAF架构的一些想法 ModSecurity 晋级 -如何调用lua脚本进行防御快速入门 ModSecurity 白名单设置 指纹识别 Web应用指纹识别 FingerPrint IP相关 使用免费的本地IP地理库来定位IP地理位置-GeoIP lookup
官网:常见WAF包括ModSecurity(https://modsecurity.org)、Cloudflare(https://www.cloudflare.com)、Imperva(https:/ 下载:ModSecurity可从GitHub(https://github.com/SpiderLabs/ModSecurity)下载;商业WAF需从官网购买。 操作流程: 安装(如ModSecurity:git clone源码,编译安装)。 配置规则(编辑modsecurity.conf,加载OWASP核心规则集)。
二、评估 评估modsecurity主要是评估服务器性能、安全性、速率、误报率。 从误报率的角度来说,任何的WAF都会存在误报,但是modsecurity的高自由调整策略是我特别习惯的一个特性。 综上选用modsecurity V3作为WAF主体。 三、搭建 搭建环节我就不再阐述了,请大家仔细阅读GitHub:https://github.com/SpiderLabs/ModSecurity 四、分析 这块是我重点想说的,由于modsecurity 1.了解modsecurity日志记录机制 Modsecurity V3的日志支持分布式日志记录和集中式日志记录,支持json格式的记录,详见GitHub。 SecAuditLogStorageDir /opt/modsecurity/data ?
其中方案1不可用,不可用原因是ModSecurity自身机制导致,但方案1确实为最优方案,其中也描写了发现其不可用原因的过程。 缺点: 该方案有一个致命缺点:无法起到防御效果……原因为ModSecurity自身机制所致,%{}是ModSecurity定义的用于获取指定变量的值的操作符,但是该操作符若出现在规则中的特定位置时将不会执行 %{ip.ip_c_msg}}的最终结果为”}”,个人猜测,ModSecurity应该是通过正则去获取变量名称,而没有判断变量中是否存在多个%{}操作符,因此导致,对于%{global. %{ip.ip_c_msg}},加粗部分为ModSecurity实际匹配到的%{}操作符的开始与结尾,中间部分作为一个整体被当做变量名称,但实际并不存在名称为”global. 受限于ModSecurity团队的开发规划,上述方案规则中使用的部分指令在ModSecurity V3以上版本中暂不支持,如expirevar,该指令将变量配置为在指定时间段(以秒为单位)后销毁,如上述规则中
WEB防护 我们日常用的web也就是Nginx、Apache,IIS等,对于IIS我没什么兴趣,也不想研究,所以这里只说一些Nginx和Apache的基础防护的东西 在Apache中,有一个专门的模块,是ModSecurity 来存放ModSecurity规则集,默认是有modsecurity.conf初始配置,我们需要在配置文件中,将规则引入 ? 因为默认的规则,太过基础,所以我们需要自己去定义一些规则,这里推荐用OWASP的核心规则集 OWASP规则集:https://github.com/SpiderLabs/owasp-modsecurity-crs.git 下载完成后,进入目录查看目录结构,crs-setup.conf.example是主配置文件,我们需要将该文件重命名为crs-setup.conf,当然随便你都可以,只要引入apache配置的ModSecurity 这里附上ModSecurity中文手册:http://www.modsecurity.cn/ 其他可以做的防护方法及注意的地方: 禁止对一些敏感文件的访问,比如.htaccess、config配置文件、
之前介绍过 ModSecurity 这款优秀的开源 WAF,它是一个入侵检测与阻止的引擎,原本是Apache的一个模块,现在可作为单独模块编译添加到 Nginx 服务中 虽然这款 WAF 很优秀,但是使用起来并没有那么容易 之前也整理了文章介绍它的原理和规则,然而还有一个问题,就是它的日志分析,之前介绍原理规则的时候,也介绍了它的日志规则,但是在使用过程中,纯文本的记录方式,对于入侵分析太不友好了 所以今天介绍一款管理 ModSecurity 日志的开源项目 WAF-FLE WAF-FLE是专门用来处理ModSecurity日志和事件的控制台,管理员可以通过WAF-FLE查看和搜索ModSecurity记录的日志 WAF-FLE是PHP写的开源项目 service deamon的方式查询日志,这种是实时查询,WAF-FLE controller URL是配置waf-fle的控制器地址,mlog2waffle是通过put请求发送数据到这个接口地址,下面就是配置ModSecurity waf-fle进行展示 waf-fle的接收文件就一个index.php,它将所有步骤通过正则解析,有兴趣的可以看下源码,到此waf-fle就部署完成了,看下效果 虽然waf-fle是比较老的开源项目,但是对于modsecurity