Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 17464|Antwort: 2

[Web] ngx_lua_waf ist eine Web-Anwendungs-Firewall, die auf dem lua-nginx-Modul (OpenResty) basiert.

[Link kopieren]
Veröffentlicht am 21.12.2016 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf ist eine ngx_lua-basierte Web-Anwendungs-Firewall, die ich entwickelte, als ich bei Fun Travel angefangen habe.

Der Code ist einfach, und die ursprüngliche Absicht der Entwicklung ist es, Einfachheit, hohe Leistung und Leichtigkeit zu nutzen.

Es ist jetzt Open Source und entspricht der MIT-Lizenz. Es enthält unsere Filterregeln. Wenn du Vorschläge hast oder dich erzählen möchtest, kannst du sie gerne mit mir verbessern.

Verwendungen:
            
      
Verhindern Sie Webangriffe wie SQL-Injektion, lokale Inklusion, teilweise Überlauf, Fuzzing-Tests, XSS, SSRF usw
        Verhindern Sie Dateileckage wie SVN/Backup
        Verhindern Sie Angriffe durch Stresstest-Tools wie ApacheBench
        Blockiere gängige Scanning-Hacking-Tools und Scanner
        Ungewöhnliche Netzwerkanfragen blockieren
        Blockieren Sie die PHP-Ausführungsberechtigung des Bildanhangsverzeichnisses
        Verhindern Sie Webshell-Uploads


Empfohlene Installation:

Es wird empfohlen, lujit2.1 für Lua-Unterstützung zu verwenden.

ngx_lua wenn es sich um eine Version 0.9.2 oder später handelt, wird empfohlen, die reguläre Filterfunktion auf ngx.re.find umzustellen, und die Anpassungseffizienz wird etwa um das Dreifache erhöht.


Anleitungen zur Verwendung:

Der nginx-Installationspfad wird angenommen: /usr/local/nginx/conf/

Lade das ngx_lua_waf in das conf-Verzeichnis herunter, entpacke es und nenne es waf

Füge es im http-Bereich von nginx.conf hinzu

            

Konfigurieren Sie das WAF-Regelverzeichnis in config.lua (meist im waf/conf/-Verzeichnis)

        RulePath = "/usr/local/nginx/conf/waf/wafconf/"

Wenn sich der absolute Pfad ändert, muss er entsprechend angepasst werden

Dann starte nginx neu


Profildetails:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --Regelspeicherverzeichnis
        attacklog = "aus"
        --Um die Erfassung von Angriffsinformationen zu ermöglichen, müssen Sie das Logdir konfigurieren
        logdir = "/usr/local/nginx/logs/hack/"
        --log storage directory, das vom Benutzer selbst erstellt werden muss und die Schreibberechtigung des nginx-Benutzers benötigt
        UrlDeny="on"
        --ob der URL-Zugriff blockiert werden soll
        Weiterleitung="an"
        --ob nach der Interception umgeleitet werden soll
        CookieMatch = "an"
        --Ob Cookie-Angriffe blockiert werden sollen
        postMatch = "an"
        --ob ein Angriff auf den Pfosten abgewehrt werden soll
        whiteModule = "an"
        --ob URL-Whitelisting aktiviert werden soll
        black_fileExt={"php","jsp"}
        --Fülle den Dateisuffixtyp aus, der nicht hochgeladen werden darf
        ipWhitelist={"127.0.0.1"}
        --IP-Whitelist, mehrere IPs sind durch Kommas getrennt
        ipBlocklist={"1.0.0.1"}
        --IP-Blacklist, mehrere IPs sind durch Kommas getrennt
        CCDeny="an"
        --Ob die Abfangung von CC-Angriffen aktiviert werden soll (erfordert die Erhöhung des HTTP-Segments von nginx.conf lua_shared_dict Limit 10m; )
        CCrate = "100/60"
        --Stellen Sie die CC-Angriffsfrequenz in Sekunden ein.
        --Standardmäßig kann dieselbe IP-Adresse dieselbe Adresse nur 100 Mal pro Minute anfordern
        html=[[Bitte geh weg~~]]
        --Warninhalt, anpassbar in Klammern
        Hinweis: Verwenden Sie keine doppelten Anführungszeichen, um groß- und schreibabhängig zu sein

        
Überprüfe, ob die Regeln gelten

Nach dem Einsatz kannst du folgenden Befehl ausprobieren:        
  
      

Hinweis: Standardmäßig filtert die Maschine nicht in der Whitelist, und du kannst die config.lua-Konfiguration selbst anpassen


Die Darstellungen sind wie folgt


Regel-Updates:

Angesichts des Caching-Problems von regulären Speichern beeinflussen dynamische Regeln die Leistung, daher nutze ich keine Wörterbücher wie geteilten Speicherwörterbücher und Redis für dynamisches Management.

Regel-Updates können auf anderen Servern platziert werden, und die Regeln können durch regelmäßiges Herunterladen über die Crontab-Aufgabe aktualisiert werden, und das nginx-Reload tritt dann in Kraft. Um die hohe Leistung von NGX LUA WAF zu gewährleisten.

Speichern Sie nur das Filterprotokoll, schalten Sie das Filtern nicht ein, fügen Sie einfach einen -- Kommentar vor den Code ein, falls Sie filtern müssen, umgekehrt

Einige Anmerkungen:

        Die Filterregeln können unter Wafconf entsprechend deinen Bedürfnissen angepasst werden, und jede Regel muss mit | gewickelt oder geteilt werden.
        
                ARGS-Regeln erhalten Parameter zum Filter
                URLs sind Regeln, die nur URLs anfordern, die in GET gefiltert werden               
                Beitrag ist eine Filterregel, die nur bei Beitragsanfragen verwendet wird               
                Die Whitelist ist eine Whitelist, und die darin enthaltenen URLs stimmen überein, sodass sie nicht gefiltert wird               
                User-Agent ist eine Filterregel für User-Agent
        

        Get und Post-Filterung sind standardmäßig aktiviert, wenn du Cookie-Filterung aktivieren musst, bearbeite den waf.lua-Cancel-Teil – Kommentar
        
        Das Format des Logdateinamens ist wie folgt: Web-Host-Name _sec.log






Vorhergehend:Powershell lädt beim direkten Skripten keine Dateien, weil das Skript verboten ist
Nächster:cmd /c und cmd /k werden ausführlich erklärt
Veröffentlicht am 08.11.2017 15:23:22 |
Ja, ich habe es gelernt
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com