<!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>