添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

根据漏洞扫描的提示查看官网给出的解释,如下:

SWEET32 Mitigation (CVE-2016-2183)

SWEET32 (https://sweet32.info) is an attack on older block cipher algorithms
that use a block size of 64 bits. In mitigation for the SWEET32 attack DES based
ciphersuites have been moved from the HIGH cipherstring group to MEDIUM in
OpenSSL 1.0.1 and OpenSSL 1.0.2. OpenSSL 1.1.0 since release has had these
ciphersuites disabled by default.

  • OpenSSL 1.0.2 users should upgrade to 1.0.2i
  • OpenSSL 1.0.1 users should upgrade to 1.0.1u

根据官网要求升级对应大版本到指定的分支,比如我默认的是centos6自带的1.0.1e,这个版本是有很多漏洞的,按照要求准备升级到1.0.1u

一、执行脚本文件进行下载对应版本openssl,代码如下:

#!/bin/sh
#下载安装指定版本openssl
#以下是普通用户脚本,一些操作需要root权限的sudo,root用户可删除
wget http://www.openssl.org/source/openssl-1.0.1u.tar.gz
sudo tar xzvf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
sudo ./config shared zlib
make && make install
sudo chmod 777 /usr/local/ssl
cd /usr/local/ssl/
sudo ./bin/openssl version -a
#替换旧版openssl
sudo mv /usr/bin/openssl /usr/bin/openssl.old2
sudo mv /usr/include/openssl  /usr/include/openssl.old2
sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
#配置库文件搜索路径
#root的写法  echo  "/usr/local/ssl/lib" >> /etc/ld.so.conf
echo  "/usr/local/ssl/lib" |sudo tee -a /etc/ld.so.conf
sudo ldconfig
#测试新版是否正常
openssl version -a
#备注:如果你是普通用户创建的软链注意权限问题

二、重新编译nginx,指定相应的新版本的openssl模块

  1. 找到之前下载的nginx源码包,我的是nginx-1.16.1,进入主目录执行如下命令:
    首先查看当前nginx的版本及模块,复制configure arguments准备下次重新编译使用
nginx -V
----------------------------------------------------------------------------
nginx version: nginx/1.16.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 
built with OpenSSL 1.0.1e  22 Sep 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-pcre=/ywj/src/pcre-8.35 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_stub_status_module --without-http_charset_module --with-http_v2_module
  1. 其次,重新配置模块并重新编译nginx文件,具体操作如下:
./configure --prefix=复制已有的模块+ with-openssl=/ytxt/src/openssl-1.0.1u
#注意:这里新增模块with-openssl指定新的nginx ssl模块依赖的ssl库,如果没有这步最终的nginx的ssl编译版本是openssl-1.0.1u,而运行版本还是原来的openssl-1.0.1e
#编译完成后,执行make,但不执行make install
  1. 替换原来的nginx为新版本的
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx20181113.old #再复制最新额 cp ./objs/nginx /usr/local/nginx/sbin/nginx #查看最新版本 nginx -V ---------------------------------------------------------------------------- nginx version: nginx/1.16.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) built with OpenSSL 1.0.1u 22 Sep 2016 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-pcre=/ywj/src/pcre-8.35 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_stub_status_module --without-http_charset_module --with-http_v2_module --with-openssl=/ytxt/openssl-1.0.1u

其他注意事项

我的某个服务器自动升级证书脚本执行失败,会报curl: (35) SSL connect error,经分析不能执行curl -o https://*****这样的脚本,后来发现openssl的版本依赖的nss不支持,本来像直接升级nss可惜操作不顺利直接升级openssl到新版本(可以通过包管理库yum进行安装,避免依赖问题)

yum install nmap;
nmap -sV --script ssl-enum-ciphers -p 443 js.iz***e100.cn

443/tcp open  http    nginx 1.16.1
| ssl-enum-ciphers: 
|   TLSv1.0
|     Ciphers (13)
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA
|       TLS_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
|     Compressors (1)
|       uncompressed
|   TLSv1.1
|     Ciphers (13)
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA
|       TLS_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
|     Compressors (1)
|       uncompressed
|   TLSv1.2
|     Ciphers (25)
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
|       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA256
|       TLS_RSA_WITH_AES_128_GCM_SHA256
|       TLS_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_AES_256_CBC_SHA256
|       TLS_RSA_WITH_AES_256_GCM_SHA384
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
|     Compressors (1)
|_      uncompressed

其中包含TLS_RSA_WITH_3DES_EDE_CBC_SHA或者其他DES的字样,通过nmap这个探测可以测试当前tls的加密级别,解决方案直接在nginx的ssl_ciphers中去掉DES、3DES这样的算法以及添加!DES:!3DES:来屏蔽隐藏的

第一步、升级openssl升级到指定的修正版本,这个从测试其版本的角度修复这个问题(这步基本解决自动扫描漏洞的问题)
第二步、ssl的指定算法需要排除DES、3DES这样的算法,这个从算法匹配的角度解决这个问题

根据漏洞扫描的提示查看官网给出的解释,如下:SWEET32 Mitigation (CVE-2016-2183)SWEET32 (https://sweet32.info) is an attack on older block cipher algorithmsthat use a block size of 64 bits. In mitigation for the SWEET32 attack DES basedciphersuites have been moved from the HI
鉴于小程序的外接API服务器必须基于https协议, 这两天摸索着先拿团队博客来配置。 目前一切OK,在此梳理梳理下基本流程。 wget https://dl.eff.org/certbot-auto // 获取certbot-auto 客户端 git clone git@github.com:certbot/certbot.git // 通过github 获取客户端 sudo chmod a+x certbot-auto sudo mv certbot-auto /usr/local/bin/ // 移动到这个目录方便全局调用 sudo certbot-auto [o
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)漏洞TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。 风险级别:低 该漏洞又称为SWEET32(https://sweet32.info)是对较旧的分组密码算法的攻击,它使用64位的块大小,缓解SWEET32攻击OpenSSL 1.0.1和OpenSSL 1.0.2中基于DES密码套件从“高”密码字符串组移至“中”;但Op TLS/SSL介绍: SSL“安全套接层”协议TLS“安全传输层”协议,都属于是加密协议,在其网络数据传输中起到保护隐私和数据的完整性。保证该网络传输的信息不会被未经授权的元素拦截或修改,从而确保只有合法的发送者和接收者才能完全访问并传输信息TLS/SSL主要漏洞介绍: 1、 OpenSSL C...
原文阅读:https://www.infinisign.com/fa... 迄今为止,SSL/TLS已经阻止了基于SSL的无数次的网络攻击,本文介绍了SSL/TLS常见的几种漏洞以及过往的攻击方式,针对这些漏洞及攻击摒弃了老旧的加密算法,详细如下: Export 加密算法 Export是一种老旧的弱加密算法,是被美国法律标示为可出口的加...
关于SSL/TLS协议信息泄露漏洞(CVE-2016-2183)的处理方法,网上教程一大堆。 我以 windows操作系统 为例,浅谈一下我对这个漏洞修复的理解。 一、win7操作系统 1、打开控制面板 打开网络和Internet 2、打开Internet 选项 3、选择高级 4、下滑选项 找到 TLS 只勾选 使用TLS 1.2 5、win+R 输入gpedit.msc 打开组策略编辑器 6、依次选择 计算机配置 管理模板 网络 SSL配置设置 并双击打开 7、点击已启用 要在 Nginx 上部署 SSL 证书,可以遵循以下步骤: 1. 购买或获取 SSL 证书。您可以从各种证书颁发机构(CA)购买 SSL 证书,或者您可以使用 Let's Encrypt 等免费证书颁发机构获得免费的 SSL 证书。 2. 将 SSL 证书和私钥文件保存在服务器上。将证书文件和私钥文件上传到服务器,通常是在 /etc/nginx/ssl/ 目录下。确保证书和私钥文件的权限设置为只读(例如,chmod 400)。 3. 编辑 Nginx 配置文件。找到您要使用 SSL 的虚拟主机的配置文件,并在 server 块中添加以下指令: listen 443 ssl; ssl_certificate /etc/nginx/ssl/cert.crt; # 证书文件路径 ssl_certificate_key /etc/nginx/ssl/cert.key; # 私钥文件路径 注意:如果您使用 Let's Encrypt 等免费证书颁发机构颁发的证书,则证书和私钥文件的文件名可能不同,请相应更改文件路径。 4. 配置 SSL 加密套件和其他参数。为了获得最佳性能和安全性,您可能需要配置 SSL 加密套件和其他参数。例如,您可以禁用旧版 SSL 协议(如 SSLv3),启用 HTTP/2,启用 OCSP Stapling 等等。以下是一个例子: ssl_protocols TLSv1.2 TLSv1.3; # 只允许 TLSv1.2 和 TLSv1.3 ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; ssl_session_cache shared:SSL:50m; ssl_session_timeout 1d; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8; 5. 重新加载 Nginx 配置文件。使用以下命令重新加载 Nginx 配置文件,以便使用 SSL 证书: sudo systemctl reload nginx 现在,您已经成功地在 Nginx 上部署了 SSL 证书,可以通过 HTTPS 访问您的网站。