ModSecurity:一款出色的开源系统WAF

一、ModSecurity3.0详细介绍 ModSecurity是一个开源系统的混合开发Web应用软件服务器防火墙(WAF)模块,用以Apache,IIS和Nginx,由Trustwave的SpiderLabs开发设计。做为WAF商品,ModSecuri...

一、ModSecurity3.0详细介绍

ModSecurity是一个开源系统的混合开发Web应用软件服务器防火墙(WAF)模块,用以Apache,IIS和Nginx,由Trustwave的SpiderLabs开发设计。做为WAF商品,ModSecurity专业关心HTTP总流量,当传出HTTP要求时,ModSecurity查验要求的全部一部分,假如要求是故意的,它会被阻止和纪录。

优点:

极致兼容nginx,是nginx官方网强烈推荐的WAF

适用OWASP规则

3.0版本比老版本升级更快,更为平稳,而且获得了nginx、Inc和Trustwave等精英团队的全力支持

完全免费

ModSecurity的作用:

SQL Injection (SQLi):阻止SQL引入

Cross Site Scripting (XSS):阻止跨站脚本制作攻击

Local File Inclusion (LFI):阻止利用本地文件包括漏洞开展攻击

Remote File Inclusione(RFI):阻止利用远程控制文件包含漏洞开展攻击

Remote Code Execution (RCE):阻止利用远程连接命令实行漏洞开展攻击

PHP Code Injectiod:阻止PHP编码引入

HTTP Protocol Violations:阻止违背HTTP协议书的故意浏览

HTTPoxy:阻止利用远程控制代理商感柒漏洞开展攻击

Shellshock:阻止利用Shellshock漏洞开展攻击

Session Fixation:阻止利用Session对话ID不会改变的漏洞开展攻击

Scanner Detection:阻止网络黑客扫描仪网址

Metadata/Error Leakages:阻止源码/不正确数据泄露

Project Honey Pot Blacklist:蜜獾新项目信用黑名单

GeoIP Country Blocking:依据分辨IP地址号码归属来开展IP阻隔

缺点:

不兼容查验回应体的规则,假如配备中包括这种规则,则会被忽视,nginx的的sub_filter命令能够用于查验状语从句:调用回应数据信息,OWASP中有关规则是95X。

不兼容OWASP关键规则集DDoS规则REQUEST-912-DOS- PROTECTION.conf,nginx自身适用配备DDoS限定

不兼容在财务审计日志中包括要求和回应行为主体

二、安裝布署

接口测试:centOS7.6阿里云镜像

升級手机软件和核心

yum update

安裝nginx:

yum install yum-utils

vim /etc/yum.repos.d/nginx.repo

[nginx-stable]

name=nginx stable repo

baseurl=

gpgcheck=1

enabled=1

gpgkey=

[nginx-mainline]

name=nginx mainline repo

baseurl=

gpgcheck=1

enabled=0

gpgkey=

yum install nginx

yum install epel-release

yum install gcc-c flex bison yajl yajl-devel curl-devel curl GeoIP-devel doxygen zlib-devel pcre pcre-devel libxml2 libxml2-devel autoconf automake lmdb-devel ssdeep-devel ssdeep-libs lua-devel libmaxminddb-devel git apt-utils autoconf automake build-essential git libcurl4-openssl-dev libgeoip-dev liblmdb-dev ibpcre -dev libtool libxml2-dev libyajl-dev pkgconf wget zlib1g-dev

出错处理:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

解决方案:一句话:把/etc/yum.repos.d/epel.repo,文档第三行注解除掉,把第四行注解掉,改动为

1.[epel]

2. name=Extra Packages for Enterprise Linux 6 – $basearch

3. baseurl=

4. #mirrorlist=

复制GitHub储存库:

git clone --depth 1 -b v3/master --single-branch

编译程序源码:

$ cd ModSecurity

$ git submodule init

$ git submodule update

$

$

$ make

$ make install

留意:安裝中有出错fatal: No names found, cannot describe anything.是一切正常状况

免费下载用以ModSecurity的NGINX射频连接器:

git clone --depth 1

明确哪一个版本的NGINX是运作在服务器上的ModSecurity控制模块将载入:

[root@guigu ModSecurity]# nginx -v

nginx version: nginx/1.17.3

免费下载与安裝版本相匹配的源码:

wget

tar zxvf nginx-1.17.3.tar.gz

编译程序动态性控制模块,拷贝到控制模块规范文件目录:

cd nginx-1.17.3

# --with-compat --add-dynamic-module=

$ make modules

cp objs/ngx_http_modsecurity_module.so /etc/nginx/modules/

将下列load_module命令加上到/etc/nginx/nginx.conf的main中:

load_module modules/ngx_http_modsecurity_module.so;

明确nginx控制模块载入取得成功:

nginx -t

三、安全防护实际效果检测

ModSecurity 3简易实例

建立Demo web应用vim /etc/nginx/nginx.conf

server{

listen 8085;

location /{

default_type text/plain;

return 200 "Thank you for requesting ${request_uri}

";

}

}

重新加载nginx:nginx -s reload

  • 发表于 2021-03-01 07:07
  • 阅读 ( 301 )
  • 分类:互联网

0 条评论

请先 登录 后评论
lhlqz
lhlqz

709 篇文章

你可能感兴趣的文章

相关问题