Disable RC4 on SSL

Discussion in 'Server Operation' started by betafer, Feb 16, 2017.

  1. betafer

    betafer Member

    Hello,
    we upgrade ispconfig to version 3.1.2 all works fine, we also enable ssl with lets' encrypt
    but if we check with online tools for ssl we got that RC4 ssl protocol is insicure.
    How to disable this protocol ?
    I think is a good idea to not enable it by default in ispconfig, tell me if i'm wrong
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    The SSL cipher suite is set by the operating system (global config files) and not ISPConfig. Chnage your global cipher suite settings in the apache / nginx config and restart the web server.
     
  3. betafer

    betafer Member

    Ok thanks,
    can you tell me how to do, please we use debian and apache
    thank you
     
  4. sjau

    sjau Local Meanie Moderator

    well, what's in your /etc/apache2/mod-available/ssl.conf file?
     
    madmucho likes this.
  5. betafer

    betafer Member

    # SSL Cipher Suite:
    # List the ciphers that the client is permitted to negotiate. See the
    # ciphers(1) man page from the openssl package for list of all available
    # options.
    # Enable only secure ciphers:
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

    # Speed-optimized SSL Cipher configuration:
    # If speed is your main concern (on busy HTTPS servers e.g.),
    # you might want to force clients to specific, performance
    # optimized ciphers. In this case, prepend those ciphers
    # to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
    # Caveat: by giving precedence to RC4-SHA and AES128-SHA
    # (as in the example below), most connections will no longer
    # have perfect forward secrecy - if the server's key is
    # compromised, captures of past or future traffic must be
    # considered compromised, too.
    #SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
    #SSLHonorCipherOrder on

    # enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
    SSLProtocol all -SSLv2

    # Allow insecure renegotiation with clients which do not yet support the
    # secure renegotiation protocol. Default: Off
    #SSLInsecureRenegotiation on

    # Whether to forbid non-SNI clients to access name based virtual hosts.
    # Default: Off
    #SSLStrictSNIVHostCheck On
     
  6. sjau

    sjau Local Meanie Moderator

    I'd recommend to use those:

    Code:
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite 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:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
    SSLHonorCipherOrder on
    
    Also if you have apache 2.4.8 and openssl 1.0.2 or later, then you could add:
    Code:
    SSLOpenSSLConfCmd DHParameters "{path to dhparams.pem}"
    
    assuming you have an according DH parameters file.
     
  7. betafer

    betafer Member

    Thanks,
    so i change:
    SSLProtocol all -SSLv2
    to
    SSLProtocol all -SSLv2 -SSLv3
    --------------------
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    to
    SSLCipherSuite 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:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

    and uncomment
    SSLHonorCipherOrder on

    Right ?
     
  8. sjau

    sjau Local Meanie Moderator

    Yes, that's what I currently use and what's recommended from the LogJam attack: https://weakdh.org/sysadmin.html

    As you can see in the CipherSuite, it has RC4 and others disabled. Also the HonorCipherOrder will first try strongest cipher and then gradually try weak ones until server and client agree on one.
     
  9. betafer

    betafer Member

    Thanks !!!
     

Share This Page