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

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提供的规则是于社区志愿者维护的,被称为核心规则CRS(corerules),规则可靠强大,当然也可以自定义规则来满足各种需求。

 

 

1.   下载OWASP规则:

git clone ~@https://github.com/SpiderLabs/owasp-modsecurity-crs

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-recommended和unicode.mapping到nginx的conf目录下,并将modsecurity.conf-recommended重新命名为modsecurity.conf。

编辑modsecurity.conf文件,将SecRuleEngine设置为 on  //默认值为DetectOnly 即为观察模式,建议大家在安装时先默认使用这个模式,观察一段时间,看是否对网站、服务器有某些不可知的影响

owasp-modsecurity-crs下有很多存放规则的文件夹,例如base_rules、experimental_rules、optional_rules、slr_rules,里面的规则按需要启用,需要启用的规则使用Include进modsecurity.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环境下使用的,有兴趣研究的可以参考下

nginxmodule :more_set_headers ( @http://comments.gmane.org/gmane.comp.apache.mod-security.owasp-crs/962)

 

 

五.配置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-32、64bits @[url]http://www.modsecurity.org/download.html[/url]       

2.   Microsoft VisualC++ 2013 Redistributable Package 

@[url]https://www.microsoft.com/en-gb/download/details.aspx?id=40784[/url]

 

 

 
二. 安装 
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.conf中SecAuditLog这个位置,linux默认开启在 /var/log/modsec_audit.log,windows需要自行开启这个配置,并设置日志位置。

3.支持自定义规则,modsecurity有自己的一套waf语法规则,新增规则直接添加到modsecurity.conf中即可。

时间: 2024-10-07 09:57:04

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

FrozenJS 针对移动端开发的 js 组件库

什么是FrozenJS FrozenJS 是针对移动端开发的 js 组件库,其依赖 zepto.js 和 FrozenUI.FrozenJS 的所有组件均以 zepto 的插件的形式存在. FrozenJS 包括: basic:FrozenJS 的一些基础功能,包括模板引擎.tap 支持等. ui:主要是一些触屏常用的 UI 组件,包括 dialog 等. effect:非常用的特效库,特殊场景使用到是可以单独调用. 更多文档请查看:http://frozenui.github.io/froze

隆基股份邓良平:跟踪系统与高效双面单晶组件结合的优势更明显

近日,隆基股份总裁助理.系统集成总监邓良平在第二届中国太阳能发电跟踪系统技术应用研讨会上对跟踪系统的现状以及与高效组件结合优势进行了探讨. 邓良平认为,跟踪系统能不同程度的增加发电量,其中平单轴简单.可靠,成本低,对超配更加合适,对内部收益率和度电成本影响更明显,得到较多应用.但截至2016年底,平单轴在国内支架市场占比仅5%,跟踪系统的推广还需加强:根据中国光伏行业协会<中国光伏产业发展路线图2016年版>数据来源,跟踪系统市场份额占比将超过30%.目前影响跟踪系统占比的主要是价差,另外,可

上海站长联谊会第3期站长聚会免费参加

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 各位站长.互联网运营公司的同行: 第三期站长聚会终于赢得了现金赞助!经过一个月的努力,联谊会也终于完成了一项为聚会人员争取福利的工作! 依据聚会公告的承诺-- 上海站长联谊会正式宣布:报名并已审核通过的个人站长及互联网运营公司的同行们,免费参加第三期站长聚会! 经过三天的紧急洽谈,6月29日下午13时,上海站长联谊会终于与太极联盟达成

微软推出了针对商业用户的免费流媒体视频服务

近日,微软提供Stream的免费预览版,这是一个"新的商用视频服务,可以在工作中访问并发现视频." 微软宣布Stream预览版于7月18日推出.Stream是一个用于在组织内部上传.分享并标记视频的工具.Stream最终将取代微软现有的Office 365 Video平台,并成为"Office 365中事实上的视频体验解决方案." Office 365和Stream之间的区别是什么?Stream和Office 365 Video都是建立在Azure Media Se

微电影门户唯象网针对草根导演推免费影视道具库

草根导演或微电影导演,他们没有名气也没有太多的制作经费,在寻求特殊道具和大型场地的时候会很困难.而微电影门户唯象网本月上线的免费影视道具库或许帮的上忙.在道具库平台,导演可以提交电影拍摄计划以及所需相关道具.项目经过审核后唯象网团队会负责联系包括场地.服装.食品等在内的多种道具提供商,免费为项目提供道具.而品牌厂商出于产品植入式推广的需求,也可在平台申请成为道具提供方.目前该平台已有包括渔阳饭店.海陵岛.伊利等 20 多家道具提供商.对于较知名的微电影导演或团队,唯象网还负责帮其在线下对接相关厂

云南互联网联盟为联盟的站长提供免费空间

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 云南互联网联盟联合昆明英奈特信息技术有限公司为广大云南互联网联盟会员提供免费双线服务器空间服务. 云南互联网联盟成立这段时间以来,得到了业内各人士的广泛大力支持,现在已经发展成为云南互联网行业讨论交流技术支持于一体的综合性组织.群里成员均系业内各职业精英,为了更好的发展,为云南互连网事业的腾飞和发展贡献更多的力量,也为了各业内各有志之

DB2 pureScale Feature针对HA设置SAP中心服务组件

HA 是一种系统级战略,不是数据库服务器所独有的.SAP 应用程序其他组件(比如 SAP 中心服务)的 HA 值是一项重要的要求.SAP 中心服务是 SAP 应用程序的重要服务.它们对 SAP 应用程序正确运行至关重要:如果没有 HA,则可能出现单一故障点. SAP 提供的 DB2 pureScale Feature 许可包含一个完整的 TSA 许可.这为您的整个 SAP 应用程序(包括中心服务和数据库)提供了一种 HA 设置,消除了 SAP 应用程序的任何单一故障点. 图 11. SAP 中心

中国高效单晶PERC组件价格将持续上涨

由于多晶电池和晶圆价格上涨,光伏组件价格在10月份开始反弹.目前,普通多晶组件的价格已经从第三季度的2.8元(0.41美元)上升到3元/瓦特(0.43美元).与普通多晶组件相比,似乎单晶组件特别是单晶PERC的价格仍然很高,有进一步上涨的趋势. 随着中国光伏领跑者项目的推出,高效组件的市场认可度和需求量正在逐渐增加.首先,面对土地供应的压力,项目所有人购买高效单晶组件能满足其额定容量要求:其次,高效单晶组件具有系统成本和IRR优势. 目前单晶PERC的市场价格约为3.4元(0.49美元)/瓦特,

可缩放Reloaded-一个针对可缩放元素的复用组件_YUI.Ext相关

原文地址:http://www.jackslocum.com/blog/2006/11/24/resizable-reloaded/ 这些范例展示了元素如何应用了一个浮动(默认)和装上可缩放的组件. 查看 basic.js 完整代码. 基本范例这是个简单的可缩放的范例.在矩形附近可调节大小.这个例子采用了"浮动"的默认处理. Resize Me!       var basic = new YAHOO.ext.Resizable('basic', { width: 200, heigh