详细描述
该插件连接到目标主机服务,检测到目标服务加密通信使用的SSL加密算法。 远程服务利用旧版 TLS 加密流量。
解决办法
启用 TLS 1.2 和/或 1.3 支持,禁用 TLS 1.0 支持
nginx样例配置如下:
server {
listen 4433 ssl;
server_name xxx.cn;
ssl_certificate /etc/nginx/crt/server.crt;
ssl_certificate_key /etc/nginx/crt/server.key;
# 启用高版本TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5:!RSA;
# ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
}
启用测试办法
- nginx支持tls1.2
# openssl s_client -connect xx:4433 -tls1_3
$ openssl s_client -connect xx:4433 -tls1_2
CONNECTED(00000003)
Can't use SSL_get_servername
depth=0 CN = xxxx
verify error:num=18:self signed certificate
verify return:1
depth=0 CN = xxx
verify return:1
---
Certificate chain
0 s:CN = xxx
i:CN = xxx
---
Server certificate
-----BEGIN CERTIFICATE-----
输出了服务端证书代表支持TLSv1.2
也可以通过curl测试,列如这段输出代表TLSv1.3协议被使用:
[root@node4 /data/nginx/conf.d]# curl -kv https://xxxx:4433
* Trying xxx...
* Connected to xx (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: CN=xxx
* start date: Jun 22 07:51:21 2023 GMT
* expire date: Jun 19 07:51:21 2033 GMT
* issuer: CN=xxx
* SSL certificate verify result: self signed certificate (18), continuing anyway.
> GET / HTTP/1.1
> Host: xx:4433
> User-Agent: curl/7.71.1
> Accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
- nginx禁用tls1.1测试
$ openssl s_client -connect xx:4433 -tls1
CONNECTED(00000003)
281473151814288:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1544:SSL alert number 70
---
no peer certificate available
---
No client certificate CA names sent
---
注意事项
- Nginx 和 OpenSSL 版本:TLS 1.3 需要 Nginx ≥ 1.13.0 且 OpenSSL ≥ 1.1.1,若版本过低,需先升级(或仅启用 TLS 1.2)。
# 检查openssl版本
$ openssl version
OpenSSL 1.1.1f 31 Mar 2020
- 兼容性影响:禁用 TLS 1.0 可能影响老旧设备(如 Windows XP、IE 8 及以下),需评估业务兼容性后操作。
目标主机支持RSA密钥交换
详细描述
目标主机支持 RSA 密钥交换意味着缺乏前向保密,存在历史流量解密风险,是过时且不推荐使用的配置,提议更新为 ECDHE 等临时密钥交换算法,以增强会话安全性和隐私保护。
解决办法
禁用 RSA key exchange:只支持临时密钥交换算法(如 ECDHE_RSA 或 ECDHE_ECDSA)。
强制 TLS 1.2 或 TLS 1.3,并优先选择支持前向保密的密码套件,列如:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
增加nginx配置:
ssl_ciphers HIGH:!aNULL:!MD5:!RSA;
# ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256;
具体在nginx.conf位置参考上面漏洞的配置文件。

© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END















暂无评论内容