[Gelöst] Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Apache, Lighttpd, nginx, Cherokee
User avatar
Proteus
Posts: 289
Joined: 2013-04-14 05:08
Location: Holzgerlingen
 

[Gelöst] Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Post by Proteus »

Hallo,

ich kann tun was ich will, und auch aus meiner alten Config die ich hier mal gepostet hatte, bekomme ich beim SSL Test zustande!

Ein B ist mir ein bisschen zu wenig:
SSL-Test.jpg
Hier mal meine Confs zur Ansicht:

Code: Select all

load_module modules/ngx_stream_module.so;
load_module modules/ngx_http_image_filter_module.so;
load_module modules/ngx_http_perl_module.so;
load_module modules/ngx_http_xslt_filter_module.so;
load_module modules/ngx_mail_module.so;
load_module modules/ngx_http_geoip_module.so;

# Define user that run nginx
			user www;
			worker_processes auto;

# Define error log
			error_log /var/log/nginx/error.log info;

			events {
			worker_connections 1024;
			multi_accept on;
			}
http {
			include       mime.types;
			default_type  application/octet-stream;
			log_format main '$remote_addr - $remote_user [$time_local] "$request"'
							'$status $body_bytes_sent "$http_referer"'
							'"$http_user_agent" "$http_x_forwarded_for"';
			tcp_nopush on;
			tcp_nodelay on;
			types_hash_max_size 2048;
			access_log /var/log/nginx/access.log;
				
# GENERAL
			ignore_invalid_headers on;
			sendfile on;
			server_name_in_redirect off;
			server_tokens off;
			charset utf-8;
			client_max_body_size 128M;
			client_body_buffer_size 128M;

#SSL 
			ssl_session_timeout 5m;
			ssl_session_cache shared:SSL:50m;
			add_header Strict-Transport-Security max-age=15768000;
			ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
			ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
			ssl_prefer_server_ciphers on;
# Timeouts
			client_body_timeout   65;
			client_header_timeout 65;
			keepalive_timeout     65 65;
			send_timeout          65;
# Compression
			gzip on;
			gzip_disable "MSIE [1-6]\.(?!.*SV1)";
			gzip_proxied expired no-cache no-store private auth;
			gzip_buffers 256 8k;
			gzip_comp_level 6;
			gzip_http_version 1.0;
			gzip_min_length 1024;
			gzip_vary on;
			gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/json;
#Cache
			fastcgi_cache_path /usr/local/etc/nginx/cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
			fastcgi_cache_key "$scheme$request_method$host$request_uri";
			fastcgi_cache_use_stale error timeout invalid_header http_500;
			fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
# Open file Cache
			open_file_cache          max=2000 inactive=20s;
			open_file_cache_valid    60s;
			open_file_cache_min_uses 5;
			open_file_cache_errors   off;
# FloodSchutz
			large_client_header_buffers 4 256k;
			limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
			limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=50r/s;
			limit_conn conn_limit_per_ip 20;
			limit_req zone=req_limit_per_ip burst=20;
			
			
			include wordpress/*.conf;
}

Code: Select all

server {
                listen 89.163.242.6:80 default;
                listen [2001:4ba0:ffa5:00f8::1]:80 ipv6only=on default; 
                listen 89.163.242.6:443 ssl default;
                listen [2001:4ba0:ffa5:00f8::1]:443 ssl default;
                
		server_name phoenix-blog phoenixblog.de;
				
# Define web data
                root /usr/local/www/phoenix;
                index index.php index.html index.htm;

                ssl_certificate /usr/local/etc/nginx/ssl/www.phoenix-blog.de.crt;
                ssl_certificate_key /usr/local/etc/nginx/ssl/www.phoenix-blog.de.key;
		ssl_dhparam /usr/local/etc/nginx/ssl/dh_params.pem;
		add_header Strict-Transport-Security "max-age=16070400; includeSubdomains";
		ssl_session_timeout 5m;
		ssl_protocols TLSv1.1 TLSv1.2;
		ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; 
		ssl_prefer_server_ciphers on;

		add_header X-Frame-Options SAMEORIGIN;
		add_header X-Content-Type-Options nosniff;
		add_header X-XSS-Protection "1; mode=block";

		if ($request_method = POST) {
		set $skip_cache 1;
		}   
		if ($query_string != "") {
		set $skip_cache 1;
		}   
		if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
		set $skip_cache 1;
		}   
		if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
		set $skip_cache 1;
		}
location /      {
                try_files $uri $uri/ /index.php?$args;
                }   
                rewrite /wp-admin$ $scheme://$host$uri/ permanent;
				
location ~* \.^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
                add_header        Cache-Control public;
                add_header        Cache-Control must-revalidate;
                expires           7d;
                }

                error_page 500 502 503 504 /50x.html;
                location = /50x.html {
                root /usr/local/www/nginx-dist;
                }
                open_file_cache max=1000 inactive=20s;
                open_file_cache_valid 30s;
                open_file_cache_min_uses 5;
                open_file_cache_errors off;

# Configuration for PHP-FPM
location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                include fastcgi_params;
		limit_req zone=req_limit_per_ip burst=20;
		fastcgi_cache_bypass $skip_cache;
		fastcgi_no_cache $skip_cache;
		fastcgi_cache WORDPRESS;
		fastcgi_cache_valid  60m;
		fastcgi_read_timeout 300;
                }
	}
Die params Schlüssel generiere ich so:

Code: Select all

openssl genpkey -genparam -algorithm DH -pkeyopt dh_paramgen_prime_len:4096 -out /usr/etc/nginx/ssl/dh_params.pem
openssl genpkey -genparam -algorithm EC -pkeyopt ec_paramgen_curve:secp384r1 -out /usr/etc/nginx/ssl/ec_params.pem
Daher meine Bitte, dass man kurz mal drüber schaut.
Last edited by Proteus on 2016-03-25 22:19, edited 1 time in total.
LG
Proti

"Die Kamera wird bei hohen ISO Werten aber rauschen. Nichts ahnend hielt er sich die Kamera ans Ohr!"
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Post by Joe User »

Der Grund für das B steht ja dort: Deine Zertifikats Chain ist unvollständig. Es fehlt vermutlich das Intermediate Zertifikat Deiner CA.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
Proteus
Posts: 289
Joined: 2013-04-14 05:08
Location: Holzgerlingen
 

Re: Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Post by Proteus »

Das ich das gesehen habe, habe ich vergessen zu erwähnen, Sorry!

Ich habe gestern die Zertifikate bei Hosteurope bestellt, und wie auf meinem alten Server eingepflegt, nun habe ich dieses Problem und habe alle erdenklichen Situationen der Conf durchgearbeitet, ich bin ehrlich gesagt Ratlos.
Hast Du eventuell noch das Chatprotokoll aus unserem Gespräch vom letzten Jahr? Da hattest du mir das erklärt!
LG
Proti

"Die Kamera wird bei hohen ISO Werten aber rauschen. Nichts ahnend hielt er sich die Kamera ans Ohr!"
User avatar
Proteus
Posts: 289
Joined: 2013-04-14 05:08
Location: Holzgerlingen
 

Re: Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Post by Proteus »

Also ich bekomme es nicht hin, hier muss ich resignieren! :(

Ich habe auch schon an Hosteurope geschrieben aber da wurde ich irgendwie missverstanden. Ich denke die gehen davon aus das ich da einen Server habe:
vielen Dank für Ihre Anfrage.

Sie erhalten die Note B, da wir noch die TLS Version 1.0 im Einsatz haben.
Vorraussichtlich im April/Mai 2016 werden wir die Betriebssysteme unserer Server aktualisieren und Ihnen dann auch TLS 1.2 zur Verfügung stellen.
Meine Antwort:
Hallo,

hallo, ich denke ich wurde missverstanden?
Ich habe einen eigenständigen Server im Einsatz, und kann durchaus selber wählen welches Protokoll unabhängig ihrer Servergenerierung wählen. Ich verwende die die Protokolle: ssl_protocols TLSv1.2;
Ich werde meine Frage ausführlicher stellen. Ich erhalte die Note B im SSL Test mit dem Hinweis: This server's certificate chain is incomplete. Grade capped to B.

Ich habe jegliche Konfigurationen durchprobiert, und da ihr Aussteller seid, kann mir sicher jemand helfen?
Auszug meiner Konf:

Code: Select all

# SSL nginx.conf
                ssl_stapling on;
                ssl_stapling_verify on;
                ssl_session_cache shared:SSL:10m;
                ssl_session_timeout 10m;
                ssl_prefer_server_ciphers on;
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_ciphers
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES
ECDH+:DH+
3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

# SSL worpress.conf
                ssl_certificate
/usr/local/etc/nginx/ssl/www.phoenix-blog.de.crt;
                ssl_certificate_key
/usr/local/etc/nginx/ssl/www.phoenix-blog.de.key;
                ssl_trusted_certificate
/usr/local/etc/nginx/ssl/www.phoenix-blog.de.pem;
                ssl_dhparam /usr/local/etc/nginx/ssl/dh_params.pem;
LG
Proti

"Die Kamera wird bei hohen ISO Werten aber rauschen. Nichts ahnend hielt er sich die Kamera ans Ohr!"
User avatar
Proteus
Posts: 289
Joined: 2013-04-14 05:08
Location: Holzgerlingen
 

Re: Nginx und SSL ich bekomme beim SSL Test kein A+ mehr hin

Post by Proteus »

Okay, nun habe ich es doch geschafft, durch Fummeln!! Ich hasse Fummeln!! *g*

In der *crt stand nicht drin was in der *pem drin stand, nun habe ich einfach mal die *pem in meiner *conf als auf ssl_certificate gesetzt!! :paling:
Unbenannt.JPG
LG
Proti

"Die Kamera wird bei hohen ISO Werten aber rauschen. Nichts ahnend hielt er sich die Kamera ans Ohr!"