ngx_lua_waf是一个基于ngx_lua开发的web应用防火墙。

代码很简单,开发初衷主要是高性能和轻量级。非常感谢开发过程中春哥给予的细心指导,加深了我对ngx lua的理解。

现在开源出来.其中包含我们的过滤规则。欢迎大家多提bug/建议和想fa,欢迎和我一起完善。

用途:

用于过滤post,get,cookie方式常见的web攻击

防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击

防止svn/备份之类文件泄漏

防止ApacheBench之类压力测试工具的攻击

屏蔽常见的扫描黑客工具,扫描器

屏蔽异常的网络请求

屏蔽图片附件类目录php执行权限

防止webshell上传

效果图如下:

sec

推荐安装:

请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

配置文件添加:

在http段添加

lua_need_request_body on;(开启post请求)

access_by_lua_file /usr/local/nginx/conf/waf.lua;

规则更新:

考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

只记录过滤日志,不开启过滤,在代码里在check前面加上--注释即可,如果需要过滤,反之

一些说明:

过滤规则在wafconf下,可根据需求自行调整,每条规则需换行

名称格式如下:虚拟主机名_sec.log

默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分--注释即可

欢迎大家到http://bbs.linuxtone.org多多交流

weibo: [@ppla](http://weibo.com/opscode)

感谢ngx_lua模块的开发者[@agentzh](https://github.com/agentzh/),春哥是我见过开源精神最好的人
    收到了,支持一下。
     
    2013-03-25

    wgm.china

    发件人:loveshell
    发送时间:2013-03-25 15:41
    主题:[openresty] ngx_lua_waf开源了
    收件人:"openresty"<openresty@googlegroups.com>
    抄送:
     

    ngx_lua_waf是一个基于ngx_lua开发的web应用防火墙。

    代码很简单,开发初衷主要是高性能和轻量级。非常感谢开发过程中春哥给予的细心指导,加深了我对ngx lua的理解。

    现在开源出来.其中包含我们的过滤规则。欢迎大家多提bug/建议和想fa,欢迎和我一起完善。

    用途:

    用于过滤post,get,cookie方式常见的web攻击
    
    防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
    
    防止svn/备份之类文件泄漏
    
    防止ApacheBench之类压力测试工具的攻击
    
    屏蔽常见的扫描黑客工具,扫描器
    
    屏蔽异常的网络请求
    
    屏蔽图片附件类目录php执行权限
    
    防止webshell上传
    

    效果图如下:

    sec

    推荐安装:

    请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

    请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

    配置文件添加:

    在http段添加
    
    lua_need_request_body on;(开启post请求)
    
    access_by_lua_file /usr/local/nginx/conf/waf.lua;
    

    规则更新:

    考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

    规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

    只记录过滤日志,不开启过滤,在代码里在check前面加上--注释即可,如果需要过滤,反之

    一些说明:

    过滤规则在wafconf下,可根据需求自行调整,每条规则需换行
    
    名称格式如下:虚拟主机名_sec.log
    
    默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分--注释即可
    
    欢迎大家到http://bbs.linuxtone.org多多交流
    
    weibo: [@ppla](http://weibo.com/opscode)
    
    感谢ngx_lua模块的开发者[@agentzh](https://github.com/agentzh/),春哥是我见过开源精神最好的人

    --
    sp;
     
    过滤规则有没有注释或者文档啥的?


    2013/3/25 wgm.china <wgm....@gmail.com>
    收到了,支持一下。
     
    2013-03-25

    wgm.china

    发件人:loveshell
    发送时间:2013-03-25 15:41
    主题:[openresty] ngx_lua_waf开源了
    收件人:"openresty"<openresty@googlegroups.com>
    抄送:
     

    ngx_lua_waf是一个基于ngx_lua开发的web应用防火墙。

    代码很简单,开发初衷主要是高性能和轻量级。非常感谢开发过程中春哥给予的细心指导,加深了我对ngx lua的理解。

    现在开源出来.其中包含我们的过滤规则。欢迎大家多提bug/建议和想fa,欢迎和我一起完善。

    用途:

    用于过滤post,get,cookie方式常见的web攻击
    
    防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
    
    防止svn/备份之类文件泄漏
    
    防止ApacheBench之类压力测试工具的攻击
    
    屏蔽常见的扫描黑客工具,扫描器
    
    屏蔽异常的网络请求
    
    屏蔽图片附件类目录php执行权限
    
    防止webshell上传
    

    效果图如下:

    sec

    推荐安装:

    请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

    请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

    配置文件添加:

    在http段添加
    
    lua_need_request_body on;(开启post请求)
    
    access_by_lua_file /usr/local/nginx/conf/waf.lua;
    

    规则更新:

    考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

    规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

    只记录过滤日志,不开启过滤,在代码里在check前面加上--注释即可,如果需要过滤,反之

    一些说明:

    过滤规则在wafconf下,可根据需求自行调整,每条规则需换行
    
    名称格式如下:虚拟主机名_sec.log
    
    默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分--注释即可
    
    欢迎大家到http://bbs.linuxtone.org多多交流
    
    weibo: [@ppla](http://weibo.com/opscode)
    
    感谢ngx_lua模块的开发者[@agentzh](https://github.com/agentzh/),春哥是我见过开源精神最好的人

    --
    #xA0;
     

    --
    #xA0;
     

      已经在readme里增加了对规则文件的用途进行了说明。详细的规则可以自由添加删除


      在 2013年3月25日下午4:00,Wayne <moonb...@gmail.com>写道:
      过滤规则有没有注释或者文档啥的?


      2013/3/25 wgm.china <wgm....@gmail.com>

      收到了,支持一下。
       
      2013-03-25

      wgm.china

      发件人:loveshell
      发送时间:2013-03-25 15:41
      主题:[openresty] ngx_lua_waf开源了
      收件人:"openresty"<openresty@googlegroups.com>
      抄送:
       

      ngx_lua_waf是一个基于ngx_lua开发的web应用防火墙。

      代码很简单,开发初衷主要是高性能和轻量级。非常感谢开发过程中春哥给予的细心指导,加深了我对ngx lua的理解。

      现在开源出来.其中包含我们的过滤规则。欢迎大家多提bug/建议和想fa,欢迎和我一起完善。

      用途:

      用于过滤post,get,cookie方式常见的web攻击
      
      防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
      
      防止svn/备份之类文件泄漏
      
      防止ApacheBench之类压力测试工具的攻击
      
      屏蔽常见的扫描黑客工具,扫描器
      
      屏蔽异常的网络请求
      
      屏蔽图片附件类目录php执行权限
      
      防止webshell上传
      

      效果图如下:

      sec

      推荐安装:

      请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

      请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

      配置文件添加:

      在http段添加
      
      lua_need_request_body on;(开启post请求)
      
      access_by_lua_file /usr/local/nginx/conf/waf.lua;
      

      规则更新:

      考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

      规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

      只记录过滤日志,不开启过滤,在代码里在check前面加上--注释即可,如果需要过滤,反之

      一些说明:

      过滤规则在wafconf下,可根据需求自行调整,每条规则需换行
      
      名称格式如下:虚拟主机名_sec.log
      
      默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分--注释即可
      
      欢迎大家到http://bbs.linuxtone.org多多交流
      
      weibo: [@ppla](http://weibo.com/opscode)
      
      感谢ngx_lua模块的开发者[@agentzh](https://github.com/agentzh/),春哥是我见过开源精神最好的人

      --
      sp;
       

      --
      sp;
       

      --
      sp;
       

        大家好:
            感谢kindle的开源,有问题请教下大家,我目前使用这样的配置来拦截
            if ($http_user_agent ~* "java|perl|Commons-HttpClient|Wget|ruby|Nutch|sifu|Request|php|blo|python"){ return 444; }  # 对伪造User-Agent进行封锁
        ngx_lua_waf是一个基于ngx_lua开发,我看了也有User-Agent封锁功能,而且其它功能都能直接用nginx来实现,请问下kindle和各位,这两种方式在差别在那里?按理应该是nginx原生更优吧



        在 2013年3月25日下午4:49,kindle <linuxr...@gmail.com>写道:
        已经在readme里增加了对规则文件的用途进行了说明。详细的规则可以自由添加删除


        在 2013年3月25日下午4:00,Wayne <moonb...@gmail.com>写道:

        过滤规则有没有注释或者文档啥的?


        2013/3/25 wgm.china <wgm....@gmail.com>

        收到了,支持一下。
         
        2013-03-25

        wgm.china

        发件人:loveshell
        发送时间:2013-03-25 15:41
        主题:[openresty] ngx_lua_waf开源了
        收件人:"openresty"<openresty@googlegroups.com>
        抄送:
         

        ngx_lua_waf是一个基于ngx_lua开发的web应用防火墙。

        代码很简单,开发初衷主要是高性能和轻量级。非常感谢开发过程中春哥给予的细心指导,加深了我对ngx lua的理解。

        现在开源出来.其中包含我们的过滤规则。欢迎大家多提bug/建议和想fa,欢迎和我一起完善。

        用途:

        用于过滤post,get,cookie方式常见的web攻击
        
        防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
        
        防止svn/备份之类文件泄漏
        
        防止ApacheBench之类压力测试工具的攻击
        
        屏蔽常见的扫描黑客工具,扫描器
        
        屏蔽异常的网络请求
        
        屏蔽图片附件类目录php执行权限
        
        防止webshell上传
        

        效果图如下:

        sec

        推荐安装:

        请自行给nginx安装ngx_lua模块,推荐lujit2.0做lua支持

        请提前新建/data/logs/hack/目录攻击日志,并赋予nginx用户对该目录的写入权限。

        配置文件添加:

        在http段添加
        
        lua_need_request_body on;(开启post请求)
        
        access_by_lua_file /usr/local/nginx/conf/waf.lua;
        

        规则更新:

        考虑到正则的缓存问题,动态规则会影响性能,所以暂没用共享内存字典和redis之类东西做动态管理。

        规则更新可以把规则文件放置到其他服务器,通过crontab任务定时下载来更新规则,nginx reload即可生效。以保障ngx lua waf的高性能

        只记录过滤日志,不开启过滤,在代码里在check前面加上--注释即可,如果需要过滤,反之

        一些说明:

        过滤规则在wafconf下,可根据需求自行调整,每条规则需换行
        
        名称格式如下:虚拟主机名_sec.log
        
        默认开启了get和post过滤,需要开启cookie过滤的,编辑waf.lua取消部分--注释即可
        
        欢迎大家到http://bbs.linuxtone.org多多交流
        
        weibo: [@ppla](http://weibo.com/opscode)
        
        感谢ngx_lua模块的开发者[@agentzh](https://github.com/agentzh/),春哥是我见过开源精神最好的人

        --
        sp;
         

        --
        sp;
         

        --
        sp;
         

        --
        sp;
         



        --
        林刚 Lin Gang      
          8 years later

          能起到网页防篡改的作用吗?

          gxiaob 你这属于挖坟啊,
          网页防篡改, 基本有2种实现方式,
          一种WAF带cache,
          另一种是server装监控agent

            Write a Reply...