Jetzt, wo ich den Heartbleedbug kennengelernt habe,
kam wieder die Sehnsucht nach einer TLS(früher SSL)verschlüsselung.
Und da ich in der Hinsicht perfektionistisch veranlagt bin,
habe ich sofort auf eine GUTE mit A+ bewertete TLSverschlüsselung geachtet.
Ich teile meine makellosen NGINX (ich mag Apache schon seit einigen Jahren nicht mehr) Configdateien mit euch, die nebst fast perfekter Verschlüsselung auch noch spdy Protokoll Support hat:
nginx.conf:
[...]
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4;
ssl_ecdh_curve secp384r1;
ssl_session_timeout 5m;
[...]
solsocog.conf:
server {
server_name solsocog.de www.solsocog.de;
add_header Alternate-Protocol "443:npn-spdy/3.1";
add_header Cache-Control "public";
expires max;
listen 85.114.139.45:80;
listen [2001:4ba0:fffb:89::2]:80;
return 301 https://solsocog.de$uri;
}
server {
root /var/www/solsocog.de;
add_header Cache-Control "public";
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "DENY";
add_header Strict-Transport-Security "max-age=315360000";
expires max;
index index.php index.html;
listen 85.114.139.45:443 ssl spdy default;
listen [2001:4ba0:fffb:89::2]:443 ssl spdy;
server_name solsocog.de www.solsocog.de;
ssl on;
ssl_session_cache shared:SSL:1m;
ssl_certificate /backup/ssl/server.pem;
ssl_certificate_key /backup/ssl/server.key;
ssl_ecdh_curve secp384r1;
ssl_stapling on;
ssl_stapling_verify on;
if ($host != 'solsocog.de') { return 301 https://solsocog.de$uri; }
location = /favicon.ico {
empty_gif;
}
[...]
Wer ein ganz harter Kerl ist, generiert sich einen DH Wert per openssl dhparam -out dhparam.pem 8192
und schreibt in die nginx.conf und oder Domainconfigssl_dhparam /Pfad/zum/dhparam.pem;
Ein hilfreicher Test ist unter https://www.ssllabs.com/ssltest zu finden.
Hier übrigens mein Ergebnis.
Protocol Support: 95%, weil ich TLS1.1 und TLS1 als Protokollversionen noch zulasse.
Cipher Strength: 90%, weil die meisten Elliptic Curve Diffie Hellman Kryptographien nur 128Bit Stärke haben, bzw. nur so vom aktuellen Browserstamm genutzt werden können.
Kleine Notiz am Ende:
Die RC4 Kryptographie scheint derzeit ziemlig attackiert zu werden, deswegen habe ich RC4 als Verschlüsselung rausgenommen, was jedoch die BEAST Attacke auf Clients nicht verhindert.
Ein Großteil jener Clients scheint aber mittlerweile gegen BEAST Attacken geschützt zu sein.