4

我正在迁移到 Tomcat 7,并认为现在是查看我用于 SSL 连接的密码的好时机。我意识到我大约在 5 年前设置了这些,从那以后就再也没有想过它们。

我的清单是否缺少任何重要的密码?它包括任何我不应该的吗?

我的 Web 应用程序是一个安全性很重要的应用程序,因此最好谨慎行事。需要对 IE8 的支持,国际用户也是如此(但不是朝鲜)。

ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, 
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
4

1 回答 1

3

简短版本:

  • 添加 TLS_RSA_WITH_AES_128_CBC_SHA256
  • 添加 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • 添加 TLS_DHE_DSS_WITH_AES_128_CBC_SHA25
  • 如果您没有任何 XP 客户端,请放弃 3DES 密码套件。

更长的解释:

支持的密码套件因 JVM 主要版本和主要版本以及供应商而异。检查您的 JVM 文档以获取受支持的密码套件列表,或使用这些行中的内容来列出它们。

package org.apache.markt;

import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.util.Set;
import javax.crypto.Cipher;
import javax.net.ssl.SSLServerSocketFactory;

public class CryptoInfo {
    public static void main(String[] args) {
        try {
            Set<String> algorithms = Security.getAlgorithms("Cipher");
            for(String algorithm: algorithms) {
                int max;
                max = Cipher.getMaxAllowedKeyLength(algorithm);
                System.out.printf("%-22s: %dbit%n", algorithm,
                        Integer.valueOf(max));
            }
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

        SSLServerSocketFactory f =
            (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
        String[] cs = f.getSupportedCipherSuites();
        for (String c : cs) {
            System.out.println(c);
        }

    }
}

您可能不想要任何 KRB5 密码套件,因此请删除它们。如果存在,您还可以删除 TLS_EMPTY_RENEGOTIATION_INFO_SCSV(用于指示是否支持安全重新协商的虚拟密码套件)。删除任何提及 NULL、anon、export 或 DES 为不安全的内容。RC4 有一些问题,所以您可能也想删除这些问题。IE8 不支持 ECDH,所以删除它们。XP 上的 IE8 不支持 ECDHE,因此您可能希望放弃这些。

留下您上面的列表加上: TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256

您可能也应该考虑从列表中删除 3DES 密码。XP 上的 IE8 不支持 AES 的问题(Vista 上的 IE8 支持)。所以你可能无法做到这一点。

您可能会发现这些参考资料很有用:

http://www.g-sec.lu/sslharden/SSL_comp_report2011.pdf

https://www.ssllabs.com/downloads/SSL_TLS_Deployment_Best_Practices_1.3.pdf

于 2013-10-10T10:23:53.250 回答