侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

nginx + lua 防止扫描攻击

2023-11-05 星期日 / 0 评论 / 0 点赞 / 42 阅读 / 2239 字

用于非法扫描漏洞的程序,根据用户返回代码,灵活设计,有效防御。 lua_shared_dict dogs 10m; init_by_lua_block{ dogs=ngx

用于非法扫描漏洞的程序,根据用户返回代码,灵活设计,有效防御。

       lua_shared_dict dogs 10m;
        init_by_lua_block{
                dogs=ngx.shared.dogs
        }
 

                rewrite_by_lua_block
                {
                        local function deny_scan()
                                                ngx.ctx.check_ip=ngx.md5(ngx.var.host..ngx.var.binary_remote_addr..ngx.var.http_User_Agent)
                                if  dogs:get(ngx.ctx.check_ip) == nil then
                                        dogs:set(ngx.ctx.check_ip,0,60) --默认60秒可以加大
                                elseif dogs:get(ngx.ctx.check_ip) >10 then --允许10次
                                        dogs:flush_expired()
                                        ngx.exit(503)
                                end
                        end

                }


 

log_by_lua_block
{
if (dogs:get(ngx.ctx.check_ip) <11) and  ngx.status == 403  then
   dogs:incr(ngx.ctx.check_ip,1)
end
}
 

广告 广告

评论区