Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
lua-resty-waf — WAF haute performance basé sur la stack OpenResty | Kitploit
Outils/GitHubGitHub/p0pr0ck5/lua-resty-waf
Outils DéfensifsSécurité WebSécurité des APIAnti-BotTop en Anti-Bot n°8
GitHubp0pr0ck5/lua-resty-waf

lua-resty-waf

WAF haute performance basé sur la stack OpenResty

Voir le dépôt
1.3k30553il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Nom

lua-resty-waf - WAF haute performance construit sur la pile OpenResty

Table des matières

  • Nom
  • Statut
  • Description
  • Prérequis
  • Performances
  • Installation
  • Synopsis
  • Fonctions publiques
    • lua-resty-waf.load_secrules()
    • lua-resty-waf.init()
  • Méthodes publiques
    • 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
  • Gestion des phases
  • Ensembles de règles inclus
  • Définitions des règles
  • Notes
    • Communauté
    • Pull Requests
  • Feuille de route
  • Limitations
  • Licence
  • Bugs
  • Voir aussi

Statut

Build Status Codewake CII Best Practices

REMARQUE : lua-resty-waf est essentiellement abandonné. Ce projet avait son utilité à une époque où ModSecurity pour Nginx n'était pas une option viable ; ce n'est plus le cas. Une tentative de revitalisation du projet a eu lieu en 2020, mais je ne dispose pas des ressources nécessaires pour la mener à bien ; ce travail est partiellement achevé dans la branche redux.

Description

lua-resty-waf est un WAF proxy inverse construit sur la pile OpenResty. Il utilise l'API Lua de Nginx pour analyser les informations des requêtes HTTP et les traiter selon une structure de règles flexible. lua-resty-waf est distribué avec un ensemble de règles qui imite le CRS de ModSecurity, ainsi que quelques règles personnalisées créées lors du développement et des tests initiaux, et un petit ensemble de correctifs virtuels pour les menaces émergentes. De plus, lua-resty-waf est distribué avec des outils permettant de traduire automatiquement les règles ModSecurity existantes, ce qui permet aux utilisateurs d'étendre l'implémentation de lua-resty-waf sans avoir à apprendre une nouvelle syntaxe de règles.

lua-resty-waf a été initialement développé par Robert Paprocki pour son mémoire de master à la Western Governor's University.

Prérequis

lua-resty-waf nécessite plusieurs modules Lua resty tiers, bien qu'ils soient tous fournis avec lua-resty-waf et n'aient donc pas besoin d'être installés séparément. Il est recommandé d'installer lua-resty-waf sur un système exécutant le bundle logiciel OpenResty ; lua-resty-waf n'a pas été testé sur des plateformes construites à partir de paquets Nginx source et module Lua Nginx séparés.

Pour des performances optimales de compilation des expressions régulières, il est recommandé de construire Nginx/OpenResty avec une version de PCRE prenant en charge la compilation JIT. Si votre système d'exploitation ne la fournit pas, vous pouvez compiler directement une PCRE compatible JIT dans votre build Nginx/OpenResty. Pour ce faire, référencez le chemin vers les sources PCRE dans l'indicateur de configuration --with-pcre. Par exemple :```sh

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

Vous pouvez télécharger les sources de PCRE depuis le [site web de PCRE](http://www.pcre.org/). Voir aussi cet [article de blog](https://www.cryptobells.com/building-openresty-with-pcre-jit/) pour un guide pas à pas sur la construction d'OpenResty avec une bibliothèque PCRE compatible JIT.

## Performances

lua-resty-waf a été conçu en gardant à l'esprit l'efficacité et l'évolutivité. Il exploite le modèle de traitement asynchrone de Nginx et une conception efficace pour traiter chaque transaction le plus rapidement possible. Les tests de charge ont montré que les déploiements mettant en œuvre tous les ensembles de règles fournis, conçus pour imiter la logique du CRS ModSecurity, traitent les transactions en environ 300 à 500 microsecondes par requête ; cela correspond aux performances annoncées par [le WAF de Cloudflare](https://www.cloudflare.com/waf). Les tests ont été effectués sur une configuration matérielle raisonnable (CPU E3-1230, 32 Go de RAM, 2 x 840 EVO en RAID 0), atteignant un maximum d'environ 15 000 requêtes par seconde. Voir [cet article de blog](http://www.cryptobells.com/freewaf-a-high-performance-scalable-open-web-firewall) pour plus d'informations.

La charge de travail de lua-resty-waf est presque exclusivement liée au CPU. L'empreinte mémoire dans la VM Lua (hors stockage persistant adossé à `lua-shared-dict`) est d'environ 2 Mo.

## Installation

Un simple Makefile est fourni :```
# make && sudo make install

Sinon, installez via Luarocks:```

luarocks install lua-resty-waf

lua-resty-waf fait usage du gestionnaire de paquets [OPM](https://github.com/openresty/opm), disponible dans les distributions modernes d'OpenResty. Les outils clients OPM nécessitent que l'outil en ligne de commande `resty` soit disponible dans la variable d'environnement `PATH` de votre système.

Notez que par défaut, lua-resty-waf s'exécute en mode SIMULATE, afin d'éviter d'affecter immédiatement une application ; les utilisateurs qui souhaitent activer les actions des règles doivent explicitement définir le mode opérationnel sur ACTIVE.
Télécharger l’outil