• OpenWAF学习笔记(二)—— 入门


    上篇文章总结了VM中CentOS7下OpenWAF的源码安装步骤 --> OpenWAF学习笔记(一)—— 安装,接下来就是简单的入门使用。
    发布应用,需要配置 OpenWAF 的接入规则,配置文件位置:/opt/OpenWAF/conf/twaf_access_rule.json,OpenWAF的接入规则和nginx的配置结合,达到发布应用的目的。

    接入规则配置简要说明
    {
        "twaf_access_rule": [
            "rules": [                                 -- 注意先后顺序
                {                                      
                    "ngx_ssl": false,                  -- nginx 认证的开关
                    "ngx_ssl_cert": "path",            -- nginx 认证所需 PEM 证书地址
                    "ngx_ssl_key": "path",             -- nginx 认证所需 PEM 私钥地址
                    "host": "1.1.1.1",                 -- 域名/IP,正则匹配,WAF地址
                    "path": "/",                       -- 路径,正则匹配
                    "port": 80,                        -- 端口,默认 80
                    "server_ssl": false,               -- 后端服务器 ssl 开关
                    "forward": "server_5",             -- 后端服务器 upstream 名称
                    "forward_addr": "1.1.1.2",         -- 后端服务器ip地址,即需要防护的目标网站地址
                    "forward_port": "8080",            -- 后端服务器端口号(缺省80),即需要防护的目标网站端口
                    "uuid": "access_567b067ff2060",    -- 用来标记此规则的 uuid,api 中会用到,要保证全局唯一
                    "policy": "policy_uuid"            -- 安全策略 ID
                }
            ]
        }
    }
    
    OpenWAF使用Nginx配置

    个人使用的OpenWAF提供的Nginx配置文件,配置文件位置:/etc/ngx_openwaf.conf(默认监听 80 端口)
    对应修改 /opt/OpenWAF/conf/twaf_access_rule.json 文件中第一条接入规则的值,即需防护的目标网站IP和端口,"forward_addr"、"forward_port"。

    修改配置信息之后启动Nginx
    #启动nginx命令  
    /usr/local/openresty/nginx/sbin/nginx -c /etc/ngx_openwaf.conf
    #停止nginx命令
    /usr/local/openresty/nginx/sbin/nginx -c /etc/ngx_openwaf.conf -s stop
    

    启动Nginx之后访问WAF地址即可。(访问1.1.1.1:80,通过防护即可跳转至目标网站1.1.1.2:8080)

    若无法访问,需在防火墙打开WAF对应端口,上述配置端口为80

    firewall-cmd --add-port=80/tcp --permanent #--permanent永久生效
    #打开端口后重启防火墙
    firewall-cmd --reload
    

    至此OpenWAF发布完成,默认SQLI,CC防护都是开启的,可以进行SQL注入或CC攻击,看防护效果。

    拦截效果
  • 相关阅读:
    记录下首次开通流量主,开心开心
    微信小程序之本地缓存
    在使用ef的情况下,有Migrations文件,想要直接生成数据库
    CSS 设置圆角div和阴影效果
    小程序UI库(UI组件)
    没有找到可以构建的 NPM 包---小程序开发
    php 接口参数对象转数组方法
    tp5框架获取随机n条
    php图片上传base64接口上传
    php如何实现定时任务,php定时任务方法,最佳解决方案,php自动任务处理
  • 原文地址:https://www.cnblogs.com/LukeSteven/p/13391653.html
Copyright © 2020-2023  润新知