Nginx升级加固SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

漏洞说明
// 基于Nginx的https网站被扫描出SSL/TLS协议信息泄露漏洞(CVE-2016-2183),该漏洞是在安装Nginx时build的Openssl版本问题导致的漏洞,
// 需要重新编译安装Nginx并指定版本的Openssl(可以不升级系统的openssl,编译过程中只要指定新的openssl路径即可)。

加固方法和步骤

检查当前Nginx安装过程使用的openssl版本
[root@server ~]# nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
下载新版本Openssl
cd /tmp
wget https://www.openssl.org/source/openssl-1.1.0k.tar.gz
tar zxvf openssl-1.1.0k.tar.gz -C /usr/local
下载安装源码Nginx
yum install -y gcc gcc-c++ openssl-devel pcre-devel make zlib-devel wget 

wget http://nginx.org/download/nginx-1.14.2.tar.gz

cd /root/nginx-1.14.2

./configure --prefix=/usr/local/nginx1.14 --with-http_ssl_module --with-http_stub_status_module --with-openssl=/usr/local/openssl-1.1.0k

make && make install

我之前make时如果将openssl放到root目录可能会编译报错,/usr/local就没报错,没报错就不要改下面文件了

# 错误信息
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-1.9.9'
make: *** [build] Error 2

解决方法

# 打开nginx源文件下的/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf文件:
vi /root/nginx-1.14.2/auto/lib/openssl/conf # 找到以下代码,差不多三四十行
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL" # 修改成以下代码
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
验证Nginx使用Openssl版本
[root@JD sbin]# ./nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.1.0k 28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx1.14 --with-http_ssl_module --with-http_stub_status_module --with-openssl=/usr/local/openssl-1.1.0k

最新文章

  1. PHP基础知识之对象复制
  2. static
  3. chrome浏览器遇到的异常
  4. postgresql之数据字典
  5. linux下安装虚拟机qemu kqemu
  6. 【BZOJ 1798】 [Ahoi2009]Seq 维护序列seq
  7. DevExpress的 ASPxGridview控件的自动配置效果
  8. LinQ to SQL 增,删,改 代码演示
  9. UVA 257 - Palinwords(弦HASH)
  10. redis参数配置说明
  11. 判断标签是否包含class的方法
  12. c++趣味之为变参模板的每个参数执行单独函数
  13. Spark入门(1-2)Spark的特点、生态系统和技术架构
  14. [JSOI2008]最大数
  15. Django+Bootstrap+Mysql 搭建个人博客(五)
  16. Linux 进程管理工具 supervisord 安装及使用
  17. 设置Ubuntu右侧显示扩展屏幕。。。
  18. 如何使用ILSpy 把发布版本反编译成源码
  19. 查找ipa包,删除接的ipa包
  20. 高仿IOS下拉刷新的粘虫效果

热门文章

  1. Linux安装配置PHPmyadmin
  2. .NET Core 微服务—API网关(Ocelot) 教程 [三]
  3. java从零到变身爬虫大神
  4. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0
  5. C#LeetCode刷题之#728-自除数(Self Dividing Numbers)
  6. Vue watch 深层监听
  7. DES算法的python3实现
  8. 二、JAVA 的了解与安装
  9. 牛X!看完阿里P8架构师推荐的spring三剑客,成功涨薪5k
  10. J20航模遥控器开源项目系列教程(二)使用说明 | 遥控器制作完成了,怎么用?