ssl协议存在弱加密算法修复,禁用低版本的TLS
验证用网站:https://www.ssleye.com/ssltool/cipher_suites.html
https://www.site24x7.com/zhcn/tools/tls-checker.html
使用 nmap 对 SSL 协议进行检测,SSL协议存在弱加密算法。( nma
-sV -p 443--script ssl-enum-ciphers om.apuscn.com)
# nmap -sV -p 443 --script ssl-enum-ciphers cax.xx.cn Starting Nmap 6.40 ( http://nmap.org ) at 2024-03-12 14:55 CST
Nmap scan report for cax.xx.cn (10x.xx.x.x2)
Host is up (0.013s latency).
Other addresses for cax.xx.cn (not scanned): 10x.x.xx.234
PORT STATE SERVICE VERSION
443/tcp open ssl/https?
| ssl-enum-ciphers:
| SSLv3: No supported ciphers found
| TLSv1.0:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| compressors:
| NULL
| TLSv1.1:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| compressors:
| NULL
| TLSv1.2:
| ciphers:
| TLS_RSA_WITH_AES_128_CBC_SHA - strong
| TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_128_CCM - strong
| TLS_RSA_WITH_AES_128_CCM_8 - strong
| TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
| TLS_RSA_WITH_AES_256_CBC_SHA - strong
| TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
| TLS_RSA_WITH_AES_256_CCM - strong
| TLS_RSA_WITH_AES_256_CCM_8 - strong
| TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
| TLS_RSA_WITH_ARIA_128_GCM_SHA256 - strong
| TLS_RSA_WITH_ARIA_256_GCM_SHA384 - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
| TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 - strong
| compressors:
| NULL
|_ least strength: strong
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port443-TCP:V=6.40%T=SSL%I=7%D=3/12%Time=65EFFC5F%P=x86_64-redhat-linux
SF:-gnu%r(GetRequest,CC,"HTTP/1\.1\x20404\x20Not\x20Found\r\nServer:\x20op
SF:enresty\r\nDate:\x20Tue,\x2012\x20Mar\x202024\x2006:55:27\x20GMT\r\nCon
SF:tent-Type:\x20text/html;\x20charset=UTF-8\r\nConnection:\x20close\r\nVa
SF:ry:\x20Accept-Encoding\r\nAccess-Control-Allow-Credentials:\x20true\r\n
SF:\r\n")%r(HTTPOptions,CC,"HTTP/1\.1\x20404\x20Not\x20Found\r\nServer:\x2
SF:0openresty\r\nDate:\x20Tue,\x2012\x20Mar\x202024\x2006:55:33\x20GMT\r\n
SF:Content-Type:\x20text/html;\x20charset=UTF-8\r\nConnection:\x20close\r\
SF:nVary:\x20Accept-Encoding\r\nAccess-Control-Allow-Credentials:\x20true\
SF:r\n\r\n")%r(RTSPRequest,9A,"<html>\r\n<head><title>400\x20Bad\x20Reques
SF:t</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></c
SF:enter>\r\n<hr><center>openresty</center>\r\n</body>\r\n</html>\r\n")%r(
SF:RPCCheck,12F,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20openrest
SF:y\r\nDate:\x20Tue,\x2012\x20Mar\x202024\x2006:55:33\x20GMT\r\nContent-T
SF:ype:\x20text/html\r\nContent-Length:\x20154\r\nConnection:\x20close\r\n
SF:\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\n<bod
SF:y>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><center>op
SF:enresty</center>\r\n</body>\r\n</html>\r\n")%r(DNSVersionBindReq,12F,"H
SF:TTP/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20openresty\r\nDate:\x20T
SF:ue,\x2012\x20Mar\x202024\x2006:55:33\x20GMT\r\nContent-Type:\x20text/ht
SF:ml\r\nContent-Length:\x20154\r\nConnection:\x20close\r\n\r\n<html>\r\n<
SF:head><title>400\x20Bad\x20Request</title></head>\r\n<body>\r\n<center><
SF:h1>400\x20Bad\x20Request</h1></center>\r\n<hr><center>openresty</center
SF:>\r\n</body>\r\n</html>\r\n")%r(DNSStatusRequest,12F,"HTTP/1\.1\x20400\
SF:x20Bad\x20Request\r\nServer:\x20openresty\r\nDate:\x20Tue,\x2012\x20Mar
SF:\x202024\x2006:55:33\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Le
SF:ngth:\x20154\r\nConnection:\x20close\r\n\r\n<html>\r\n<head><title>400\
SF:x20Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x2
SF:0Request</h1></center>\r\n<hr><center>openresty</center>\r\n</body>\r\n
SF:</html>\r\n")%r(Help,12F,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nServer:
SF:\x20openresty\r\nDate:\x20Tue,\x2012\x20Mar\x202024\x2006:55:33\x20GMT\
SF:r\nContent-Type:\x20text/html\r\nContent-Length:\x20154\r\nConnection:\
SF:x20close\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></h
SF:ead>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<h
SF:r><center>openresty</center>\r\n</body>\r\n</html>\r\n"); Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 27.18 seconds
修复建议:
修复建议:
1.打开Nginx配置文件:
sudo nano /etc/nginx/nginx.conf
2.在配置文件中找到SSL配置部分。通常在server块中的location块中配置SSL。您需要确保以下配置中包含了安全的TLS版本和密码套件。
停用不安全的TLS版本:
ssl_protocols TLSv1.2 TLSv1.3;
这将仅启用TLS 1.2和1.3版本,而禁用TLS 1.0和1.1版本。
停用弱密码套件和加密算法:
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:!DES:!RC4:!MD5:!3DES';
这将配置Nginx使用更安全的密码套件,以及支持前向安全性的ECDHE(椭圆曲线Diffie-Hellman)密钥交换。
3.重新加载Nginx配置以使更改生效:
sudo systemctl reload nginx
修改配置:注意ssl_protocols和ssl_ciphers的值需要加上引号
git:(machangwei5) cat rewrite/2gexxch-ssl
ssl_certificate ssl/gx x x.cn.crt;
ssl_certificate_key ssl/xxx.cn.key; ssl_session_timeout 5m; ssl_protocols 'TLSv1.2';
ssl_ciphers 'Hxxxxxxxxxx5';
ssl_prefer_server_ciphers on;
效果如下
# nmap -sV -p 443 --script ssl-enum-ciphers machangweitest.xxxh.cn Starting Nmap 6.40 ( http://nmap.org ) at 2024-03-13 10:18 CST
Nmap scan report for machangweitest.xxx.cn (10x.x.x.32)
Host is up (0.013s latency).
PORT STATE SERVICE VERSION
443/tcp open ssl/https?
| ssl-enum-ciphers:
|_ SSLv3: No supported ciphers found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port443-TCP:V=6.40%T=SSL%I=7%D=3/13%Time=65F10D1C%P=x86_64-redhat-linux
SF:-gnu%r(GetRequest,CC,"HTTP/1\.1\x20404\x20Not\x20Found\r\nServer:\x20op
SF:enresty\r\nDate:\x20Wed,\x2013\x20Mar\x202024\x2002:19:08\x20GMT\r\nCon
SF:tent-Type:\x20text/html;\x20charset=UTF-8\r\nConnection:\x20close\r\nVa
SF:ry:\x20Accept-Encoding\r\nAccess-Control-Allow-Credentials:\x20true\r\n
SF:\r\n")%r(HTTPOptions,CC,"HTTP/1\.1\x20404\x20Not\x20Found\r\nServer:\x2
SF:0openresty\r\nDate:\x20Wed,\x2013\x20Mar\x202024\x2002:19:13\x20GMT\r\n
SF:Content-Type:\x20text/html;\x20charset=UTF-8\r\nConnection:\x20close\r\
SF:nVary:\x20Accept-Encoding\r\nAccess-Control-Allow-Credentials:\x20true\
SF:r\n\r\n")%r(RTSPRequest,9A,"<html>\r\n<head><title>400\x20Bad\x20Reques
SF:t</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></c
SF:enter>\r\n<hr><center>openresty</center>\r\n</body>\r\n</html>\r\n")%r(
SF:RPCCheck,12F,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20openrest
SF:y\r\nDate:\x20Wed,\x2013\x20Mar\x202024\x2002:19:13\x20GMT\r\nContent-T
SF:ype:\x20text/html\r\nContent-Length:\x20154\r\nConnection:\x20close\r\n
SF:\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></head>\r\n<bod
SF:y>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<hr><center>op
SF:enresty</center>\r\n</body>\r\n</html>\r\n")%r(DNSVersionBindReq,12F,"H
SF:TTP/1\.1\x20400\x20Bad\x20Request\r\nServer:\x20openresty\r\nDate:\x20W
SF:ed,\x2013\x20Mar\x202024\x2002:19:13\x20GMT\r\nContent-Type:\x20text/ht
SF:ml\r\nContent-Length:\x20154\r\nConnection:\x20close\r\n\r\n<html>\r\n<
SF:head><title>400\x20Bad\x20Request</title></head>\r\n<body>\r\n<center><
SF:h1>400\x20Bad\x20Request</h1></center>\r\n<hr><center>openresty</center
SF:>\r\n</body>\r\n</html>\r\n")%r(DNSStatusRequest,12F,"HTTP/1\.1\x20400\
SF:x20Bad\x20Request\r\nServer:\x20openresty\r\nDate:\x20Wed,\x2013\x20Mar
SF:\x202024\x2002:19:13\x20GMT\r\nContent-Type:\x20text/html\r\nContent-Le
SF:ngth:\x20154\r\nConnection:\x20close\r\n\r\n<html>\r\n<head><title>400\
SF:x20Bad\x20Request</title></head>\r\n<body>\r\n<center><h1>400\x20Bad\x2
SF:0Request</h1></center>\r\n<hr><center>openresty</center>\r\n</body>\r\n
SF:</html>\r\n")%r(Help,12F,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nServer:
SF:\x20openresty\r\nDate:\x20Wed,\x2013\x20Mar\x202024\x2002:19:13\x20GMT\
SF:r\nContent-Type:\x20text/html\r\nContent-Length:\x20154\r\nConnection:\
SF:x20close\r\n\r\n<html>\r\n<head><title>400\x20Bad\x20Request</title></h
SF:ead>\r\n<body>\r\n<center><h1>400\x20Bad\x20Request</h1></center>\r\n<h
SF:r><center>openresty</center>\r\n</body>\r\n</html>\r\n"); Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.05 seconds
Segmentation fault (core dumped)
但是上面,还是不行,可以用检查网站测试一下
修改为如下:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:!DES:!RC4:!MD5:!3DES';
再次检查,其他禁用,1.2启用,而1.3是不支持
验证用网站:
https://www.site24x7.com/zhcn/tools/tls-checker.html
https://www.ssleye.com/ssltool/cipher_suites.html
ssl协议存在弱加密算法修复,禁用低版本的TLS的更多相关文章
- 用了 HTTPS 还不安全,问题就出在低版本 TLS 上
HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...
- 基于SSL协议的双向认证 - SSL协议 [1]
1 概要说明 在互联网通信方式中,目前用的最广泛的是HTTPS配合SSL和数字证书来保证传输和认证安全了. 2 详细介绍 2.1 HTTPS HTTPS全称:Hypertext Transf ...
- 浅析nodeJS中的Crypto模块,包括hash算法,HMAC算法,加密算法知识,SSL协议
node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为 ...
- 阿里云服务器 通过JavaMail发送邮箱STMP问题( 25端口被禁用 使用SSL协议465端口 )
我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JDK1.8换到了 ...
- 阿里云服务器 通过JavaMail发送邮箱STMP问题 25端口被禁用 使用SSL协议465端口
1 问题描述 我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JD ...
- ssl协议
在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 1.首先解释一下上面的几个名词: https:在http(超文本传输协 ...
- 【转】SSL协议、SET协议、HTTPS简介
一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密 ...
- SSL协议的握手过程
SSL握手的目的 第一,客户端与服务器需要就一组用于保护数据的算法达成一致. 第二,它们需要确立一组由那些算法所使用的加密密钥. 第三,握手还可以选择对客户端进行认证. SSL 握手概述 SSL 握手 ...
- HTTPS(身披SSL协议的HTTP)
参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...
- SSL协议(HTTPS) 握手、工作流程详解(双向HTTPS流程)
原文地址:http://www.cnblogs.com/jifeng/archive/2010/11/30/1891779.html SSL协议的工作流程: 服务器认证阶段:1)客户端向服务器发送一个 ...
随机推荐
- 使用OHOS SDK构建zziplib
参照OHOS IDE和SDK的安装方法配置好开发环境. 从gitee下载源码,当前最新的提交记录ID为6699e0fe8a0307b16dcc055eda04452e13abe63a. 执行如下命令: ...
- [原创工具] 病毒整理器V0.98
最近由于各种需要,所以开发了一个. RT,下载地址: 链接:https://pan.baidu.com/s/1Kxd77-n3fbPZQm_CIH6LTA 提取码:xq8f 很简单的一个小工具,以后还 ...
- 轻松上手Jackjson(珍藏版)
写在前面 虽然现在市面上有很多优秀的json解析库,但 Spring默认采用Jackson解析Json. 本文将通过一系列通俗易懂的代码示例,带你逐步掌握 Jackson 的基础用法.进阶技巧以及在实 ...
- Python 集合(Sets)3
Python - 合并集合 在 Python 中,有几种方法可以合并两个或多个集合.您可以使用union()方法,该方法返回一个包含两个集合中所有项的新集合,或使用update()方法,将一个集合中的 ...
- SQline安装
SQLite 安装 SQLite 的一个重要的特性是零配置的,这意味着不需要复杂的安装或管理.本章将讲解 Windows.Linux 和 Mac OS X 上的安装设置. 在 Windows 上安装 ...
- jsPDF 添加 中文字体 分页打印 移除空白页
jsPDF2.5版本 默认不支持utf-8的字体 具体看官方的说明,默认是不支持中文的.要使用中文需要自己添加字体. 1 将字体转换为base64编码 然后引入.也可以直接引入二进制文件,但没试过这个 ...
- JavaScript 高阶技巧
0x01 深浅拷贝 开发中经常需要拷贝(复制)一个对象,如果直接赋值,则对拷贝对象的修改会影响到源对象 const o1 = { a: 1, b: 2 } const o2 = o1 console. ...
- k8s 深入篇———— docker 镜像是什么[二]
前言 简单介绍一下docker的镜像. 正文 前面讲到了容器的工作原理了(namespace 限制了时间, cgroup限制了资源),知道docker 历史的也知道,docker 之所以能够称为容器大 ...
- mysql 必知必会整理—表[十一]
前言 简单整理一下表和视图. 正文 MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理. 一般有两种创建表的方法: 使用具有交互式创建和管理表的工具 表也可以 ...
- Redis为什么是单线程还支持高并发
Redis为什么设计成单线程模式因为redis是基于内存的读写操作,所以CPU不是性能瓶颈,而单线程更好实现,所以就设计成单线程模式 单线程模式省却了CPU上下文切换带来的开销问题,也不用去考虑各种锁 ...