Zum Inhalt

naxsi: NGINX Anti XSS & SQL Injection Modul

Installation

Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:

  • RedHat Enterprise Linux 7, 8, 9 und 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 und Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-naxsi
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-naxsi

Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:

load_module modules/ngx_http_naxsi_module.so;

Dieses Dokument beschreibt nginx-module-naxsi v1.6 veröffentlicht am 28. November 2023.


naxsi

Was ist Naxsi?

NAXSI steht für Nginx Anti XSS & SQL Injection.

Technisch gesehen ist es ein Drittanbieter-nginx-Modul, das als Paket für viele UNIX-ähnliche Plattformen verfügbar ist. Dieses Modul liest standardmäßig eine kleine Teilmenge einfacher (und lesbarer) Regeln, die 99% der bekannten Muster enthalten, die an Sicherheitsanfälligkeiten von Websites beteiligt sind. Zum Beispiel sollten <, | oder drop nicht Teil einer URI sein.

Da diese Muster sehr einfach sind, können sie legitime Anfragen erfassen. Es liegt in der Verantwortung des Naxsi-Administrators, spezifische Regeln hinzuzufügen, die legitime Verhaltensweisen auf die Whitelist setzen. Der Administrator kann entweder Whitelists manuell hinzufügen, indem er das Fehlerprotokoll von nginx analysiert, oder (empfohlen) das Projekt mit einer intensiven Auto-Lernphase starten, die automatisch Whitelist-Regeln basierend auf dem Verhalten einer Website generiert.

Kurz gesagt, Naxsi verhält sich wie eine DROP-by-default Firewall, die einzige Aufgabe besteht darin, erforderliche ACCEPT-Regeln hinzuzufügen, damit die Zielwebsite ordnungsgemäß funktioniert.

Warum ist es anders?

Im Gegensatz zu den meisten Web Application Firewalls verlässt sich Naxsi nicht auf eine Signaturdatenbank wie ein Antivirus und kann somit nicht durch ein "unbekanntes" Angriffsmuster umgangen werden. Naxsi ist Freie Software (im Sinne von Freiheit) und kostenlos (im Sinne von kostenlosem Bier) zu verwenden.

Auf welchen Systemen läuft es?

Naxsi sollte mit jeder nginx-Version kompatibel sein.

Es hängt von libpcre für seine regexp-Unterstützung ab und wird berichtet, dass es großartig auf NetBSD, FreeBSD, OpenBSD, Debian, Ubuntu und CentOS funktioniert.

Warum dieses Repository verwenden

Das ursprüngliche Projekt ist (inoffiziell) aufgegeben, aber Sie können hier vollständig um Unterstützung bitten, da ich bereit bin, das Projekt als letzter verbleibender Entwickler am Laufen zu halten.

Dokumentation

docs

Unterstützung

Sie können hier oder im ursprünglichen Repository https://github.com/nbs-system/naxsi um Unterstützung bezüglich NAXSI bitten.

Zukünftige Pläne

  • nxapi über py3 zurückbringen
  • Erstellung eines einfachen Tools zum Erstellen von Regeln und Testen dieser

GitHub

Sie finden zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub Repository für nginx-module-naxsi.