# Sichere SSL Konfiguration

Mit dem „[Mozilla SSL Configuration Generator](https://ssl-config.mozilla.org/ "https://ssl-config.mozilla.org/")“ läßt sich aktuell wohl am einfachsten und schnellsten eine sichere Konfiguration für den nginx-Webserver erstellen.

Einfach Webserver, Version von Webserver und OpenSSL setzen und zwischen verschiedenen Cipherprofilen wählen, fertig ist eine Beispielkonfiguration.

Der Eintrag zu [TLS im Mozilla Wiki](https://wiki.mozilla.org/Security/Server_Side_TLS "https://wiki.mozilla.org/Security/Server_Side_TLS") ist auch sehr lesenswert.

<div id="bkmrk-"><div>---

</div></div>Alternativ habe ich hier noch meine (**veraltete**) Anleitung:

Die Empfehlungen richten sich nach den Vorgaben von [BetterCrypto.org](https://bettercrypto.org/ "https://bettercrypto.org/") und ihrem [Applied Crypto Hardening PDF](https://bettercrypto.org/static/applied-crypto-hardening.pdf "https://bettercrypto.org/static/applied-crypto-hardening.pdf") mit dem Stand vom 21.04.2016.

Folgendes kann man machen, um die Standard-SSL Konfiguration von Apache 2.4 sicherer zu gestalten:

<div id="bkmrk-schwache-cipher-und-"><div>- <div>Schwache Cipher und Protokolle abschalten</div>
- <div>Webserver soll die Reihenfolge der Ciphers vorgeben</div>
- <div>SSL-Komprimierung ausschalten</div>
- <div>[HSTS aktivieren](https://wiki.magenbrot.net/linux/webserver/apache/hsts-header_http_strict_transport_security_konfigurieren "linux:webserver:apache:hsts-header_http_strict_transport_security_konfigurieren")</div>
- <div>[Permanente Umleitung von HTTP nach HTTPS aktivieren](https://wiki.magenbrot.net/linux/webserver/apache/permanente_umleitung_auf_https "linux:webserver:apache:permanente_umleitung_auf_https")</div>

</div></div>Das folgende gilt für Apache 2.4 unter Debian. Ich trage dabei nur die beiden Direktiven für SSL-Zertifikatsbundle (SSLCertificateFile) und SSL-Keyfile (SSLCertificateKeyFile) direkt in den jeweiligen Vhost ein. Die restliche SSL-Konfiguration setze ich global (nach „`a2enmod ssl`“) in /etc/apache2/mods-enabled/ssl.conf. Vorher die bereits konfigurierten Settings auskommentieren (es sollen keine Direktiven doppelt eingetragen sein) und diesen Teil am Ende der Datei einfügen:

<div id="bkmrk-sslprotocol-all--ssl"><div>```
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCompression off
SSLCipherSuite 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA'
```

</div></div>Danach muss Apache neu geladen/neu gestartet werden!