Wir freuen uns, Ihnen mitteilen zu können, dass NGINX Plus Release 22 (R22) jetzt verfügbar ist. NGINX Plus basiert auf NGINX Open Source und ist der einzige All-in-One-Software-Load Balancer, Inhaltscache, Webserver und API-Gateway. Der Hauptschwerpunkt der Version liegt auf der Überwachung und Authentifizierung, um die Granularität und Belastbarkeit Ihrer Anwendungen im großen Maßstab zu verbessern.
Zu den neuen Funktionen in NGINX Plus R22 gehören:
Ältere Betriebssysteme werden nicht mehr unterstützt –
NGINX Plus unterstützt gegenseitiges TLS, das Client-Zertifikate sowohl zur Überprüfung der Identität des Verbindungsclients als auch zum Herstellen einer verschlüsselten Verbindung verwendet. Gegenseitiges TLS bietet ein hohes Maß an Sicherheit hinsichtlich der Identität des Clients, die Verwaltung widerrufener Zertifikate kann jedoch einen Verwaltungsaufwand darstellen. Das Online Certificate Status Protocol (OCSP) löst dieses Problem, indem es den Status von Client-Zertifikaten bei ihrer Vorlage überprüft.
Sie können NGINX Plus so konfigurieren, dass es OCSP verwendet, um die Gültigkeit von X.509-Client-Zertifikaten gemäß RFC 6960 zu überprüfen.
Um die OCSP-Validierung von SSL-Client-Zertifikaten zu aktivieren, schließen Sie die neue Direktive ssl_ocsp
zusammen mit der Direktive ssl_verify_client
ein, die die Zertifikatsüberprüfung aktiviert.
NGINX Plus sendet die OCSP-Anfrage an die im Client-Zertifikat eingebettete OCSP-URI, sofern Sie mit der Direktive „ssl_ocsp_responder“
keine andere URI definieren.
Um OCSP-Antworten in einer einzigen Speicherzone zwischenzuspeichern, die von allen Arbeitsprozessen gemeinsam genutzt wird, schließen Sie die Direktive ssl_ocsp_cache
ein, um den Namen und die Größe der Zone zu definieren. Antworten werden 1 Stunde lang zwischengespeichert, sofern der nextUpdate
-Wert in der OCSP-Antwort keinen anderen Wert angibt.
Das Ergebnis der Client-Zertifikatsvalidierung ist in der Variable $ssl_client_verify
verfügbar, einschließlich des Grundes für den OCSP-Fehler.
Der TLS-Handshake schlägt fehl, wenn das Client-Zertifikat nicht vertrauenswürdig ist oder die OCSP-Antwort ungültig ist. Statuscode495
(SSL
-Zertifikatfehler
)
wird zurückgegeben und im Fehlerprotokoll wird ein Eintrag mit dem Schweregrad des Fehlers
erstellt:
JJJJ / MM / TT hh : mm : ss [Fehler] 31222#0: *5 Zertifikatsstatus „widerrufen“ in der OCSP-Antwort bei der Anforderung des Zertifikatsstatus, Antwortender: 127.0.0.1
Unsere OpenID Connect-Referenzimplementierung für NGINX Plus erweitert SSO auf neue und bestehende Anwendungen, um Komplexität und Kosten zu minimieren. Die Referenzimplementierung verwendet eine Kombination aus NGINX Plus-Funktionen und dem NGINX JavaScript-Modul (njs), um einen Codeaustausch mit dem Autorisierungsendpunkt durchzuführen und ein ID-Token vom IdP zu erhalten. Die ID-Token selbst werden im Schlüssel-Wert-Speicher von NGINX Plus zwischengespeichert und ein undurchsichtiges Sitzungstoken wird an den Client gesendet. Clients authentifizieren sich dann, indem sie ein gültiges Sitzungstoken vorlegen, das NGINX Plus zur Überprüfung des ID-Tokens verwendet, bevor auf Backend-Anwendungen zugegriffen wird.
Diese Version enthält zahlreiche Verbesserungen für die OIDC-Referenzimplementierung sowie zwei wesentliche Änderungen:
Map-
Blöcke übergeben werden. Diese zusätzliche Flexibilität verringert die Notwendigkeit, den OIDC-Referenzimplementierungscode zu ändern.Hier ist eine Beispielkonfiguration:
Jeder Map-
Block erlaubt mehrere Werte, sodass mehrere IdPs und Authentifizierungsparameter (Client-Geheimnis, JWK-Schlüsseldatei, Autorisierungsendpunkte) unterstützt werden können. Hier verwenden wir die Variable $host
als Eingabeparameter, Sie können jedoch jede beliebige Variable angeben, die aus dem Anforderungsheader abgeleitet ist.
Die NGINX Plus-API verfolgt jetzt Aktivitäten im Zusammenhang mit OpenID Connect-Anmeldungen, um bei der Überwachung und Fehlerbehebung zu helfen. Weitere Informationen zur OpenID Connect-Referenzimplementierung finden Sie im GitHub-Repository .
DDoS- und Brute-Force-Angriffe zum Erraten von Passwörtern sind zwei kritische Bedrohungen für Ihre Anwendungen. Sie können ihre Auswirkungen durch eine Ratenbegrenzung abmildern – indem Sie NGINX Plus die Anzahl der Anfragen begrenzen, die jeder Client in einem bestimmten Zeitraum stellen kann.
NGINX Plus R20 hat der NGINX Plus-API (an den Endpunkten /api/ -Version /http/limit_reqs
und /api/ -Version /http/limit_conns
) eine Echtzeitüberwachung der Anforderungsrate und der Verbindungsbegrenzung hinzugefügt. Die Informationen werden jetzt auf dem Dashboard zur Live-Aktivitätsüberwachung von NGINX Plus angezeigt, mit kumulierten Zählungen in Tabellenform und mit Zeitstempeln versehenen Zählungen in Diagrammform:
Die Tabelle enthält eine Zeile für jede Zone, die durch eine limit_req_zone-
und limit_conn_zone
-Direktive definiert ist. Um das Diagramm anzuzeigen, klicken Sie auf das Diagrammsymbol am linken Ende der Zeile.
Das erweiterte Diagramm wird kontinuierlich aktualisiert und zeigt Werte für jedes Zeitintervall als gestapeltes Flächendiagramm an. Sie können die angezeigten Informationen auf folgende Weise anpassen:
Beim standardmäßigen Dashboard-Aktualisierungsintervall von 1 Sekunde speichert jedes Diagramm etwa 30 Minuten historische Daten. Durch Erhöhen des Aktualisierungsintervalls des Dashboards (seltenere Aktualisierungen) wird die Menge der verfügbaren historischen Daten erhöht. Beachten Sie, dass die Dashboard-Diagramme nicht dauerhaft gespeichert werden und historische Daten verloren gehen, wenn Sie die Registerkarte verlassen oder sie neu laden.
Das NGINX JavaScript-Modul erweitert die Funktionalität von NGINX Plus, um eine breite Palette von Anwendungsfällen zu ermöglichen, darunter eine feinere Kontrolle des Datenverkehrs, die Konsolidierung von JavaScript-Funktionen über Anwendungen hinweg und die Abwehr von Sicherheitsbedrohungen. Das NGINX JavaScript-Modul wurde aktualisiert auf0.4.1 und umfasst diese Funktionen:
js_import-
Direktive zum Importieren mehrerer Moduldateien, die Standort- und Variablenhandler implementierenDer folgende Code und die Konfiguration veranschaulichen, wie das neue Objekt r.rawHeadersIn
verwendet werden kann, um den genauen Satz von Headern zu protokollieren, die vom Client gesendet werden, wenn ein Fehler auftritt. [ Editor – Dies ist nur einer von vielen Anwendungsfällen für das NGINX-JavaScript-Modul. Eine vollständige Liste finden Sie unter Anwendungsfälle für das NGINX-JavaScript-Modul . ]
Hier ist ein Beispiel für einen Protokolleintrag für eine404
Antwort:
$ curl http://localhost/bogus $ tail --lines=1 /var/log/nginx/access_json.log {"Antwort":{"Zeitstempel":" JJJJ - MM - TT T hh : mm : ss + TZ_offset ","status":404},"Anfrage":{"Client":"127.0.0.1","uri":"/bogus","headers":[["Host","localhost:80"],["User-Agent","curl/7.64.1"],["Akzeptieren","*/*"]]}}
Um Timing-Angriffe wie Brute-Force-Angriffe auf Passwörter und Credential Stuffing abzuwehren, können Sie NGINX Plus so einstellen, dass seine Antwort verzögert wird, wenn die Authentifizierung fehlschlägt. Die neue Direktive „auth_delay“
gibt die Verzögerung an, die auf Authentifizierungsanforderungen angewendet werden kann, die von den Modulen „Auth Basic“ , „Auth JWT“ und „Auth Request“ verarbeitet werden.
Wenn Sie NGINX Plus verwenden, empfehlen wir Ihnen dringend, so bald wie möglich auf NGINX Plus R22 zu aktualisieren. Sie erhalten außerdem mehrere zusätzliche Fehlerbehebungen und Verbesserungen und NGINX kann Ihnen helfen, wenn Sie ein Support-Ticket erstellen müssen.
Wenn Sie NGINX Plus noch nicht ausprobiert haben, empfehlen wir Ihnen, es auszuprobieren – für Sicherheit, Lastausgleich und API-Gateway oder als vollständig unterstützten Webserver mit erweiterten Überwachungs- und Verwaltungs-APIs. Sie können noch heute mit einer kostenlosen 30-Tage-Testversion beginnen. Überzeugen Sie sich selbst, wie NGINX Plus Ihnen bei der Bereitstellung und Skalierung Ihrer Anwendungen helfen kann.
„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."