<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<pre dir="ltr">On 2014-10-13 03:27, Alan Orth wrote: 
> Just wanted to point out that Mozilla has updated their server-side TLS
> recommendations: 

> https://wiki.mozilla.org/Security/Server_Side_TLS [1]

> They now have three compliance levels: old, intermediate, and modern. 

I also wrote a tool to analyze cipherscan's output against each recommended level.
https://jve.linuxwall.info/blog/index.php?post/2014/10/09/Automated-configuration-analysis-for-Mozilla-s-TLS-guidelines

The goal is to make it easier for admins to reach the intermediate level, without asking a security expert to analyze their configuration.<br />It's very opinionated, and I don't expect everyone to agree with its output. But it serves Mozilla's needs.<br /><br /> <br /><span style="font-family: courier new,courier;">$ ./cipherscan bettercrypto.org</span><br /><span style="font-family: courier new,courier;">.....................................</span><br /><span style="font-family: courier new,courier;">prio  ciphersuite                  protocols                    pubkey_size  signature_algorithm    trusted  ticket_hint  ocsp_staple  pfs_keysize</span><br /><span style="font-family: courier new,courier;">1     ECDHE-RSA-AES256-GCM-SHA384  TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">2     ECDHE-RSA-AES256-SHA384      TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">3     DHE-RSA-AES256-GCM-SHA384    TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">4     DHE-RSA-AES256-SHA256        TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">5     AES256-GCM-SHA384            TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">6     AES256-SHA256                TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">7     ECDHE-RSA-AES128-GCM-SHA256  TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">8     ECDHE-RSA-AES128-SHA256      TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">9     DHE-RSA-AES128-GCM-SHA256    TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">10    DHE-RSA-AES128-SHA256        TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">11    AES128-GCM-SHA256            TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">12    AES128-SHA256                TLSv1.2                      4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">13    ECDHE-RSA-AES256-SHA         SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">14    DHE-RSA-AES256-SHA           SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">15    DHE-RSA-CAMELLIA256-SHA      SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">16    AECDH-AES256-SHA             SSLv3,TLSv1,TLSv1.1,TLSv1.2  0            None                   True     None         False        ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">17    AES256-SHA                   SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">18    CAMELLIA256-SHA              SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">19    ECDHE-RSA-DES-CBC3-SHA       SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">20    EDH-RSA-DES-CBC3-SHA         SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">21    AECDH-DES-CBC3-SHA           SSLv3,TLSv1,TLSv1.1,TLSv1.2  0            None                   True     None         False        ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">22    DES-CBC3-SHA                 SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">23    ECDHE-RSA-AES128-SHA         SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">24    DHE-RSA-AES128-SHA           SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">25    DHE-RSA-CAMELLIA128-SHA      SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">26    AECDH-AES128-SHA             SSLv3,TLSv1,TLSv1.1,TLSv1.2  0            None                   True     None         False        ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">27    AES128-SHA                   SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">28    CAMELLIA128-SHA              SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">29    DHE-RSA-SEED-SHA             SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">30    SEED-SHA                     SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">31    ECDHE-RSA-RC4-SHA            SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">32    AECDH-RC4-SHA                SSLv3,TLSv1,TLSv1.1,TLSv1.2  0            None                   True     None         False        ECDH,P-384,384bits</span><br /><span style="font-family: courier new,courier;">33    RC4-SHA                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">34    RC4-MD5                      SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><span style="font-family: courier new,courier;">35    EDH-RSA-DES-CBC-SHA          SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True         DH,1024bits</span><br /><span style="font-family: courier new,courier;">36    DES-CBC-SHA                  SSLv3,TLSv1,TLSv1.1,TLSv1.2  4096         sha1WithRSAEncryption  True     300          True</span><br /><br /><span style="font-family: courier new,courier;">OCSP stapling: supported</span><br /><span style="font-family: courier new,courier;">Server side cipher ordering</span><br /><br /><br /><span style="font-family: courier new,courier;">$ ./analyze.py -t bettercrypto.org</span><br /><span style="font-family: courier new,courier;">bettercrypto.org:443 has bad ssl/tls</span><br /><br /><span style="font-family: courier new,courier;">Things that are really FUBAR:</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-MD5</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC-SHA</span><br /><br /><span style="font-family: courier new,courier;">Changes needed to match the old level:</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-MD5</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* use a certificate with sha1WithRSAEncryption signature</span><br /><span style="font-family: courier new,courier;">* consider enabling OCSP Stapling</span><br /><br /><span style="font-family: courier new,courier;">Changes needed to match the intermediate level:</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-MD5</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* disable SSLv3</span><br /><span style="font-family: courier new,courier;">* consider using a SHA-256 certificate</span><br /><span style="font-family: courier new,courier;">* consider enabling OCSP Stapling</span><br /><br /><span style="font-family: courier new,courier;">Changes needed to match the modern level:</span><br /><span style="font-family: courier new,courier;">* remove cipher AES256-GCM-SHA384</span><br /><span style="font-family: courier new,courier;">* remove cipher AES256-SHA256</span><br /><span style="font-family: courier new,courier;">* remove cipher AES128-GCM-SHA256</span><br /><span style="font-family: courier new,courier;">* remove cipher AES128-SHA256</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-CAMELLIA256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AES256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher CAMELLIA256-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC3-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-CAMELLIA128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-AES128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AES128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher CAMELLIA128-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DHE-RSA-SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher SEED-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher ECDHE-RSA-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher AECDH-RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher RC4-MD5</span><br /><span style="font-family: courier new,courier;">* remove cipher EDH-RSA-DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* remove cipher DES-CBC-SHA</span><br /><span style="font-family: courier new,courier;">* disable TLSv1</span><br /><span style="font-family: courier new,courier;">* disable SSLv3</span><br /><span style="font-family: courier new,courier;">* use a SHA-256 certificate</span><br /><span style="font-family: courier new,courier;">* consider enabling OCSP Stapling</span><br /><br /><br />- Julien</pre>
</body></html>