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

Lösen Sie das Problem des IDEA-Konfigurations-Tomcat-Startfehlers

Beim Konfigurieren unterschiedlicher Servlet-Pfad...

HTML-Tabellen-Tag-Tutorial (19): Zeilen-Tag

Die Attribute des <TR>-Tags werden verwende...

Eine kurze Diskussion über das Funktionswissen von Python

Inhaltsverzeichnis Zwei Hauptkategorien von Funkt...

Detaillierte Erläuterung der Kernkonzepte und Fälle von webpack-dev-server

Kernkonzepte von webpack-dev-server Webpacks Cont...

So ändern Sie die Systemsprache von CentOS7 in vereinfachtes Chinesisch

veranschaulichen Bei einer Eigeninstallation des ...

Beispiel für die Verwendung von Dockerfile zum Erstellen eines Nginx-Images

Einführung in Dockerfile Docker kann automatisch ...

Vue implementiert einfache Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für die Ineffektivität der flexiblen Layoutbreite in CSS3

In Projekten wird häufig das zweispaltige Layout ...

Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

Hintergrund Kürzlich habe ich während eines Onlin...

Lösung für das Problem, dass MySql immer das mySqlInstallerConsole-Fenster öffnet

MySql öffnet regelmäßig ein MySQLInstallerConsole...