服务器支持弱TLS加密算法漏洞如何解决

服务器的低危漏洞中给出“服务端支持弱TLS算法”的问题,检查到服务器中支持:

TLS_ ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_RSA_WIT H_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_256_CBC_SHA256

TLS_RSA_WITH_AES_256_CBC_SHA 

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDH E_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_AES_128_GCM_SHA256

TLS_RSA_WITH_AES_128_C BC_SHA256

TLS_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA

TLS_ECDH E_RSA_WITH_3DES_EDE_CBC_SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

如何区分何为弱加密,以及怎么禁用这些弱加密规则呢?

阅读 6.1k
1 个回答

首先不管啥算法,128 位以下的密钥肯定都不安全了,目前所有非对称算法无一例外都建议废弃 128 位以下密钥,甚至很多对称算法同样也不建议继续使用了;而特定算法(比如 ECDHE、RSA 等等)还会再有一些区别,但普遍认为 128 位的也不够安全了,起码 256 往上、有的甚至更大。

目前还没有哪个主流的非对称算法从算法本身被证明为不安全,一般都是增大密钥长度可解。

但这个玩意儿并非一成不变的,前面提到 64 位的不够安全了也是因为计算机的性能在不断提升,破解短密钥的难度也在不断降低。随着计算机的不断发展,现在被认为是“安全”的算法迟早有一天也会变得不安全。所以并没有一个所谓的清单式的东西让你查询哪些算法是“弱”的。不过目前业内有一些普遍共识是:

  • 对称算法:

    1. DES、RC2 完全不安全了。
    2. 3DES 密钥 256 位以下时不安全。
    3. RC4 密钥 128 位以下时不安全。
  • 非对称算法:

    1. RSA 密钥 1024 位以下时不安全。
  • 哈希算法:

    1. MD2、MD4 完全不安全了(含对应 HMAC)。
    2. MD5、SHA1 用于数字签名时不安全。

具体的你还是得随时去检查。


怎么配置的话以 nginx 为例,nginx.conf 里有一个参数 ssl_ciphers 可以指定使用会忽略哪些算法。具体怎么用你可以去查手册,我司的话一般配置为:

ssl_ciphers HIGH:!NULL:!aNULL:!ADH:!3DES:!RC4; 
# 表示只使用 HIGH 这一安全级别的算法,同时强制不使用后面指定的这几个 ADH、3DES、RC4 算法
# 因为某些低版本的 openssl 可能 HIGH 级别的数据比较老,里面就包含这些算法,所以要强制剔除掉
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏