SSL Kompromiss aus Kompatibilität und Sicherheit

SoapWater

New Member
Aloha liebe Community,
ich betreibe sämtliche Webseiten auf meinen Server mit SSL. Ich habe mich an die Kriterien von SSL Labs gehalten um eine möglichst sichere Verbindung mit guter Bewertung (A-) zu erhalten. Wenn es nach denen geht, darf ja nur TLS 1.2 verwendet werden. Leider musste ich aber vor kurzem feststellen, dass dann viele (leicht ältere (z.B. vom Galaxy S4)) Browser einfach nur einen SSL-Fehler anzeigen. Das ist besonders ärgerlich für meine verwendete owncloud, da ich ja damit Dateien einfach an jedermann teilen möchte und nicht vorher wissen will "ja welchen Browser nimmst du denn?". Vielleicht könnt Ihr mir etwas näherbringen, wie ich am besten die Kompatibilität und Sicherheit unter einen Hut bringen kann, da ich mich noch nicht so lang mit dem Thema SSL beschäftige.

Vielen Dank für Antworten :)

Mit freundlichen Grüßen
euer SoapWater
 
Du möchtest also ein Ergebnis wie im Screenshot erreichen?
 

Attachments

  • Qualys SSL Labs - Projects - SSL Server Test - rootservice.org 2015-02-23 21-52-57.jpg
    Qualys SSL Labs - Projects - SSL Server Test - rootservice.org 2015-02-23 21-52-57.jpg
    213.9 KB · Views: 211
Du kannst dich auf A+ verbessern, indem du "HTTP Strict Transport Security" nutzt (sofern du nicht durch irgendwas anderes abgewertet wirst).

Für den Fall, dass du "Server Name Indication" (SNI) nutzen musst, sieht das z.B. mit Windows XP+IE und Android 2.3.7 schlecht aus.

Android 4.0.x bis Android 4.3 können nur bis TLS 1.0. Wenn du TLS 1.0 deaktivierst ist da natürlich Ende.

SSL Labs zeigt da auch einige Informationen an, die dir helfen können und natürlich der Screenshot von Joe User.

Joe User hat bei Key Exchange 100%. Soweit ich das noch im Kopf habe ist dafür DH mit 4096 Bits Pflicht und nicht mit 1024 Bits (bei den "TLS_DHE_RSA_WITH_AES..."-Cipher Suites). Ich meine da ging es auch darum ob Apache 2.2.x oder Apache 2.4.x genutzt wird.
 
Last edited by a moderator:
Erläuterungen bitte der offiziellen Doku entnehmen.


/etc/apache24/httpd.conf
Code:
Include "/etc/apache24/vhosts.conf"
<IfModule ssl_module>
    SSLRandomSeed startup file:/dev/urandom 512
    SSLRandomSeed connect file:/dev/urandom 512
    SSLPassPhraseDialog builtin
    <IfModule socache_shmcb_module>
        SSLSessionCache "shmcb:/var/run/ssl_scache(512000)"
    </IfModule>
    <IfModule !socache_shmcb_module>
        <IfModule socache_dbm_module>
            SSLSessionCache "dbm:/var/run/ssl_scache"
        </IfModule>
        <IfModule !socache_dbm_module>
            SSLSessionCache "nonenotnull"
        </IfModule>
    </IfModule>
    SSLSessionCacheTimeout 300
    SSLCompression Off
    SSLSessionTickets Off
    SSLHonorCipherOrder On
    SSLStrictSNIVHostCheck On
    SSLOptions +StrictRequire +StdEnvVars
    SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
    SSLCipherSuite "EECDH+AESGCM EECDH+AES256 EECDH+AES128 EDH+AESGCM EDH+AES256 EDH+AES128 !CAMELLIA !RC4 !3DES !IDEA !SEED !PSK !SRP !DSS !eNULL !aNULL !MEDIUM !LOW !EXP"
    SSLOCSPEnable On
    SSLOCSPDefaultResponder "http://your.ca.tld/ocsp/responder"
    <IfModule socache_shmcb_module>
        SSLUseStapling On
        SSLStaplingResponderTimeout 5
        SSLStaplingReturnResponderErrors Off
        SSLStaplingCache "shmcb:/var/run/stapling_cache(128000)"
    </IfModule>
    <IfModule !socache_shmcb_module>
        <IfModule socache_dbm_module>
            SSLUseStapling On
            SSLStaplingResponderTimeout 5
            SSLStaplingReturnResponderErrors Off
            SSLStaplingCache "dbm:/var/run/stapling_cache"
        </IfModule>
    </IfModule>
    Include "/etc/apache24/vhosts-ssl.conf"
</IfModule>

/etc/apache24/vhosts.conf
Code:
<VirtualHost *:80>
    ServerName host.domain.tld
    ServerAdmin webmaster@domain.tld
    CustomLog "/var/www/vhosts/host.domain.tld/logs/access_log" combined
    ErrorLog "/var/www/vhosts/host.domain.tld/logs/error_log"
    DocumentRoot "/var/www/vhosts/host.domain.tld/data"
    <Directory "/var/www/vhosts/host.domain.tld/data">
        Options None +FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    Redirect 301 / https://host.domain.tld/
</VirtualHost>

/etc/apache24/vhosts-ssl.conf
Code:
<VirtualHost *:443>
    ServerName host.domain.tld
    ServerAdmin webmaster@domain.tld
    CustomLog "/var/www/vhosts/host.domain.tld/logs/ssl_access_log" combined
    ErrorLog "/var/www/vhosts/host.domain.tld/logs/ssl_error_log"
    DocumentRoot "/var/www/vhosts/host.domain.tld/data"
    <Directory "/var/www/vhosts/host.domain.tld/data">
        Options None +FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    SSLEngine on
    SSLCertificateFile "/etc/ssl/certs/host.domain.tld.01.crt"
    SSLCertificateKeyFile "/etc/ssl/private/host.domain.tld.01.key"
    SSLCertificateChainFile "/etc/ssl/ca/your.ca.chain.pem"
    <IfModule headers_module>
        Header always set Strict-Transport-Security "max-age=15768000; preload"
        Header always set Public-Key-Pins "pin-sha256=\"...pubkey01...\"; pin-sha256=\"...pubkey02...\"; max-age=15768000"
    </IfModule>
</VirtualHost>
 
Back
Top