lua-resty-tarpit

OpenResty 时间膨胀

$ opm get p0pr0ck5/lua-resty-tarpit

##名称

lua-resty-tarpit - 捕获并延迟不需要的请求

##状态

lua-resty-tarpit 处于早期开发阶段,被认为已准备好投入生产。

##描述

lua-resty-tarpit 为敏感资源提供速率限制保护。它利用 Nginx 的非阻塞架构来人为地增加重复访问资源的响应延迟。此功能旨在保护那些公开访问但容易受到某种形式的暴力攻击(例如,Web 应用程序管理登录页面)的资源。它受到 TARPIT iptables 模块的启发。

##安装

将 lua-resty-tarpit 仓库克隆到 Nginx/OpenResty 的 Lua 包路径中。模块设置和配置在摘要中详细说明。

##摘要

        http {
                lua_shared_dict tarpit 10m;
        }
    
        server {
                location /login { # or whatever resource you want to protect
                        access_by_lua '
                                local t = require "tarpit"
                                t.tarpit(
                                        5, -- request limit
                                        5, -- reset timer
                                        1, -- delay time
                                )
                        ';
                }
        }

##限制

lua-resty-tarpit 正在不断开发和改进,因此其功能和性能可能受到限制。当前已知的限制可以在此仓库的 GitHub 问题跟踪器中找到。

##许可证

本程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新发布和/或修改它,无论是许可证的版本 3 还是(根据您的选择)任何更高版本。

本程序按“原样”分发,没有任何保证;甚至没有关于适销性或适用于特定用途的隐含保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到了本程序附带的 GNU 通用公共许可证副本。如果没有,请参见 <https://gnu.ac.cn/licenses/>

##错误

请通过在 GitHub 问题跟踪器中创建工单来报告错误。

作者

Robert Paprocki (p0pr0ck5)

许可证

gpl3

版本