漏洞问题解决—SSL/TLS Not Implemented (verified)(中危)
一、问题描述
该漏洞表明目标系统或应用程序未实现SSL/TLS加密,即服务在传输数据时使用的是明文协议(如HTTP、FTP、Telnet等),而非加密协议(如HTTPS、FTPS、SFTP等)。攻击者可在网络中进行中间人攻击(MITM),窃取用户凭证、会话令牌、个人数据等敏感信息。
“verified”表示该问题已通过工具或手动测试确认,非误报。
具体内容可以在浏览器按F12
打开控制台,查看“Security”标签下的连接详情。
二、常见场景
- Web应用仅支持HTTP,未配置HTTPS
- 后台管理界面使用HTTP传输
- API接口未启用TLS
- 邮件服务器(SMTP/IMAP)未加密
- 内部系统误认为“内网安全”而未加密
三、问题解决
一、创建内部 CA(根证书)
1. 创建目录结构
mkdir -p /opt/ca/{private,certs,newcerts,csr}
cd /opt/ca
chmod 700 private csr
touch index.txt
echo 1000 > serial
2. 创建 CA 私钥(加密存储)
openssl genrsa -aes256 -out private/ca.key.pem 4096
设置密码(如:ca123456
),记住它!
3. 创建根证书(自签)
openssl req -new -x509 -days 3650 -key private/ca.key.pem -out certs/ca.cert.pem -subj "/C=CN/ST=Shanghai/L=Shanghai/O=Winning Inc/OU=IT Department/CN=Winning Internal CA"
二、为你的服务器签发证书
1. 生成服务器私钥
openssl genrsa -out private/服务器ip.key.pem 2048
2. 创建证书请求(CSR)
openssl req -new -key private/服务器ip.key.pem -out csr/服务器ip.csr.pem -subj "/C=CN/ST=Shanghai/L=Shanghai/O=Winning/OU=THS/CN=服务器ip" -addext "subjectAltName=IP:服务器ip"
3. 用 CA 签发证书
创建配置文件 ca.conf
cat > openssl.cnf << 'EOF'
[server_ext]
subjectAltName=IP:服务器ip
EOF
cat > ca.conf << 'EOF'
[ ca ]
default_ca = CA_default[ CA_default ]
dir = .
certs = $dir/certs
crl_dir = $dir/crl
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/certs/ca.cert.pem
serial = $dir/serial
private_key = $dir/private/ca.key.pem
RANDFILE = $dir/private/.rand
default_days = 1825
default_crl_days = 30
default_md = sha256
preserve = no
policy = policy_match[ policy_match ]
countryName = match
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied[ req ]
distinguished_name = req_distinguished_name
x509_extensions = v3_ca
EOF
签发:
openssl ca \-in csr/服务器ip.csr.pem \-out certs/服务器ip.cert.pem \-days 1825 \-cert certs/ca.cert.pem \-keyfile private/ca.key.pem \-config ca.conf \-extfile openssl.cnf \-extensions server_ext \-batch \-notext
三、部署证书到你的 httpserver
1. 合并证书链(Nginx/httpserver 格式)
cat certs/服务器ip.cert.pem certs/ca.cert.pem > nginx目录/ssl/服务器ip.fullchain.pemcp private/服务器ip.key.pem nginx目录/ssl/服务器ip.privkey.pem
2.配置nginx,在server节点配置:
ssl_certificate nginx目录/ssl/服务器ip.fullchain.pem;
ssl_certificate_key nginx目录/ssl/服务器ip.privkey.pem;ssl_prefer_server_ciphers on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
3. 重启服务
/opt/winning/ths/THS/bin/httpserver -t
pkill httpserver
/opt/winning/ths/THS/bin/httpserver
四、验证
1.重启浏览器
2.原来的url中,http改为https
3.查看控制台信息
按F12
打开控制台,查看“Security”标签下的连接详情。
如果出现“This page is secure (valid HTTPS).”,则此漏洞已经解决
五、其它问题
如果遇到:This page is not secure (broken HTTPS)
参见:https://blog.csdn.net/qq_26230421/article/details/153193537