Detaillierte Erläuterung der besten Konfiguration für Nginx zur Verbesserung von Sicherheit und Leistung

Detaillierte Erläuterung der besten Konfiguration für Nginx zur Verbesserung von Sicherheit und Leistung

Es zeigt hauptsächlich, wie X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, Strict-Transport-Security, https und andere Sicherheitskonfigurationen in Nginx konfiguriert werden.

Nginx.conf ist wie folgt konfiguriert

# Zeigen Sie die Nginx-Versionsnummer nicht auf Fehlerseiten oder im Server-Header an server_tokens off;

#Erlauben Sie nicht, dass Seiten aus Frames oder Iframes angezeigt werden, um Clickjacking zu vermeiden
# http://en.wikipedia.org/wiki/Clickjacking
# Wenn Sie [i]Frames zulassen, können Sie SAMEORIGIN verwenden oder Ihre zulässigen URLs in ALLOW-FROM festlegen
# https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options
add_header X-Frame-Optionen SAMEORIGIN;

#Wenn Ihre Website benutzergenerierte Inhalte wie z. B. ein Blog-Forum enthält, verwenden Sie den Header X-Content-Type-Options: nosniff,
# Hiermit wird das Content Type Sniffing in einigen Browsern deaktiviert. # https://www.owasp.org/index.php/List_of_useful_HTTP_headers
# Unterstützt derzeit IE > 8 und höher http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx
# http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx
#Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=471020
add_header X-Inhaltstyp-Optionen nosniff;

# Verhindert Cross-Site-Scripting (XSS), das derzeit von den meisten Browsern unterstützt wird. # Es ist standardmäßig aktiviert. Wenn es vom Benutzer deaktiviert wurde, können Sie es mit dieser Konfiguration aktivieren.
# https://www.owasp.org/index.php/Liste_nützlicher_HTTP-Header
add_header X-XSS-Schutz "1; Modus=blockieren";

#Aktivieren Sie die Content Security Policy (CSP), die von den meisten Browsern unterstützt wird. #Teilen Sie dem Browser mit, dass Skripte nur von dieser Domain und den von Ihnen explizit angegebenen URLs heruntergeladen werden können.
# http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful
add_header Inhaltssicherheitsrichtlinie „default-src ‚selbst‘; script-src ‚selbst‘ ‚unsafe-inline‘ ‚unsafe-eval‘ https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src ‚selbst‘ https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src ‚selbst‘ ‚unsafe-inline‘ https://fonts.googleapis.com https://assets.zendesk.com; font-src ‚selbst‘ https://themes.googleusercontent.com; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src ‚keine‘“;

Server {
Hören Sie 443 SSL standardmäßig verschoben;
Servername .forgott.com;

SSL-Zertifikat /etc/nginx/ssl/star_forgott_com.crt;
SSL-Zertifikatsschlüssel /etc/nginx/ssl/star_forgott_com.key;

#Aktivieren Sie die Wiederverwendung von Sitzungen, um die https-Leistung zu verbessern# http://vincent.bernat.im/en/blog/2011-ssl-session-reuse-rfc5077.html
ssl_session_cache gemeinsam genutzt: SSL: 50 m;
SSL-Sitzungszeitüberschreitung 5 Min.

# Diffie-Hellman-Parameter für DHE-Chiffrensammlungen, empfohlen 2048 Bit
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

#Serverseitigen Schutz vor BEAST-Angriffen aktivieren# http://blog.ivanristic.com/2013/09/is-beast-still-a-threat.html
ssl_prefer_server_ciphers ein;
# SSLv3 deaktivieren (standardmäßig aktiviert seit nginx 0.8.19) http://en.wikipedia.org/wiki/Secure_Sockets_Layer#SSL_3.0
SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2;
# Auswählen von Chiffren für Vertraulichkeit und Kompatibilität # http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html
SSL_CIPHERS "ECDHE-RSA-AES256-GCM-SHA384: ECDHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM-SHA256: ECDHE-RS256-SHA256-SHA256-SHA2566: ECDHE-RS12:-RSA-256-SHA-SHA256-SHA-SHA2566: ECDHE-RSA-RS-12566: ECDHE-RS1256: ECDHE-RSA-RSA-RSA-RSA-RSA-RSA-RSA-RSA-RSA-AAS256: : ECDHE-RSA-AES256-SHA: ECDHE-RSA-AES128-SHA: DHE-RSA-AES256-SHA256: DHE-RSA-AES128-SHA256: DHE-RSA-AES256-SHA: DHE-RSA-AES128-SHA: ECDHE-RSA-RSA:---SA-RSA: EDH-RSA:---SA-RSA-RSA-RSA-RSA-RSA: DES-RSA: EDH-RSA: EDH-RSA: --SA-DES-RSA: EDH-RSA: EDH-RSA:-SHA-RSA-RSA-RSA: EDHA M-Sha384: AES128-GCM-SHA256: AES256-SHA256: AES128-SHA256: AES256-SHA: AES128-SHA: DES-CBC3-SHA: Hoch:! Anull:! Enull:! Export:! Des:! Md5:! Psk:! Rc4 ";

# OCSP-Stapling aktivieren (Mechanismus, mit dem eine Site Informationen zum Widerruf von Zertifikaten auf datenschutzfreundliche und skalierbare Weise an Besucher übermitteln kann)
# http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/
Resolver 8.8.8.8;
ssl_stapling ein;
ssl_vertrauenswürdiges_Zertifikat /etc/nginx/ssl/star_forgott_com.crt;

# HSTS (HTTP Strict Transport Security) konfigurieren und aktivieren https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
#SSL-Stripping vermeiden https://en.wikipedia.org/wiki/SSL_stripping#SSL_stripping
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

# ... der Rest Ihrer Konfiguration
}

# leiten Sie den gesamten HTTP-Verkehr auf https um
Server {
hören Sie 80;
Servername .forgott.com;
gibt 301 https://$host$request_uri zurück;
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So steigern Sie Ihre Web-Performance um das Dreifache, indem Sie einen Parameter in Nginx aktivieren
  • Verwenden des X-Sendfile-Headers in Nginx, um die Download-Leistung von PHP-Dateien zu verbessern (für den Download großer Dateien)
  • Django verwendet Sellerie und NGINX, um statische Seiten zu generieren und so eine Leistungsoptimierung zu erreichen
  • Tutorial zum Aufbau eines Hochleistungs-Load-Balancing-Clusters mit Nginx+Tomcat
  • So erstellen Sie mit Nginx+Tomcat einen Hochleistungs-Load-Balancing-Cluster
  • Beschleunigen Sie die Nginx-Leistung: Aktivieren Sie GZIP und Cache
  • Lösung zur Leistungsoptimierung der Nginx-Serverkonfiguration
  • Einige Vorschläge zur Verbesserung der Nginx-Leistung

<<:  Detaillierte Erläuterung der Methode zum Vergleichen von Daten in MySQL

>>:  Erklären Sie TypeScript-zugeordnete Typen und eine bessere wörtliche Typinferenz.

Artikel empfehlen

Detaillierte Erklärung der API in Vue.js, die leicht zu übersehen ist

Inhaltsverzeichnis nächstesTick Syntaxvereinfachu...

Ein Beispiel für das elegante Schreiben von Urteilen in JavaScript

Inhaltsverzeichnis Vorwort 1. Monadisches Urteil ...

So verwenden Sie den Flat Style zum Gestalten von Websites

Das Wesen einer flachen Website-Struktur liegt in...

Detaillierte Analyse und Verwendung des Befehls tcpdump unter Linux

Einführung Einfach ausgedrückt ist tcpdump ein Pa...

Drei Möglichkeiten zum Implementieren eines Textfarbverlaufs in CSS

Bei der Entwicklung von Web-Frontends entwerfen U...

CSS zum Erzielen des Bildschwebens mit der Maus-Falteffekts

CSS zum Erzielen des Bildschwebens mit der Maus-F...

So löschen Sie Datensätze in MySQL automatisch vor einer bestimmten Zeit

Über Ereignisse: MySQL 5.1 hat begonnen, das Konz...

Verwendung des Linux-Befehls ipcs

1. Befehlseinführung Der Befehl ipcs wird verwend...

SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)

[LeetCode] 181.Mitarbeiter verdienen mehr als ihr...

Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

In diesem Artikel finden Sie den spezifischen Cod...

Grafisches Tutorial zur Installation von MySQL 5.6.35 unter Windows 10 64-Bit

1. Laden Sie MySQL Community Server 5.6.35 herunt...

Mehrere Möglichkeiten zum Ändern des MySQL-Passworts

Vorwort: Bei der täglichen Verwendung der Datenba...