升级修复openssl的heartbleed漏洞,顺便升级修复nginx的一个缓冲区溢出漏洞的方法

openssl的heartbleed漏洞就不介绍了,如果你的站点没用到SSL(https)则不受影响。

nginx缓存区溢出漏洞,不受影响的版本:1.5.12+, 1.4.7+。详见这里


我只是把之前的一篇文章稍微修改了一下。我知道你懒,所以重新整理了下,如下:


0.查看下当前nginx的版本,及参数。前面是路径,你的跟我的安装路径可能有所不同。

# /usr/local/webserv/nginx/sbin/nginx -V

显示如下:

nginx version: nginx/1.4.4

built by gcc 4.1.2 20080704 (Red Hat 4.1.2-54)

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/usr/local/webserv/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module --with-openssl=../openssl-1.0.1e


把configure arguments:后面的那串拷到记事本中。


1.到某个文件夹下。

# cd /cdata

到官网下载nginx,目前最新稳定版为1.4.7。

# wget http://nginx.org/download/nginx-1.4.7.tar.gz

解压:

# tar -zxvf nginx-1.4.0.tar.gz


#cd ../

到官网下载openssl,日前最新稳定版为1.0.1g

#wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

解压:

#tar -zxvf openssl-1.0.1g.tar.gz

到解压后的nginx目录下:

#cd nginx-1.4.7

4.为了防止当前会话中断,创建一个screen

# screen -S upnginx

如果断了,可以 screen -r upnginx 重新回去。


开始配置configure, 把记事本上的那串复制过来,--with-openssl=后面改成刚才openssl的解压路径

# ./configure  --user=nginx --group=nginx --prefix=/usr/local/webserv/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module --with-openssl=../openssl-1.0.1g

注意:这里你的nginx安装路径:--prefix=/usr/local/webserv/nginx openssl解压路径:../openssl-1.0.1g

可能跟我有所不同,请自行修改!


然后编译安装

#make

#make install


执行升级

# cat Makefile

其中“upgrade:”下面就是升级命令,一行一行拷进去运行,注意路径/usr/local/nginx/是否为你的安装路径。

/usr/local/nginx/sbin/nginx -t

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`


然后可以到这里验证下heartbleed漏洞还存不存在



类别:OperationMaintenance   阅读(0)   评论(0)    发表时间:2014-04-11 20:27  星期五

评论区

发表评论

        姓名:
邮箱|网站:
        内容:

  (可按Ctrl+Enter提交)