Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
lua-resty-waf — Hochleistungs-WAF auf Basis des OpenResty-Stacks | Kitploit
Tools/GitHubGitHub/p0pr0ck5/lua-resty-waf
DefensivwerkzeugeWebsicherheitAPI-SicherheitAnti-BotTop in Anti-Bot Nr.8
GitHubp0pr0ck5/lua-resty-waf

lua-resty-waf

Hochleistungs-WAF auf Basis des OpenResty-Stacks

Repository anzeigen
1.3k30553vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Name

lua-resty-waf - Hochleistungs-WAF auf Basis des OpenResty-Stacks

Inhaltsverzeichnis

  • Name
  • Status
  • Beschreibung
  • Anforderungen
  • Leistung
  • Installation
  • Synopsis
  • Öffentliche Funktionen
    • lua-resty-waf.load_secrules()
    • lua-resty-waf.init()
  • Öffentliche Methoden
    • 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()
  • Optionen
    • 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
  • Phasenbehandlung
  • Enthaltene Regelsätze
  • Regeldefinitionen
  • Hinweise
    • Community
    • Pull Requests
  • Roadmap
  • Einschränkungen
  • Lizenz
  • Fehler
  • Siehe auch

Status

Build Status Codewake CII Best Practices

HINWEIS: lua-resty-waf ist im Wesentlichen aufgegeben. Dieses Projekt war zu einer Zeit nützlich, als ModSecurity für Nginx keine praktikable Option war; das ist heute nicht mehr der Fall. Es gab 2020 einen Versuch, das Projekt wiederzubeleben, aber ich habe nicht die Mittel, dies abzuschließen; diese Arbeit ist im redux-Zweig teilweise abgeschlossen.

Beschreibung

lua-resty-waf ist eine Reverse-Proxy-WAF, die auf dem OpenResty-Stack aufbaut. Sie verwendet die Nginx-Lua-API, um HTTP-Anforderungsinformationen zu analysieren und sie anhand einer flexiblen Regelstruktur zu verarbeiten. lua-resty-waf wird mit einem Regelsatz ausgeliefert, der dem ModSecurity CRS nachempfunden ist, sowie mit einigen benutzerdefinierten Regeln, die während der anfänglichen Entwicklung und des Testens erstellt wurden, und einem kleinen virtuellen Patchset für aufkommende Bedrohungen. Darüber hinaus wird lua-resty-waf mit Werkzeugen ausgeliefert, die vorhandene ModSecurity-Regeln automatisch übersetzen, sodass Benutzer die lua-resty-waf-Implementierung erweitern können, ohne eine neue Regelsyntax erlernen zu müssen.

lua-resty-waf wurde ursprünglich von Robert Paprocki für seine Masterarbeit an der Western Governor's University entwickelt.

Anforderungen

lua-resty-waf benötigt mehrere Drittanbieter-Resty-Lua-Module, die jedoch alle mit lua-resty-waf gebündelt sind und daher nicht separat installiert werden müssen. Es wird empfohlen, lua-resty-waf auf einem System zu installieren, auf dem das OpenResty-Softwarepaket läuft; lua-resty-waf wurde nicht auf Plattformen getestet, die mit separaten Nginx-Quell- und Nginx-Lua-Modul-Paketen erstellt wurden.

Für eine optimale Regex-Kompilierungsleistung wird empfohlen, Nginx/OpenResty mit einer PCRE-Version zu erstellen, die JIT-Kompilierung unterstützt. Wenn Ihr Betriebssystem dies nicht bereitstellt, können Sie ein JIT-fähiges PCRE direkt in Ihre Nginx/OpenResty-Erstellung einbauen. Verweisen Sie dazu im Konfigurations-Flag --with-pcre auf den Pfad zum PCRE-Quellcode. Zum Beispiel:```sh

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

Sie können die PCRE-Quelle von der [PCRE-Website](http://www.pcre.org/) herunterladen. Siehe auch diesen [Blogbeitrag](https://www.cryptobells.com/building-openresty-with-pcre-jit/) für eine Schritt-für-Schritt-Anleitung zum Erstellen von OpenResty mit einer JIT-fähigen PCRE-Bibliothek.

## Leistung

lua-resty-waf wurde mit Blick auf Effizienz und Skalierbarkeit entwickelt. Es nutzt das asynchrone Verarbeitungsmodell von Nginx und ein effizientes Design, um jede Transaktion so schnell wie möglich zu verarbeiten. Belastungstests haben gezeigt, dass Bereitstellungen, die alle bereitgestellten Regelsätze implementieren, die die Logik hinter dem ModSecurity CRS nachbilden sollen, Transaktionen in etwa 300-500 Mikrosekunden pro Anfrage verarbeiten; das entspricht der Leistung, die von [Cloudflare-WAF](https://www.cloudflare.com/waf) beworben wird. Die Tests wurden auf einem vernünftigen Hardware-Stack (E3-1230 CPU, 32 GB RAM, 2 x 840 EVO in RAID 0) durchgeführt und erreichten maximal etwa 15.000 Anfragen pro Sekunde. Weitere Informationen finden Sie in [diesem Blogbeitrag](http://www.cryptobells.com/freewaf-a-high-performance-scalable-open-web-firewall).

Die Arbeitslast von lua-resty-waf ist fast ausschließlich CPU-gebunden. Der Speicherverbrauch in der Lua-VM (ohne den durch `lua-shared-dict` unterstützten persistenten Speicher) beträgt etwa 2MB.

## Installation

Ein einfaches Makefile wird bereitgestellt:```
# make && sudo make install

Alternativ über Luarocks installieren:```

luarocks install lua-resty-waf

lua-resty-waf nutzt den [OPM](https://github.com/openresty/opm)-Paketmanager, der in modernen OpenResty-Distributionen verfügbar ist. Die OPM-Client-Tools setzen voraus, dass das Befehlszeilentool `resty` in der Umgebungsvariable `PATH` Ihres Systems verfügbar ist.

Beachten Sie, dass lua-resty-waf standardmäßig im SIMULATE-Modus läuft, um eine unmittelbare Beeinträchtigung einer Anwendung zu verhindern; Benutzer, die Regelaktionen aktivieren möchten, müssen den Betriebsmodus explizit auf ACTIVE setzen.

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