[BIETE] Apache 2 / Nginx TLS Implementation

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von dreamax, 8. Mai 2014 .

Schlagworte:
  1. 8. Mai 2014
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Da es anscheinend Leute gibt die zu blöd sind ihrem Webserver auch HTTPS beizubringen, gibt es hier die korrekte TLSv1.2 Implementierung. Hierbei wurde Wert auf saubere Verschlüsselung und NICHT * auf Browser Kompatibilität gelegt. Wer nen uralt Browser verwendet ist selbst dran schuld.


    RSA Certificate signing request creation:

    Code:
    openssl req -nodes -newkey rsa:4096 -sha512 -nodes -keyout server.key -out server.csr -subj "/CN=meinedomain.de"
    
    Signed certificate creation:

    Code:
    Anbieter......: https://cheapsslsecurity.com/comodo/positivessl.html
    Promo-Code....: 
    Produkt.......: "Comodo Positive SSL"
    Benötigt......: TLD / email@TLD (z.B. via Namecheap E-Mail Weiterleitung) / signing request (siehe oben)
    Kosten........: 5.99 USD (4,40€)
    Alternativ: Kostenloses StartSSL Zertifikat

    Self-signed certificate creation:

    Code:
    openssl x509 -req -days 3650 -sha512 -in server.csr -signkey server.key -out server.crt

    Nginx >> Apache​


    Apache 2:

    Code:
    ## Apache 2 >= 2.3.3 (TLSv1.2 /w ECDHE; no SPDY ;( )
    # a2enmod ssl / a2enmod headers
    
    <VirtualHost *:443>
    ServerTokens Prod
    
    SSLEngine On
    SSLCertificateFile server.crt
    SSLCertificateKeyFile server.key
    SSLProtocol TLSv1 TLSv1.1 TLSv1.2
    SSLCompression Off
    SSLHonorCipherOrder On
    SSLCipherSuite 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA'
    Header add Strict-Transport-Security "max-age=15768000"
    </VirtualHost>
    

    Nginx:

    Code:
    ## Nginx >= 1.1.13 (TLSv1.2 /w ECDHE; no SPDY ;( ) / >= 1.6.0 (TLSv1.2 /w ECDHE; SPDY ;) )
    
    # Nginx >= 1.1.13 (no SPDY):
    listen 443 ssl;
    
    # Nginx >= 1.6.0:
    listen 443 ssl spdy;
    
    server_tokens off;
    
    ssl_certificate server.crt;
    ssl_certificate_key server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA';
    add_header Strict-Transport-Security max-age=15768000;
    
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    TLS-Implementierung Testen:

    Qualys SSL Server Test
    Bild


    Verbesserungsmöglichkeiten:

    • Nur TLSv1.2 erlauben ("Kickt" die meisten Browser)
    • Aktivierung der CHACHA20-POLY1305 Cipher Suite (benötigt OpenSSL Patch, GnuTLS oder LibreSSL)
    • Verwendung eines ECC-Zertifikats ("ECDSA", Bisher nur bei wenigen Anbietern verfügbar, >= 700€)
    • Verwendung einer vertrauensvolleren Stammzertifizierungsstelle (kein USA, Israel, etc. / z.B. Schweiz)
     
  2. 9. Mai 2014
    AW: [BIETE] Apache 2 / Nginx TLS Implementation

    Android 4, Google/Bing/Yahoo-bot, IE 11, Firefox ESR und iOS sowie OS-X Safari funktionieren nicht?
    Mit Verlaub, aber diese Konfig ist nicht brauchbar für den Einsatz bei einer Webseite.
     
  3. 9. Mai 2014
    AW: [BIETE] Apache 2 / Nginx TLS Implementation

    Jop, war nicht auf die ********rerein der Browser Hersteller ausgelegt.


    Ich bin mir zwar nicht sicher warum, um deinen ansprüchen zu genügen, hab ich das mal angepasst.
    Ist jetzt die Version wie ich sie im Produktiven Umfeld (+Chacha20) einsetze..
     
  4. 10. Juni 2014
    AW: [BIETE] Apache 2 / Nginx TLS Implementation

    "Mal drüber schauen" und "kleinere Tipps geben" mache ich natürlich kostenlos (via jabber, siehe unten).
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.