security - 5061端口的3DES漏洞
问题描述
如何解决centOS7上5061端口的“64位分组密码3DES易受SWEET32攻击”和“强度低于证书密钥的密钥交换(dh 1024)”问题?
PORT STATE SERVICE
5061/tcp open sip-tls
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (dh 1024) - D
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 1024) - A
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (secp256r1) - C
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
| TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
| compressors:
| NULL
| cipher preference: client
| warnings:
| 64-bit block cipher 3DES vulnerable to SWEET32 attack
| Key exchange (dh 1024) of lower strength than certificate key
|_ least strength: D
解决方案
我猜您是在作为 sip 服务的管理员提出问题。
您应该提供不同的密码套件并根据您的安全要求对其进行配置。
这是一个非常强大的服务的密码套件示例:
cipher_list = HIGH:!COMPLEMENTOFDEFAULT:!kRSA:!PSK:!SRP
如果您希望保留当前的密码套件并仅删除 3DES,则只需禁用 3DES 即可
cipher_list = YOURCURRENTCIPHERSUITE:!3DES
当然,上面的示例显示了使用 openssl 时的典型配置。如果您使用其他系统,则需要调整它们。
您还应该有一些方法可以在配置中设置 DH PARAMETER,并且需要将其配置为更高的位数。例如:
$> openssl dhparam -out dhparam.pem 3072
结果将是这个:
PORT STATE SERVICE
5061/tcp open sip-tls
| ssl-enum-ciphers:
| TLSv1.2:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 3072) - A
| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) - A
| TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (dh 3072) - A
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 3072) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 3072) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 3072) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 3072) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 3072) - A
| compressors:
| NULL
| cipher preference: server
|_ least strength: A
推荐阅读
- ios - Firebase 云消息传递未收到通知 (iOS)
- html - Angular Input 类型的收音机无法识别属性
- javascript - 开玩笑地等待 promise 解决,然后再找到一个元素
- python-3.x - 如何摆脱 Visual Studio Code 中的一个智能感知警告
- android - 如何从另一个函数中访问 Raised Button 以更改该按钮边框或背景颜色?
- sql - 不支持使用 with 子句
- angular - 角度异步验证器映射与点击不同的结果
- python - 在 Python 中获得预期输出的问题
- javascript - 如何使用脚本获取保存在一张谷歌表中的所有命名范围的列表?
- r - 'x' 和 'y' 长度在 Shiny Reactive Plot 中不同