【干货】ModSecurity - 针对中小站长高效、免费waf组件

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全中心 免费版,不限时长
云安全中心 防病毒版,最高20核 3个月
简介:


ModSecurity 

p.s. 因发帖规定,所有http前面都加了@哦~ 
原创作者:雷息
 
一、简介  
 
 
ModSecurity是一款免费的开源主机waf软件(@http://www.modsecurity.org/),目前官网最新版本为2.9.1,支持nginx/apache/iis(32、64位)。它主要是作为上述web应用的扩展模块形式存在,通过相关的规则文件,对外部恶意的web攻击进行识别,并作出进一步的丢弃操作。  
 
二、安装  
 
 
1.nginx/apache  
在Linux操作系统下,web应用为nginx/apache情况下,安装Modsecurity需要在部署的时候对nginx/apache进行编译,将ModSecurity源码作为一个模块编译进nginx/apache去。
.准备工作
  1. nginx : @http://nginx.org/
  2. modsecurity for Nginx@[url]https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz[/url]
  3. OWASP规则集: @[url]https://github.com/SpiderLabs/owasp-modsecurity-crs[/url]
依赖关系: 
nginx
依赖: pcre zlib openssl 这三个包centos 6.5及以上 系统源里都有:
yum install zlib zlib-devel opensslopenssl-devel  pcre pcre-devel
modsecurty依赖的包:pcre @httpd-devellibxml2 apr
yum install @httpd-devel apr apr-util-develapr-devel  pcre pcre-devel  libxml2 libxml2-devel
 
 
.启用standalone模块并编译
下载modsecurity fornginx 解压,进入解压后目录执行:
./autogen.sh
./configure --enable-standalone-module--disable-mlogc
make
 
 
.nginx添加modsecurity模块
在编译standalone后,nginx编译时可以通过"--add-module"添加modsecurity模块:
./configure--add-module=/root/modsecurity-2.9.1/nginx/modsecurity/  --prefix=/opt/tengine
make && make install
 
 
.添加规则
modsecurity倾向于过滤和阻止web危险,之所以强大就在于规则,OWASP提供的规则是于社区志愿者维护的,被称为核心规则CRScorerules,规则可靠强大,当然也可以定义规则来满足各种需求。
 
 
1.   下载OWASP规则:
mv owasp-modsecurity-crs /opt/tengine/conf/
cd/opt/tengine/conf/owasp-modsecurity-crs && mvmodsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf
 
 
2.启用OWASP规则:
复制modsecurity源码目录下的modsecurity.conf-recommendedunicode.mappingnginxconf目录下,并将modsecurity.conf-recommended重新命名为modsecurity.conf
编辑modsecurity.conf文件,将SecRuleEngine设置为 on  //默认值为DetectOnly 即为观察模式,建议大家在安装时先默认使用这个模式,观察一段时间,看是否对网站服务有某些不可知的影响
owasp-modsecurity-crs下有很多存放规则的文件夹,例如base_rulesexperimental_rulesoptional_rulesslr_rules,里面的规则按需要启用,需要启用的规则使用Includemodsecurity.conf即可。
Includeowasp-modsecurity-crs/modsecurity_crs_10_setup.conf
Includeowasp-modsecurity-crs/base_rules/modsecurity_crs_41_sql_injection_attacks.conf
Include owasp-modsecurity-crs/base_rules/modsecurity_crs_41_xss_attacks.conf
Includeowasp-modsecurity-crs/base_rules/modsecurity_crs_40_generic_attacks.conf
Include owasp-modsecurity-crs/base_rules /modsecurity_crs_45_trojans.confwebshell
//考虑到可能对主机性能上的损耗,目前建议只加入上述几个高危漏洞的防护规则,可以防御住目前大部分的高危web攻击
整体规则的介绍详见:@[url]http://www.2cto.com/Article/201409/334251.html[/url],可以针对自己网站的特殊需求,加入相应的规则。
注意:由于nginx@http请求的解析会与apache有所不同,因此这些规则其中某些部分是无法再nginx环境下使用的,有兴趣研究的可以参考下
 
 
.配置nginx
在需要启用modsecurity的主机的location下面加入下面两行即可:
ModSecurityEnabled on;  
ModSecurityConfig modsecurity.conf;
下面是示例配置,php虚拟主机conf或是vhost文件:
server {
     listen      80;
     server_name xxx.com www.xxx.com;
     location ~ \.php$ {
     ModSecurityEnabled on;  
     ModSecurityConfig modsecurity.conf;
     root /web/webroot;
     index index.php index.html index.htm;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $Document_root$fastcgi_script_name;
     include        fastcgi_params;
     }
  }
 
 
2.    IIS  
IIS下官方直接提供了msi安装文件,下载了直接安装即可。  
 
 
 
 
一. 准备工作
1.    ModSecurity V2.9.1 for IIS MSI Install-3264bits @[url]http://www.modsecurity.org/download.html[/url]       
2.   Microsoft VisualC++ 2013 Redistributable Package 
 
 
 
二. 安装  
1.直接将上述2个安装包安装即可。
2.在C:\Windows\System32\inetsrv\config\applicationHost.config找到ModSecurity这一行,改为如下
<sectionname="ModSecurity" overrideModeDefault="Allow"allowDefinition="Everywhere" /></sectionGroup>
3.   在ModSecurrity安装目录ModSecurity IIS下找到modsecurity.conf,将其中的SecRuleEngine  改为On
4.   在web根目录下的web.config文件中添加如下配置
<?xmlversion="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <ModSecurityenabled="true" configFile=" C:\ProgramFiles\ModSecurity IIS\modsecurity_iis.conf " />
    </system.webServer>
</configuration>
5.   重启下网站
 
 
三、效果  
目前已经测试过的系统包括:centos6、windowsserver2008/2012均已测试安装成功,其他系统安装过程也与上述的类似,建议大家使用系统版本的时候尽量选稳定的最新版本,某些最新版本系统可能功能特性方面改动较大,导致安装过程中存在不可预知错误  
经过测试脚本的测试,拦截率达到较高的水平,其中XSS、sql注入、文件包含、命令执行等高危攻击拦截率也是比较令人满意的。
目前市面上免费的waf产品,安全狗还是做的相当不错的,但是具体使用过程中,还是有某些问题的:windows下兼容性还是有些问题,部署后,网站某些功能使用不了;Linux下的防御效果不如modsecurity。
 
 
四、用户维护、操作  
 
   1.所有命中规则的外部攻击均会存在Modsecurity_audit.log,用户可以对这个文件中记录进行审计
2.Log文件位置在modsecurity.confSecAuditLog这个位置,linux默认开启在 /var/log/modsec_audit.logwindows需要自行开启这个配置,并设置日志位置。
3.支持自定义规则,modsecurity有自己的一套waf语法规则,新增规则直接添加到modsecurity.conf中即可。


目录
相关文章
|
Web App开发 安全 应用服务中间件
Nginx配合modsecurity实现企业级WAF应用防火墙功能
      ModSecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核web安全的利器     对于配置以及基础教程在下面这本书中都已经提到了有感兴趣的可以联系我 目前这.
2241 0
|
tengine 应用服务中间件 PHP
Nginx 用ModSecurity实现WAF功能
转载:https://www.52os.net/articles/nginx-use-modsecurity-module-as-waf.html nginx配合modsecurity实现WAF功能 January 26, 2015 modsecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核web安全的利器。
1768 0
|
tengine 应用服务中间件 Linux
ModSecurity - Efficient and Free WAF Component for Mid- and Small-Scale Webmasters
ModSecurity is a free open source host WAF software (@http://www.modsecurity.org/).
2533 0
|
Apache
[WAF]apache和modsecurity的安装
安装pcre 安装aprhttp://labs.renren.com/apache-mirror//apr/apr-1.
1246 0
|
云安全 负载均衡 网络协议
阿里云waf简介和如何配置​
阿里云WAF(Web应用程序防火墙)是一种高效、智能的云安全服务,旨在保护Web应用程序免受各种网络攻击的威胁。它可防止诸如SQL注入、跨站点脚本(XSS)和跨站点请求伪造(CSRF)等攻击,有效保障了Web应用程序的安全性与稳定性。 阿里云WAF在Web应用程序与互联网之间构建一道安全屏障,通过拦截和检测恶意流量,防止攻击者对您的Web应用程序进行攻击。它不仅覆盖了常见的网络攻击类型,还针对新兴的攻击手段进行了防护设计,确保您的Web应用程序在面对各种威胁时都能得到全方位的保护。
|
4月前
|
安全 API 开发者
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
217 0
|
6月前
|
SQL 监控 安全
【阿里云云原生专栏】云原生安全体系构建:阿里云云防火墙与WAF的应用
【5月更文挑战第27天】阿里云云防火墙和WAF是构建云原生安全体系的关键产品,提供网络、主机和Web应用多维度防护。云防火墙采用分布式架构抵御网络攻击,确保应用安全稳定;WAF专注Web应用安全,防止SQL注入、XSS和DDoS等威胁。简单部署配置,结合使用可实现全面安全防护,提升企业云上应用安全性,保障业务安全运行。未来,阿里云将持续强化云原生安全建设。
337 1
|
6月前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
应用服务中间件
阿里云的WAF(Web应用防火墙)3.0的虚拟代理
阿里云的WAF(Web应用防火墙)3.0的虚拟代理
191 2