经典再续!《循序渐进Linux(第2版)

爱维Linux

 找回密码
 加入爱维Linux

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 1334|回复: 0

openssl与nginx安装

[复制链接]

589

主题

705

帖子

15

精华

爱维管理员

Rank: 9Rank: 9Rank: 9

积分
2855
发表于 2017-1-25 10:09:49 | 显示全部楼层 |阅读模式

马上加入爱维网,一起交流运维经验!

您需要 登录 才可以下载或查看,没有帐号?加入爱维Linux

x
1、openssl-1.0.1s


[root@unic-dapa-sdb1 openssl-1.0.1s]#./config  --prefix=/usr shared
[root@unic-dapa-sdb1 openssl-1.0.1s]#make depend
[root@unic-dapa-sdb1 openssl-1.0.1s]#make  install


2、安装nginx


[root@unic-dapa-sdb1 nginx-1.0.15]#./configure --user=www --group=www --prefix=/data/nginx --conf-path=/data/nginx/conf/nginx.conf --with-pcre=/data/nginx/nginx_module/pcre-8.12 --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module --with-poll_module --with-http_ssl_module --with-http_geoip_module --add-module=/data/nginx/nginx_module/redis2-nginx-module --add-module=/data/nginx/nginx_module/ngx_devel_kit --add-module=/data/nginx/nginx_module/lua-nginx-module --add-module=/data/nginx/nginx_module/ngx_http_upstream_keepalive-d9ac9ad67f45 --add-module=src/cxxmvc --with-cc-opt='-I/usr/local/include/cxxmvc/ -I/usr/local/include -I/usr/local/include/dapmvc/'
[root@unic-dapa-sdb1 nginx-1.0.15]#make
[root@unic-dapa-sdb1 nginx-1.0.15]#make install



当前爆出了Openssl漏洞,会泄露隐私信息,涉及的机器较多,环境迥异,导致修复方案都有所不同。
    不少服务器使用的Nginx,是静态编译 opensssl,直接将openssl编译到nginx里面去了,这就意味着,单纯升级openssl是没有任何效果,Nginx不会加载外部的 openssl动态链接库的,必须将nginx重新编译才可以根治。
    2.2 识别Nginx是否是静态编译的
        以下三种方法都可以确认Nginx是否静态编译Openssl。
            1) 查看Nginx编译参数
                输入以下指令,查看Nginx的编译参数:
                # ./sbin/nginx -V
                如果编译参数中含有--with-openssl=...,则表明Nginx是静态编译Openssl,如下所示:
                nginx version: nginx/1.4.1
                built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
                TLS SNI support enabled
                configure arguments: --prefix=/opt/app/nginx --with-http_ssl_module --with-openssl=/opt/app/openssl-1.0.1e --add-module=/opt/app/ngx_cache_purge-2.1
            2) 查看Nginx的依赖库
                为进一步确认,可以查看一下程序的依赖库,输入以下指令:
                # ldd `which nginx` | grep ssl
                显示
                libssl.so.10 => /usr/lib/libssl.so.10 (0xb76c6000)
                注意:如果输出中不包含libssl.so的文件(),就说明是静态编译的Openssl的
                再输入命令以确定openssl以确定库所属的openssl版本,但是不会太详细,比如本应该是1.0.1e.5.7,但是却只输出1.0.1e:
                # strings  /usr/lib/libssl.so.10 | grep "^OpenSSL "
                OpenSSL 1.0.1e-fips 11 Feb 2013
            3) 查看Nginx打开的文件
                也可以通过查看Nginx打开的文件来查看是否静态编译,输入以下指令:
                # ps aux | grep nginx
                # lsof -p 111111<这里换成Nginx的进程PID>  | grep ssl
                如果没有打开Openssl的库文件,就说明是静态编译Openssl的,如下图所:
                20140411213555359
    2.3 重新编译Nginx
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入爱维Linux

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|爱维教育 ( 14004819

GMT+8, 2019-6-19 11:58 , Processed in 0.061537 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表