标签 waf 下的文章

本文环境:centos8
安装包下载:

wget https://github.com/SpiderLabs/ModSecurity/releases/download/v2.9.4/modsecurity-2.9.4.tar.gz
wget https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v1.0.2/modsecurity-nginx-v1.0.2.tar.gz
wget https://github.com/libgd/libgd/releases/download/gd-2.3.2/libgd-2.3.2.tar.gz
wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/refs/tags/v3.2.0.tar.gz

如果要使用代理的话可以加这个参数:
wget -e use_proxy=yes -e https_proxy=192.168.1.100:7890 downurl

依赖项安装

yum install libtool
yum install zlib zlib-devel openssl openssl-devel  pcre pcre-devel
yum install httpd-devel apr apr-util-devel apr-devel  pcre pcre-devel  libxml2 libxml2-devel

安装:
#modsecurity安装

tar zxvf modsecurity-2.9.4.tar.gz
cd modsecurity-2.9.4
./autogen.sh
./configure --enable-standalone-module --disable-mlogc
make && make install

#gd库安装

tar zxvf libgd-2.3.2.tar.gz
cd libgd-2.3.2
./configure
mask && make install

#nginx安装,参照了bt的nginx安装参数

tar zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --user=www --group=www --prefix=/www/server/nginx --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-http_dav_module --add-module=/root/modsecurity-2.9.4/nginx/modsecurity/

#modsecurityf规则配置(owasp-modsecurity-crs)

mkdir /www/server/nginx/conf/modsecurity

tar zxvf owasp-modsecurity-crs-3.2.0.tar.gz 
cd owasp-modsecurity-crs-3.2.0/
cp crs-setup.conf.example /www/server/nginx/conf/modsecurity/crs-setup.conf
cp rules/ util/ /www/server/nginx/conf/modsecurity/ -r

cd modsecurity-2.9.4/
cp modsecurity.conf-recommended /www/server/nginx/conf/modsecurity/modsecurity.conf
cp unicode.mapping /www/server/nginx/conf/modsecurity/

cd /www/server/nginx/conf/modsecurity/

vim /www/server/nginx/conf/modsecurity/modsecurity.conf

//默认值为DetectOnly 即为观察模式,建议大家在安装时先默认使用这个模式,观察一段时间,看是否对网站、服务器有某些不可知的影响
#SecRuleEngine DetectionOnly
SecRuleEngine On
#是文件最后加入下面两行
Include crs-setup.conf
Include rules/*.conf
#虽然规则很牛B,但不一定都符合线上产生的业务,建议只引入具体最核心最重要的规则或者开始观察模式,以免业务出现问题

#测试是否可以正常使用,配置nginx.conf,在server {} 中添加配置

server {
    ...
    ModSecurityEnabled on;
    ModSecurityConfig modsecurity/modsecurity.conf;
    ...
}

访问 127.0.0.1 正常显示 nginx的欢迎使用页面
访问 127.0.0.1/?eval( 如果得到403拒绝访问,则表示请求被拦截了,符合预期

一款开源的waf网关,感觉不错 janusec

Janusec应用网关,一种适用于各种场景(公有云、私有云、传统IDC等)的应用安全解决方案,提供WAF(Web应用防火墙)、CC防护、身份认证、安全运维、Web路由、负载均衡、自动化证书等功能,可用于构建安全的、可扩展的应用。

产品特点:
WAF (Web Application Firewall, Web应用防火墙,天然支持HTTPS且不需要Agent )
CC防护(多道防线)
统一的Web化管理
证书加密保护
负载均衡(可扩展的部署架构)
让防御更简单
SQL注入
跨站脚本
敏感数据泄露
CC攻击
阻断(Block)、验证码(Captcha)等多种策略
支持多个检查点的组合策略
让管理更简单
统一的Web化管理中心
架构可扩展
多网关节点支持
自动化策略同步
证书保护
私钥加密存储
只在内存使用

https://doc.janusec.com/cn/introduction/