【漏洞修复】--OpenSSL Security Advisory [22 Sep 2016]

说明

此文章主要记录OpenSSL Security Advisory [22 Sep 2016]漏洞的修复方法。

漏洞信息

官方漏洞报告信息:

1、OpenSSL Security Advisory [22 Sep 2016]

链接:https://www.openssl.org/news/secadv/20160922.txt

请在下列网页下载最新版本:

/source/index.html

2、对于nginx、apache、lighttpd等服务器禁止使用DES加密算法

主要是修改conf文件

3、Windows系统可以参考如下链接:

SSL Medium Strength Cipher Suites Supported (SWEET32)-CVE-2016-2183

建议:避免使用IDEA、DES和3DES算法

解决办法

1、容器环境

升级nginx容器镜像到1.20.0版本以上即可,因为1.20.0版本的openssl版本已经满足1.1.1k

2、主机环境

升级主机环境的openssl版本到1.1.1k即可

解决过程

1、容器环境

说明:

我的网站的跑在K8S环境中,服务nginx版本为1.19.0,暴露80端口,通过ingress统一开放。

第一步--替换dockerfile中容器基础镜像版本
# 我直接升级到1.22.0
FROM llody/nginx:v1.22.0
第二步--重新发布版本并验证openssl版本
docker exec -it 容器名称 sh

# 执行
nginx -V

第三步--禁用掉指定算法

# 在服务的ingress配置项添加如下注解
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      ssl_ciphers '!DES:!IDEA:!3DES';
spec:
  ...

# 或者使用官方给的加密套件
nginx.ingress.kubernetes.io/ssl-ciphers: "ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"

第四步--验证方法

根据SSL/TLS协议信息泄露漏洞(CVE-2016-2183)原理,通过发送精心构造的数据包到目标服务,根据目标的响应情况,验证漏洞是否存在

2、主机环境

第一步--升级当前的openssl版本
#github地址
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1t/openssl-1.1.1t.tar.gz
#官网地址
wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz
# 解压
tar -zxvf openssl-1.1.1t.tar.gz
# 进入到解压后的目录下
cd openssl-1.1.1t
# 配置并指定安装路径
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib no-shared zlib-dynamic
# 在build之前做make depend(通过这种安装方式,openssl和openssl-devel都将会被安装)
make depend
# 编译并安装
make && make install 

# 配置环境变量
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64" >> ~/.bashrc
第二步--确认升级版本即可
# 再次查看版本,确认是否安装成功
openssl version
第三步--修改服务.conf文件,禁用指定算法
# 全局配置
worker_processes auto;
error_log /var/log/nginx/error.log;

events {
  worker_connections 1024;
}

http {
  # HTTP配置

  # 使用https的监听端口
  server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/ssl_certificate.crt;
    ssl_certificate_key /path/to/private_key.key;

    # 启用TLS协议版本定义
    ssl_protocols TLSv1.2 TLSv1.3;

    # 禁用DES算法的密码套件
    ssl_ciphers '!DES:!IDEA:!3DES';

    location / {
      root /path/to/root;
      index index.html;
    }
  }

  # HTTP重定向到HTTPS
  server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

llody_55

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值