最近openssl的heartbleed漏洞造成很多网站中招。直接造成我等程序猿的不安稳,各种紧急修复。今天才有空闲总结梳理一下此漏洞的修复。
一、操作系统的openssl库安装
1、下载openssl 1.0.1g
2、进入解压后的目录,执行./config shared zlib
3、make
4、make install
替换旧版本
5、mv /usr/bin/openssl /usr/bin/openssl.old
6、mv /usr/include/openssl /usr/include/openssl.old
7、ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
8、ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
配置库文件搜索路径
9、echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
10、ldconfig
二、nginx修复
1、ldd nginx安装目录/sbin/nginx | grep ssl
如果出现libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f82e62bf000)类似这样的提示说明你的nginx用的是openssl的动态库,继续进行2步骤,否则说明你的nginx使用的是静态库,就只有重新编译ssl模块了
2、strings /lib/x86_64-linux-gnu/libssl.so.1.0.0 | grep "^OpenSSL"
查看所用的openssl是什么版本,如果不是1.0.1g,继续3步骤
3、将libssl.so.1.0.0连接到已经安装的1.0.1g版本的libssl的动态库上
4、重启nginx,结束