Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/p0pr0ck5/lua-resty-waf
Herramientas DefensivasSeguridad WebSeguridad de APIsAnti-BotTop en Anti-Bot #8
GitHubp0pr0ck5/lua-resty-waf

lua-resty-waf

WAF de alto rendimiento construido sobre la pila OpenResty

Ver Repositorio
1.3k30553hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Nombre

lua-resty-waf - WAF de alto rendimiento construido sobre el stack de OpenResty

Tabla de contenidos

  • Nombre
  • Estado
  • Descripción
  • Requisitos
  • Rendimiento
  • Instalación
  • Sinopsis
  • Funciones públicas
    • lua-resty-waf.load_secrules()
    • lua-resty-waf.init()
  • Métodos públicos
    • 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()
  • Opciones
    • 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
  • Manejo de fases
  • Conjuntos de reglas incluidos
  • Definiciones de reglas
  • Notas
    • Comunidad
    • Pull Requests
  • Hoja de ruta
  • Limitaciones
  • Licencia
  • Errores
  • Ver también

Estado

Build Status Codewake CII Best Practices

NOTA: lua-resty-waf está esencialmente abandonado. Este proyecto tenía utilidad en una época en la que ModSecurity para Nginx no era una opción viable; ya no es el caso. Hubo un intento de revitalizar el proyecto en 2020, pero no tengo los recursos para completarlo; este trabajo está parcialmente completo en la rama redux.

Descripción

lua-resty-waf es un WAF de proxy inverso construido con el stack de OpenResty. Utiliza la API Lua de Nginx para analizar la información de las solicitudes HTTP y procesarlas contra una estructura de reglas flexible. lua-resty-waf se distribuye con un conjunto de reglas que imita el CRS de ModSecurity, además de algunas reglas personalizadas creadas durante el desarrollo y las pruebas iniciales, y un pequeño parche virtual para amenazas emergentes. Adicionalmente, lua-resty-waf se distribuye con herramientas para traducir automáticamente reglas existentes de ModSecurity, lo que permite a los usuarios ampliar la implementación de lua-resty-waf sin necesidad de aprender una nueva sintaxis de reglas.

lua-resty-waf fue desarrollado inicialmente por Robert Paprocki para su tesis de maestría en Western Governor's University.

Requisitos

lua-resty-waf requiere varios módulos Lua resty de terceros, aunque todos vienen empaquetados con lua-resty-waf, por lo que no necesitan instalarse por separado. Se recomienda instalar lua-resty-waf en un sistema que ejecute el paquete de software OpenResty; lua-resty-waf no ha sido probado en plataformas construidas con paquetes separados de código fuente de Nginx y del módulo Lua de Nginx.

Para obtener un rendimiento óptimo de compilación de expresiones regulares, se recomienda compilar Nginx/OpenResty con una versión de PCRE que soporte compilación JIT. Si tu sistema operativo no la proporciona, puedes compilar PCRE con capacidad JIT directamente en tu compilación de Nginx/OpenResty. Para ello, indica la ruta al código fuente de PCRE en el flag de configuración --with-pcre. Por ejemplo:```sh

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

Puedes descargar el código fuente de PCRE desde el [sitio web de PCRE](http://www.pcre.org/). Consulta también esta [entrada de blog](https://www.cryptobells.com/building-openresty-with-pcre-jit/) para ver una guía paso a paso sobre cómo compilar OpenResty con una librería PCRE con JIT habilitado.

## Rendimiento

lua-resty-waf fue diseñado pensando en la eficiencia y la escalabilidad. Aprovecha el modelo de procesamiento asíncrono de Nginx y un diseño eficiente para procesar cada transacción lo más rápido posible. Las pruebas de carga han demostrado que los despliegues que implementan todos los conjuntos de reglas proporcionados, diseñados para imitar la lógica detrás del ModSecurity CRS, procesan transacciones en aproximadamente 300-500 microsegundos por petición; esto equivale al rendimiento anunciado por el [WAF de Cloudflare](https://www.cloudflare.com/waf). Las pruebas se ejecutaron sobre una pila de hardware razonable (CPU E3-1230, 32 GB de RAM, 2 x 840 EVO en RAID 0), alcanzando un máximo de aproximadamente 15,000 peticiones por segundo. Consulta [esta entrada de blog](http://www.cryptobells.com/freewaf-a-high-performance-scalable-open-web-firewall) para más información.

La carga de trabajo de lua-resty-waf está casi exclusivamente limitada por CPU. La huella de memoria en la máquina virtual de Lua (excluyendo el almacenamiento persistente respaldado por `lua-shared-dict`) es de aproximadamente 2 MB.

## Instalación

Se proporciona un sencillo Makefile:```
# make && sudo make install

Alternativamente, instala mediante Luarocks:```

luarocks install lua-resty-waf

lua-resty-waf hace uso del gestor de paquetes [OPM](https://github.com/openresty/opm), disponible en las distribuciones modernas de OpenResty. Las herramientas cliente de OPM requieren que la herramienta de línea de comandos `resty` esté disponible en la variable de entorno `PATH` de tu sistema.

Ten en cuenta que, por defecto, lua-resty-waf se ejecuta en modo SIMULATE, para evitar afectar inmediatamente a una aplicación; los usuarios que deseen habilitar las acciones de las reglas deben establecer explícitamente el modo operativo en ACTIVE.
Descargar herramienta