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

Ansehen: 18490|Antwort: 1

[Web] CentOS nginx Installationsfirewall ngx_lua_waf

[Link kopieren]
Veröffentlicht am 27.04.2018 13:29:43 | | | |
Nginx Lua-Modul Taobao entwickelte nginx ein Drittanbieter-Modul, das die Lua-Sprache in die nginx-Konfiguration einbetten kann, sodass die Verwendung von Lua die Fähigkeiten von nginx erheblich verbessert. NGINX ist bekannt für seine hohe Nebenläufigkeit, Lua-Skripte sind leicht und die Kombination aus beiden ist perfekt.

GitHub-Adresse: https://github.com/loveshell/ngx_lua_waf

###用途:

  • 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


Systemversion, Befehl lsb_release -a

LSB-Version: :core-4.1-amd64:core-4.1-noarch
Vertriebs-ID: CentOS
Description:        CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:        Core

LuaJIT-Version

LuaJIT-2.0.5 ist die neueste stabile Version

nginx-Version (wird nicht installiert werden, dazu später mehr)

nginx 1.4.4 Version

Erstellen Sie zunächst das Installationsverzeichnis /alidata/server/lj2 mit folgendem Befehl:

Installation der Lua-Umgebung



--Überprüfe, ob die Installation erfolgreich ist

--Weiche Links erstellen

Ursprüngliche Reihenfolge:



Da wir lua unter /alidata/server/lj2 installiert haben, führe folgenden Befehl aus,Führe den obigen Befehl nicht aus, führe den folgenden Befehl aus



Wenn Sie keinen Symlink erstellen, kann folgende Ausnahme auftreten: Fehler beim Laden gemeinsamer Bibliotheken: libluajit-5.1.so.2: kann die Datei eines gemeinsamen Objekts nicht öffnen: Keine solche Datei oder ein Verzeichnis

Lade ngx_devel_kit herunter und entpacke es

Projekt-Homepage: https://github.com/simplresty/ngx_devel_kit


Lade ngx_lua herunter und entpacke es


Kompilieren und installieren Sie nginx neu

Sichere zuerst die vorherige ngxin-Datei

Ich habe nginx schon einmal installiert und den Befehl nginx -V wie folgt ausgeführt:

nginx-Version: nginx/1.4.4
gebaut von GCC 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
TLS-SNI-Unterstützung aktiviert
Argumente konfigurieren: --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_ Modul

Zwei Modulkataloge
/root/pack/lua-nginx-module-0.10.13
/root/pack/ngx_devel_kit-0.2.19


Herunterladen und ausführen im nginx-Verzeichnis

--Umweltvariable hinzufügen, um Nginx zu sagen, wo Luajit zu finden ist



Wenn du es nicht hinzufügst, meldet nginx beim Kompilieren folgenden Fehler:

./konfigurieren: fehler: ngx_http_lua_module benötigt die Lua-Bibliothek. Wenn ein Fehler gemeldet wird, führen Sie bitte die oben genannten beiden Sätze aus!


kompilieren
Fehler: #error ist zumindest nginx 1.6.0 erforderlich, aber ich habe eine ältere Version gefunden.


Die nginx-Version ist zu niedrig, die Mindestanforderung ist 1.6.0, also upgrade die nginx-Version,Beim Upgrade der nginx-Version kann man tatsächlich das lua-nginx-Modul und ngx_devel_kit Modul in die neue Version einbauen, was hier nicht näher ausgeführt wird, führe einfach folgenden Befehl mit der neuen Version aus,

[Tatsächlicher Kampf] Nginx 1.4.4 auf 1.14.0 aufgerüstet
http://www.itsvse.com/thread-4714-1-1.html
(Quelle: Architect_Programmer)

Lade ngx_lua_waf herunter und entpacke es



Ändere die nginx-Konfigurationsdatei, um den Pfad je nach aktueller Situation zu ändern

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


Einmal hinzugefügt,Ich habe nginx neu gestartet und einen Fehler von 500 bekommenSchließlich stellte sich heraus, dass der Grund war, dass die config.lua-Datei an zwei Stellen geändert werden sollte:

RulePath und Logdir, um sie je nach Situation anzupassen!

Test

https://www.itsvse.com/forum.php?id=../etc/passwd








Vorhergehend:[Tatsächlicher Kampf] Nginx 1.4.4 auf 1.14.0 aufgerüstet
Nächster:Führen Sie Aufzeichnungen darüber, was mit einer Kreditkarte bezahlt werden kann
Veröffentlicht am 06.05.2018 14:18:47 |
Ist schon okay, schau mal nach
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