WAF-ModSecurity

Web应用防护系统(WebApplicationFirewall,简称:WAF)代表了一类新兴的信息安全技术,用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题
与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对 Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。

开源WAF:


ModSecurity安装:进入系桌面后右键打开终端,首先进行第一步,安装相关工具

第一步:输入命令:yum install -y wget epel-release

 

第二步:安装依赖工具

输入命令:yum intall -y httpd httpd-devel pcre pcre-devel libxml2-devel gcc lua-devel yaj1-devel ssdeep-devel curl-devel

输入命令-yum install -y httpd httpd-devel pcre pcre-devel
libxm12-devel gcc lua-devel yajl-devel ssdeep-devel curl-devel

 

第三步,编译 Modsecurity
将 modsecurity 安装包上传至/usr/local 目录下
在虚拟机选项中打开双向拖放,在终端中输入命令-cd /usr/local进入 local 目录,输入命令tar -zxvf modsecurity-2.9.3.tar.gz

 

第四步:解压完成←
输入命令 cd modsecurity-2.9.3-进入 modsecurity 文件夹
输入./configure --enable-standalone-module --disable-mlogc进行编译

编译完成←输入命令-make

 

第五步:安装apache或者nginx中间件,(因为apache对2.9版本有冲突。我们安装nginx)

输入命令-cd /usr/locale
返回 local 目录
输入命令-wget http://nginx.org/download/nginx-1.16.1.tar.gz
下载 nginxe

输入命令-tar -xvzf nginx-1.16.1.tar.gz 解压 tar 包
输入命令-cd /usr/local/nginx-1.16.进入 nginx 目录

输入命令-./configure --add-module=/usr/local/modsecurity-2.9.3/nginx/modsecurity/--prefix=/usr/local/nginx
编译 nginxe

依次输入命令-make
-make install

启动 nginxe
/usr/local/nginx/sbin/nginx

 

第六步:打开 firefox浏览器,输入:(我们可以提前输入本机IP查看中间件是否配置成功)
http://服务器IP/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E

可以发现,即使输入了 alert 敏感语句,我们依旧能够访问当前页面,那么接
来让我们来测试开启 waf 之后的效果
创建用于存在配置文件的文件夹,并复制相关配置文件到目录中
依次输入命令-
-mkdir -p /usr/local/nginx/conf/modsecurity/

-cp /usr/local/modsecurity-2.9.3/modsecurity.conf-recommended/usr/local/nginx/conf/modsecurity/modsecurity.confe

-cp /usr/local/modsecurity-2.9.3/unicode.mapping/usr/local/nginx/conf/modsecurity/unicode.mapping

 

第七步、将规则包解压后复制crs-setup.confexample(配置一个防止XSS alert()的攻击规则)
/usr/local/nginx/conf/modsecurity/下并重命名为 crs-setup.confe

下载安装路径:https://github.com/coreruleset/coreruleset

使用手册:http://www.modsecurity.cn/chm/

复制 rules 文件夹到/usr/local/nginx/conf/modsecurity/下,同时修改 REQUEST900-EXCLUSION-RULES-BEFORE-CRS.conf.example与RESPONSE-999EXCLUSION-RULES-AFTER-CRS.conf.example 两个文件的文件名,将".example'删除,可将自己写的规则放置于此两个文件中;

 

第八步、编辑 nginx.conf
在 http 或 server 节点中添加以下内容(在 http 节点添加表示全局配置,在 server
节点添加表示为指定网站配置):
ModsecurityEnabled on;
ModsecurityConfig modsecurity/modsecurity.conf;

 

第九步:
编辑 modsecurity.confe

SecRuleEngine petectiononly更改为:SecRuleEngine On

同时在文件末尾添加以下内容
Include crs-setup.conf

Include rules/*.conf

 

第十步、重新加载 Nginx 测试效果←
/usr/local/nginx/sbin/nginx -s reload

posted @   Aidy  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示