Nginx ist ein weit verbreiteter Hochleistungs-Webserver und Reverse-Proxy-Server, der Clients über Proxys spezifische Netzwerkdienste bereitstellt. Er spielt eine wichtige Rolle im Bereich der Netzwerksicherheit. Im Reverse-Proxy-Prozess ist die Überprüfung des SSL-Zertifikats ein sehr wichtiger Schritt. OCSP Stapling ist ein Mechanismus, der das SSL-Protokoll optimiert und eine schnellere und sicherere SSL-Zertifikatsüberprüfung ermöglichen kann. Dieser Artikel konzentriert sich auf die OCSP-Stapling-Optimierungsmethode im Nginx-Reverse-Proxy.
1. Überblick über OCSP-Stapling
Bevor wir uns auf die OCSP-Stapling-Optimierungsmethode im Nginx-Reverse-Proxy konzentrieren, wollen wir zunächst verstehen, was OCSP-Stapling ist.
Das OCSP-Protokoll (Online Certificate Status Protocol) ist ein Protokoll zur Zertifikatsstatusprüfung, mit dem der Sperrstatus von SSL-Zertifikaten überprüft werden kann. Während des TLS-Handshake-Prozesses fordert der Client den Server zur Überprüfung des SSL-Zertifikats an und das OCSP-Protokoll wird zur Bereitstellung von Überprüfungsdiensten verwendet. Da für den OCSP-Zugriff jedoch eine Anfrage an die Zertifizierungsstelle CA erforderlich ist, kann dieser Vorgang zu Netzwerkverzögerungen und Sicherheitsproblemen führen.
OCSP-Stapling überträgt den Prozess der Überprüfung des SSL-Zertifikatssperrstatus auf die Webserverseite statt auf die Clientseite. Die OCSP-Antwort des SSL-Zertifikats wird regelmäßig von der Zertifizierungsstelle über den Webserver (z. B. Nginx) abgerufen und gespeichert den Speicher und kommuniziert dann mit dem Client. Während des Aufbaus einer SSL-Verbindung auf dem Client sendet der Webserver auch die zwischengespeicherte OCSP-Antwort an den Client zurück. Diese Methode kann nicht nur die Geschwindigkeit von SSL-Verbindungen erhöhen, sondern auch Sicherheitsprobleme vermeiden, wenn Clients Anfragen an die Zertifizierungsstelle stellen.
2. OCSP-Stapling in Nginx aktivieren
Die Methode zum Aktivieren von OCSP-Stapling in Nginx ist sehr einfach. Sie müssen nur den folgenden Code zur SSL-Zertifikatskonfiguration hinzufügen:
ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /path/to/ca-certs;
Hier finden Sie eine Erklärung der Bedeutung jeder Option :
Nachdem Nginx OCSP aktiviert hat , es wird automatisch gestartet Senden Sie eine Ausgabe an die ausstellende Behörde jeder SSL-Zertifikat-OCSP-Anfrage und speichern Sie die OCSP-Antwort im Speicher mit einer Gültigkeitsdauer von 10 Minuten. Wenn die Gültigkeitsdauer der OCSP-Antwort die Cache-Zeit überschreitet, wird die OCSP-Antwort erneut von der ausstellenden Behörde angefordert. Wenn der Client, der eine SSL-Verbindung herstellt, eine Überprüfung anfordert, gibt der Webserver (z. B. Nginx) die zwischengespeicherte OCSP-Antwort an den Client zurück. Dieser Vorgang hat keinen Einfluss auf die Geschwindigkeit und Sicherheit der SSL-Verbindung und kann auch böswillige Angriffe wirksam verhindern.
3. OCSP-Stapling-Optimierung
Zusätzlich zur Aktivierung von OCSP-Stapling in Nginx können wir auch einige Vorgänge durchführen, um dessen Leistung und Sicherheit weiter zu optimieren.
Nginx speichert OCSP-Antworten standardmäßig im Speicher zwischen, aber wenn der Server neu startet oder der Cache voll ist, fordert OCSP Stapling die OCSP-Antwort erneut von der Zertifizierungsstelle an, was Zeit und Netzwerkbandbreite beansprucht. Um diese Situation zu vermeiden, können wir die OCSP-Antwort auf der Festplatte zwischenspeichern, sodass die OCSP-Antwort auch bei einem Neustart des Servers nicht verloren geht. Wir müssen nur den folgenden Code zur Nginx-Konfigurationsdatei hinzufügen:
ssl_stapling_file /path/to/ocsp_response.der;
Darunter ist /path/to/ocsp_response.der der Pfad und Dateiname des OCSP-Antwortcaches.
Wenn wir mehrere CA-Zertifikate zum Ausstellen von SSL-Zertifikaten verwenden, erhält jede ausstellende Behörde unterschiedliche OCSP-Antworten. In diesem Fall können wir mehrere OCSP-Antworten gleichzeitig zwischenspeichern. Wir müssen lediglich die Pfade mehrerer OCSP-Antwortdateien zur ssl_trusted_certificate-Direktive hinzufügen, zum Beispiel:
ssl_trusted_certificate /path/to/ca-certs1 /path/to/ca-certs2;
OCSP-Antworten sind 30 Tage lang gültig, aber wir können OCSP häufiger aktualisieren. Antwort zur Verbesserung Sicherheit. Wir müssen nur die Cache-Zeit der OCSP-Antwort kürzer einstellen, zum Beispiel:
ssl_stapling_responder_timeout 5s; ssl_stapling_verify_result on;
Unter diesen wird ssl_stapling_responder_timeout verwendet, um die Cache-Zeit der OCSP-Antwort festzulegen, hier ist sie auf 5 Sekunden eingestellt und ssl_stapling_verify_result wird zur Überprüfung verwendet das Ergebnis der OCSP-Antwort.
Auch wenn wir den OCSP-Antwortcache auf einen sehr kurzen Wert einstellen, gibt es keine Garantie dafür, dass er immer auf dem neuesten Stand ist. Daher müssen wir auch die OCSP-Antwort regelmäßig aktualisieren, was durch die geplanten Aufgaben von Nginx erreicht werden kann, zum Beispiel:
0 * * * * /usr/sbin/nginx -s reload
Diese Aufgabe lädt die Nginx-Konfigurationsdatei zu Beginn jeder Stunde neu und aktiviert den OCSP-Stapling-Mechanismus erneut.
4. Zusammenfassung
Der OCSP-Stapling-Mechanismus im Nginx-Reverse-Proxy kann die Geschwindigkeit und Sicherheit von SSL-Verbindungen verbessern und gleichzeitig böswillige Angriffe verhindern. Die Leistung und Sicherheit von OCSP Stapling kann weiter optimiert werden, indem OCSP-Antworten zwischengespeichert werden, mehrere CA-Zertifikate verwendet werden, OCSP-Antworten häufiger aktualisiert werden und OCSP-Antworten regelmäßig aktualisiert werden. Daher sollten wir bei Verwendung des Nginx-Reverse-Proxy-Servers OCSP-Stapling aktivieren und die erforderlichen Optimierungen durchführen.
Das obige ist der detaillierte Inhalt vonOCSP-Stapling-Optimierung im Nginx-Reverse-Proxy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!