GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So aktivieren Sie die HSTS-Richtlinie (HTTP Strict Transport Security) in Nginx und Apache

Laut der Studie von Netcraft sind 95 % der HTTPS-Server anfällig für Man-in-the-Middle-Angriffe. Daher ist es sehr wichtig, HSTS richtig zu implementieren. HSTS (HTTP Strict Transport Security) ist eine Richtlinie, die Websites vor böswilligen Angriffen wie Clickjacking, Protokoll-Downgrades und Man-in-the-Middle-Angriffen schützt, wie in meinem früheren Artikel erläutert. In diesem Artikel sehen wir verschiedene Schritte zum Aktivieren von HSTS auf NGINX und Apache.

So aktivieren Sie HSTS auf Nginx

Öffnen Sie Ihre Nginx-Konfigurationsdatei für die Domäne, die Sie zum Aktivieren von HSTS benötigen.

Zum Beispiel:/etc/nginx/conf.d/tg.conf

Fügen Sie Ihrem HTTPS-Serverblock die folgende Zeile hinzu:

HSTS NICHT zum HTTP-Block hinzufügen
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
includeSubDomains-Parameter

Der optionale includeSubDomains -Parameter teilt dem Browser mit, dass die HSTS-Richtlinie auch für alle Subdomains der aktuellen Domain gilt.

Immer Parameter

Der always Parameter stellt sicher, dass der Header für alle Antworten gesetzt wird, einschließlich intern generierter Fehlerantworten.

Um das HSTS für einen Zeitraum von 1 Jahr zu konfigurieren, setzen Sie max-age auf 31536000 (in Sekunden). Sie muss mindestens 3 Monate betragen, um die Sicherheitsanforderungen zu erfüllen.

Starten Sie den Nginx-Dienst neu

Überprüfen Sie vor dem Neustart die Konfigurationsdatei wie folgt:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie den Nginx-Server neu, um die neuen Änderungen zu übernehmen.

# systemctl restart nginx

So aktivieren Sie HSTS auf Apache

Um HSTS auf Apache zu aktivieren, benötigen wir die mod_headers Modul installiert. Führen Sie den folgenden Befehl aus, um festzustellen, ob das Modul bereits installiert ist.

# apachectl -M | grep headers
 headers_module (shared)

Wenn Sie es haben, fahren Sie mit der Konfiguration der Header-Einstellungen der Domäne fort, die Sie zum Aktivieren von HSTS benötigen. Öffnen Sie die Konfigurationsdatei, die den VirtualHost enthält die SSL verwendet.

For eg: /etc/httpd/conf.d/tg.conf

Fügen Sie die folgende Konfiguration in Ihrem VirtualHost hinzu für Port 443 wie folgt:

<VirtualHost *:443>
......
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
......
</VirtualHost>

Starten Sie den Apache-Dienst neu

Überprüfen Sie vor dem Neustart die Konfigurationsdatei wie folgt:

# apachectl configtest
Syntax OK

Wenn die Syntax in Ordnung ist, starten Sie den Apache-Server neu, um die neuen Änderungen zu übernehmen.

# systemctl restart httpd       ## Redhat systems

# systemctl restart apache2     ## Debian systems

Das ist es! Testen Sie den Webserver, um festzustellen, ob HSTS aktiviert wurde.

$ curl -kIs https://example.com | grep Strict
Strict-Transport-Security: max-age=31536000; includeSubDomains

Linux
  1. So leiten Sie HTTP zu HTTPS in Nginx um

  2. So aktivieren Sie HTTP/2 in Nginx

  3. So aktivieren Sie HTTP2 in NGINX

  4. So aktivieren Sie HTTP/2 in Nginx unter Ubuntu und CentOS

  5. So aktivieren Sie SSL/TLS Perfect Forward Secrecy in Apache oder Nginx

So aktivieren Sie HTTP/2.0 in Nginx

So aktivieren Sie HTTP/2 in Apache auf einem Linux-System

So aktivieren Sie HTTP/2.0 in Nginx Server:Schritt-für-Schritt-Anleitung

So aktivieren Sie HTTP/2 mit Apache in Ubuntu

So richten Sie Nginx als Loadbalancer für Apache oder Tomcat für HTTP/HTTPS ein

So aktivieren Sie HTTP/2.0 in Nginx unter CentOS