TLS 1.3 aktivieren bei nginx

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 04.04.2020 21:37:04

Hallo :) Wie aktivere ich bei nginx TLS 1.3 und deaktiviere TLS 1.0? Ich hab das in /etc/nginx/nginx.conf wie folgt drin:

Code: Alles auswählen

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
Trotzdem wird beim SSL Test auf https://www.ssllabs.com/ immer noch angezeigt, dass kein TLS 1.3 verfügbar ist. Was mache ich da falsch?

Liebe Grüße
Thomas

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: TLS 1.3 aktivieren bei nginx

Beitrag von schwedenmann » 04.04.2020 21:56:10

Hallo

Schau mal hier

https://magazin.sslmarket.de/inpage/ein ... em-server/
Abschnitt nginx

mfg
schwedenmann

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Lord_Carlos » 04.04.2020 21:58:57

Funktioniert bei mir. A+
Vielleicht systemctl reload nginx.service oder neustart vergessen?
Wird von einer anderen config ueberschrieben?
Mal in den logs geguckt?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 04.04.2020 22:35:05

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
04.04.2020 21:56:10
Hallo

Schau mal hier

https://magazin.sslmarket.de/inpage/ein ... em-server/
Abschnitt nginx

mfg
schwedenmann
Genau danach habe ich es ja gemacht.
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
04.04.2020 21:58:57
Funktioniert bei mir. A+
Vielleicht systemctl reload nginx.service oder neustart vergessen?
Wird von einer anderen config ueberschrieben?
Mal in den logs geguckt?
Ich habe den Webserver natürlich neugestartet. Bei den Configs bin ich mir allerdings nicht sicher. Wo können noch Configs sein, die über der /etc/nginx/nginx.conf stehen? Ich verwende für die Verwaltung ISPConfig und für die Lets Encrypt.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Lord_Carlos » 04.04.2020 23:08:27

festplatte32 hat geschrieben: ↑ zum Beitrag ↑
04.04.2020 22:35:05

Ich habe den Webserver natürlich neugestartet. Bei den Configs bin ich mir allerdings nicht sicher. Wo können noch Configs sein, die über der /etc/nginx/nginx.conf stehen? Ich verwende für die Verwaltung ISPConfig und für die Lets Encrypt.
Deine webseiten von dir die unter sites-available/foo liegen koennen auch noch mit include andere config einbeziehen.

Ich glaube ich habe meine settings von https://www.digitalocean.com/community/tools/nginx inspirieren lassen.

Code: Alles auswählen

        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:10m;
        ssl_session_tickets off;

        # Mozilla Intermediate configuration
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

        # OCSP Stapling
        ssl_stapling on;
        ssl_stapling_verify on;

        resolver 192.168.1.1 valid=60s;
        resolver_timeout 2s;

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 04.04.2020 23:24:58

Hier mal eine vHost. Ich sehe da nichts ungewöhnliches...

Code: Alles auswählen

server {
        listen *:80;
        listen [::]:80;
        listen *:443 ssl;
        listen [::]:443 ssl;
	ssl_protocols TLSv1.2 TLSv1.3;
     	ssl_certificate /var/www/clients/client2/web2/ssl/musterhausen.com-le.crt;
        ssl_certificate_key /var/www/clients/client2/web2/ssl/musterhausen.com-le.key;

        server_name musterhausen.com www.musterhausen.com;

        root   /var/www/musterhausen.com/web/;



        index index.html index.htm index.php index.cgi index.pl index.xhtml;



        error_log /var/log/ispconfig/httpd/musterhausen.com/error.log;
        access_log /var/log/ispconfig/httpd/musterhausen.com/access.log combined;

        location ~ /\. {
			deny all;
        }

        location ^~ /.well-known/acme-challenge/ {
			access_log off;
			log_not_found off;
			auth_basic off;
			root /usr/local/ispconfig/interface/acme/;
			autoindex off;
			index index.html;
			try_files $uri $uri/ =404;
        }

        location = /favicon.ico {
            log_not_found off;
            access_log off;
            expires max;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location /stats/ {

            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client2/web2/web//stats/.htpasswd_stats;
        }

        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }

        location ~ \.php$ {
            try_files /50b679df2fac319edfdb6515b182496b.htm @php;
        }

        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web2.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }




        location / {
                        try_files $uri $uri/ /index.php?$args;
        }

               rewrite /wp-admin$ $scheme://$host$uri/ permanent;

        location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
                        expires max;
                        log_not_found off;
        }



}

Bullet64
Beiträge: 49
Registriert: 02.06.2017 19:57:01

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Bullet64 » 05.04.2020 08:24:09

Schreib die SSL Settings mal testweise in die vHost Konfig.

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 05.04.2020 12:01:51

Bullet64 hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 08:24:09
Schreib die SSL Settings mal testweise in die vHost Konfig.
Meinst du das in etwa so:

Code: Alles auswählen

server {
        listen *:80;
        listen [::]:80;
        listen *:443 ssl;
        listen [::]:443 ssl;

	##
	# SSL Settings
	##
	ssl_protocols TLSv1.2 TLSv1.3;
   	ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    	ssl_prefer_server_ciphers on;
	ssl_certificate /var/www/clients/client2/web2/ssl/musterhausen.com-le.crt;
        ssl_certificate_key /var/www/clients/client2/web2/ssl/musterhausen.com-le.key;


	# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
	ssl_dhparam /etc/ssl/dhparams4096.pem;

 	# HSTS (ngx_http_headers_module is required)
    	add_header Strict-Transport-Security max-age=31536000;

        server_name musterhausen.com www.musterhausen.com;

        root   /var/www/musterhausen.com/web/;

        index index.html index.htm index.php index.cgi index.pl index.xhtml;

        error_log /var/log/ispconfig/httpd/musterhausen.com/error.log;
        access_log /var/log/ispconfig/httpd/musterhausen.com/access.log combined;

        location ~ /\. {
			deny all;
        }

        location ^~ /.well-known/acme-challenge/ {
			access_log off;
			log_not_found off;
			auth_basic off;
			root /usr/local/ispconfig/interface/acme/;
			autoindex off;
			index index.html;
			try_files $uri $uri/ =404;
        }

        location = /favicon.ico {
            log_not_found off;
            access_log off;
            expires max;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location /stats/ {

            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client2/web2/web//stats/.htpasswd_stats;
        }

        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }

        location ~ \.php$ {
            try_files /50b679df2fac319edfdb6515b182496b.htm @php;
        }

        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web2.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }

        location / {
                        try_files $uri $uri/ /index.php?$args;
        }

               rewrite /wp-admin$ $scheme://$host$uri/ permanent;

        location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
                        expires max;
                        log_not_found off;
        }



}
Es ist immer noch das gleiche Ergebnis. Siehe Bild.

Bild

Meine nginx Version ist: nginx/1.17.9. Falls das wichtig ist. Aber TSL 1.3 sollte der ja können.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Lord_Carlos » 05.04.2020 12:22:07

/etc/nginx/conf.d/ ist leer oder?
festplatte32 hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 12:01:51
Meine nginx Version ist: nginx/1.17.9. Falls das wichtig ist. Aber TSL 1.3 sollte der ja können.
Wie hast du die installiert?
Ist ja nicht aus dem debian repo, also vielleicht liegt alles unter /opt/?

/var/log/nginx/error.log mal nachgeguckt?
journalctl -u nginx

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 05.04.2020 12:50:25

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 12:22:07
/etc/nginx/conf.d/ ist leer oder?
Nein da liegt eine default.conf:

Code: Alles auswählen

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

Aber darin sehe ich den Fehler nicht, da sich ja da keine SSL-Konfigurationen befinden.
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 12:22:07
Wie hast du die installiert?
Ist ja nicht aus dem debian repo, also vielleicht liegt alles unter /opt/?

/var/log/nginx/error.log mal nachgeguckt?
journalctl -u nginx
Ich hab die nginx Repos eingebunden, weil mit der "alten" Nginx-Version gar kein TSL 1.3 möglich ist. Installiert habe ich das wie folgt:

Code: Alles auswählen

echo "deb http://nginx.org/packages/mainline/debian/ stretch nginx deb-src http://nginx.org/packages/mainline/debian/ stretch nginx" > /etc/apt/sources.list.d/nginx.list
wget -qO - https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
apt update
apt remove nginx-common
apt install nginx

Die Configs habe ich natürlich beibehalten. Aber ich finde da auch keine Fehler...

in /opt/ liegt nur eine weitere php-Version, der Certbot und ein metronome-ordner wo ich selber gerade nicht weis, was das war :mrgreen:

journalctl -u nginx wirft folgendes aus:

Code: Alles auswählen

Apr 05 11:54:12 server systemd[1]: Starting nginx - high performance web server...
Apr 05 11:54:12 server nginx[27121]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/sites-enabled/000-ispconfig.vhost:4
Apr 05 11:54:12 server systemd[1]: Started nginx - high performance web server.
Das sieht aber auch nicht unbedingt nach dem Problem aus, welches ich suche. Oder sehe ich da was falsch?

Nachtrag: Ich habe noch bei der ispconfig.vhost folgendes geändert:

Code: Alles auswählen

        listen 8080 ssl;
        listen [::]:8080 ipv6only=on;
	ssl_protocols TLSv1.2 TLSv1.3;
Jetzt ist der Fehler: Apr 05 11:54:12 server nginx[27121]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/sites-enabled/000-ispconfig.vhost:4 weg.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Lord_Carlos » 05.04.2020 13:10:17

Tjo, weis auch nicht weiter.
Ich benutzte Nginx aus Debian stable mit TLS 1.3, bei oldstable ging das nicht.
nginx version: nginx/1.14.2

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 05.04.2020 13:17:49

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 13:10:17
Tjo, weis auch nicht weiter.
Ich benutzte Nginx aus Debian stable mit TLS 1.3, bei oldstable ging das nicht.
nginx version: nginx/1.14.2
Na super :mrgreen: Ich verzweifel hier auch langsam. Willst du damit andeuten, dass ich es mal mit der nginx 1.14 versuchen soll?

Welche Debian Version nutzt du?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Lord_Carlos » 05.04.2020 15:44:10

festplatte32 hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 13:17:49
Na super :mrgreen: Ich verzweifel hier auch langsam. Willst du damit andeuten, dass ich es mal mit der nginx 1.14 versuchen soll?
Welche Debian Version nutzt du?
¯\_(ツ)_/¯
Versuch ist es wert.
Ich wollte nur sagen das Debian stable und TLS 1.3 funktionieren.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Bullet64
Beiträge: 49
Registriert: 02.06.2017 19:57:01

Re: TLS 1.3 aktivieren bei nginx

Beitrag von Bullet64 » 05.04.2020 16:25:33

Der Stable Zweig ist 1.16, Mainline ist 1.17 von nginx.

Ich nutze

Code: Alles auswählen

nginx version: nginx/1.16.1
und openssl in

Code: Alles auswählen

OpenSSL 1.1.1d  10 Sep 2019
Erst seit 1.1.1 steht TLS 1.3 zur Verfügung. Damit habe ich keine Probleme. Check mal deine Versionen.

festplatte32
Beiträge: 28
Registriert: 04.05.2012 22:18:14

Re: TLS 1.3 aktivieren bei nginx

Beitrag von festplatte32 » 05.04.2020 22:48:35

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 15:44:10
festplatte32 hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 13:17:49
Na super :mrgreen: Ich verzweifel hier auch langsam. Willst du damit andeuten, dass ich es mal mit der nginx 1.14 versuchen soll?
Welche Debian Version nutzt du?
¯\_(ツ)_/¯
Versuch ist es wert.
Ich wollte nur sagen das Debian stable und TLS 1.3 funktionieren.
Bullet64 hat geschrieben: ↑ zum Beitrag ↑
05.04.2020 16:25:33
Der Stable Zweig ist 1.16, Mainline ist 1.17 von nginx.

Ich nutze

Code: Alles auswählen

nginx version: nginx/1.16.1
und openssl in

Code: Alles auswählen

OpenSSL 1.1.1d  10 Sep 2019
Erst seit 1.1.1 steht TLS 1.3 zur Verfügung. Damit habe ich keine Probleme. Check mal deine Versionen.
Danke erstmal für die Tipps, ich werde das durchtesten und mir ggf noch einen Testserver aufbauen. Ich melde mich wieder!

Antworten