修复OpenSSL漏洞 升级OpenSSL版本 nginx静态编译ssl模块

背景

   OpenSSL全称为Secure Socket Layer,是Netscape所研发,利用数据加密(Encryption)作技术保障在Internet上数据传输的安全。可确保数据在网络上的传输不会被窃听及截取。

    当然,OpenSSL是一个强大的密码库,我们在使用SSL协议的时候不一定非得采用OpenSSL,不过目前基本上都是用的OpenSSL,因为它更安全,使用起来也更简单。

通常出现的OpenSSL的漏洞需要升级版本解决

查看openssl版本
openssl version 
进入存放源码包位置
cd /usr/local/scr  
下载最新版openssl 源码包 下载openssl地址
https://www.openssl.org/source/
解压
tar  zxf    openssl-1.1.0h.tar.gz
编译
./config  --prefix=/usr/local/openssl-1.1.0h/ssl
make  && make install
将新编译的openssl替换系统老版本的
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak 
ln -s /usr/local/openssl-1.1.0h/ssl/bin/openssl   /usr/bin/openssl
ln -s /usr/local/openssl-1.1.0h/ssl/include/openssl   /usr/include/openssl
配置文件搜索路径
echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf  
 ldconfig -v |grep openssl  
查看安装完成后的最新版本
 openssl version
 openssl version -a
以上openssl 安装更新完成

########

nginx静态编译ssl模块

nginx用户:
如果您是使用动态编译ssl模块的方式,需保证nginx链接的是升级后的libssl.so
如果您是使用静态编译ssl模块的方式,需重新编译nginx,--with-openssl参数指向新的openssl源码目录

识别nginx是否为静态编译https://blog.csdn.net/hujkay/article/details/23476557

我的nginx为静态编译的

进入nginx解压包的源码包路径
cd /usr/local/scr/nginx-1.10.2
进入nginx源码目录 重新编译。
./configure  --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --with-http_ssl_module --with-openssl=/usr/local/openssl-1.1.0h/ssl
注释:
编译参数需要拷贝原来参数
查看nginx编译的参数
/usr/local/nginx/sbin/nginx -V
参数解析 --with-http_ssl_module --with-openssl=/usr/local/openssl-1.1.0h/ssl
【--with-http_ssl_module 使得nginx支持ssl模块  --with-openssl指定安装目录,通常两个都加上】
编译
make   【生成最新二进制文件】  
这里可以不make install  ,避免把原来的nginx其他配置覆盖了
编译时可能出现的报错
/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127
解决方案:
https://www.cnblogs.com/huanhang/p/7580843.html
修改后
需要把最新nginx二进制文件拷贝到安装目录的sbin
@需要的可以备份好原来的二进制文件
cp  /usr/local/src/nginx-1.10.2/objs    /usr/local/nginx/sbin/nginx
验证nginx配置文件是否正确
/usr/local/nginx/sbin/nginx -t
重启nginx服务
/usr/local/nginx/sbin/nginx -s stop
 启动代码格式:nginx安装目录地址 -c nginx配置文件地址
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

转载于:https://blog.51cto.com/zhanjun/2097178

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值