Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
lua-resty-waf — WAF de alto desempenho construído sobre a stack OpenResty | Kitploit
Ferramentas/GitHubGitHub/p0pr0ck5/lua-resty-waf
Ferramentas DefensivasSegurança WebSegurança de APIAnti-BotTop em Anti-Bot nº8
GitHubp0pr0ck5/lua-resty-waf

lua-resty-waf

WAF de alto desempenho construído sobre a stack OpenResty

Ver Repositório
1.3k30554há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Name

lua-resty-waf - WAF de alto desempenho construído sobre a stack OpenResty

Table of Contents

  • Name
  • Status
  • Description
  • Requirements
  • Performance
  • Installation
  • Synopsis
  • Public Functions
    • lua-resty-waf.load_secrules()
    • lua-resty-waf.init()
  • Public Methods
    • lua-resty-waf:new()
    • lua-resty-waf:set_option()
    • lua-resty-waf:set_var()
    • lua-resty-waf:sieve_rule()
    • lua-resty-waf:exec()
    • lua-resty-waf:write_log_events()
  • Options
    • add_ruleset
    • add_ruleset_string
    • allow_unknown_content_types
    • allowed_content_types
    • debug
    • debug_log_level
    • deny_status
    • disable_pcre_optimization
    • event_log_altered_only
    • event_log_buffer_size
    • event_log_level
    • event_log_ngx_vars
    • event_log_periodic_flush
    • event_log_request_arguments
    • event_log_request_body
    • event_log_request_headers
    • event_log_ssl
    • event_log_ssl_sni_host
    • event_log_ssl_verify
    • event_log_socket_proto
    • event_log_target
    • event_log_target_host
    • event_log_target_path
    • event_log_target_port
    • hook_action
    • ignore_rule
    • ignore_ruleset
    • mode
    • nameservers
    • process_multipart_body
    • req_tid_header
    • res_body_max_size
    • res_body_mime_types
    • res_tid_header
    • score_threshold
    • storage_backend
    • storage_keepalive
    • storage_keepalive_timeout
    • storage_keepalive_pool_size
    • storage_memcached_host
    • storage_memcached_port
    • storage_redis_host
    • storage_redis_port
    • storage_zone
  • Phase Handling
  • Included Rulesets
  • Rule Definitions
  • Notes
    • Community
    • Pull Requests
  • Roadmap
  • Limitations
  • License
  • Bugs
  • See Also

Status

Build Status Codewake CII Best Practices

NOTE: lua-resty-waf está essencialmente abandonado. Este projeto foi útil numa época em que o ModSecurity para Nginx não era uma opção viável; isso não é mais o caso. Houve uma tentativa de revitalizar o projeto em 2020, mas não tenho os recursos para concluí-la; esse trabalho está parcialmente completo no branch redux.

Description

lua-resty-waf é um WAF de proxy reverso construído usando a stack OpenResty. Ele usa a API Lua do Nginx para analisar informações de requisições HTTP e processá-las contra uma estrutura de regras flexível. O lua-resty-waf é distribuído com um conjunto de regras que imita o CRS do ModSecurity, além de algumas regras personalizadas criadas durante o desenvolvimento e testes iniciais, e um pequeno patchset virtual para ameaças emergentes. Além disso, o lua-resty-waf é distribuído com ferramentas para traduzir automaticamente regras ModSecurity existentes, permitindo que os usuários estendam a implementação do lua-resty-waf sem a necessidade de aprender uma nova sintaxe de regras.

O lua-resty-waf foi inicialmente desenvolvido por Robert Paprocki para sua dissertação de mestrado na Western Governor's University.

Requirements

O lua-resty-waf requer vários módulos Lua resty de terceiros, embora todos estejam empacotados com o lua-resty-waf e, portanto, não precisem ser instalados separadamente. É recomendável instalar o lua-resty-waf em um sistema que execute o pacote de software OpenResty; o lua-resty-waf não foi testado em plataformas construídas com pacotes separados do código-fonte do Nginx e do módulo Lua do Nginx.

Para obter desempenho ideal de compilação de regex, é recomendável compilar Nginx/OpenResty com uma versão do PCRE que suporte compilação JIT. Se o seu SO não fornecer isso, você pode compilar um PCRE com suporte a JIT diretamente no seu build Nginx/OpenResty. Para fazer isso, referencie o caminho para o código-fonte do PCRE na flag de configuração --with-pcre. Por exemplo:```sh

./configure --with-pcre=/path/to/pcre/source --with-pcre-jit

Você pode baixar o código-fonte do PCRE no [site do PCRE](http://www.pcre.org/). Consulte também esta [postagem no blog](https://www.cryptobells.com/building-openresty-with-pcre-jit/) para um guia passo a passo sobre como compilar o OpenResty com uma biblioteca PCRE com JIT habilitado.

## Desempenho

O lua-resty-waf foi projetado tendo em mente eficiência e escalabilidade. Ele aproveita o modelo de processamento assíncrono do Nginx e um design eficiente para processar cada transação o mais rápido possível. Testes de carga mostraram que implantações que implementam todos os conjuntos de regras fornecidos, que são projetados para imitar a lógica por trás do CRS do ModSecurity, processam transações em aproximadamente 300-500 microssegundos por requisição; isso equivale ao desempenho anunciado pelo [WAF da Cloudflare](https://www.cloudflare.com/waf). Os testes foram executados em uma configuração de hardware razoável (CPU E3-1230, 32 GB de RAM, 2 x 840 EVO em RAID 0), atingindo um máximo de aproximadamente 15.000 requisições por segundo. Consulte [esta postagem no blog](http://www.cryptobells.com/freewaf-a-high-performance-scalable-open-web-firewall) para mais informações.

A carga de trabalho do lua-resty-waf é quase exclusivamente limitada pela CPU. A pegada de memória na VM Lua (excluindo o armazenamento persistente apoiado por `lua-shared-dict`) é de aproximadamente 2 MB.

## Instalação

Um Makefile simples é fornecido:```
# make && sudo make install

Alternativamente, instale via Luarocks:```

luarocks install lua-resty-waf

lua-resty-waf utiliza o gerenciador de pacotes [OPM](https://github.com/openresty/opm), disponível nas distribuições modernas do OpenResty. As ferramentas cliente do OPM exigem que a ferramenta de linha de comando `resty` esteja disponível na variável de ambiente `PATH` do seu sistema.

Observe que, por padrão, o lua-resty-waf executa no modo SIMULATE, para evitar afetar imediatamente uma aplicação; usuários que desejam habilitar as ações de regras devem definir explicitamente o modo operacional para ACTIVE.

## Sinopse```lua
http {
    init_by_lua_block {
        -- use resty.core for performance improvement, see the status note above
        require "resty.core"

        -- require the base module
        local lua_resty_waf = require "resty.waf"
Baixar ferramenta