关注我,不迷路,大家好,我是大王。--记录运维中遇到的故障及排查方法
一、背景说明
今天收到客户那边通知,说服务器有安全漏洞需要加固。漏洞一大堆,脑壳疼啊,一个一个慢慢分享。
通报内容如下:
- 影响端口:443
- 漏洞名称:SSL/TLS:报告易受攻击的密码套件(CVE-2016-2183)(原理扫描)
- CVE ID:CVE-2016-2183
- 漏洞描述:此例程报告服务接受的所有 SSL/TLS 密码套件,其中攻击向量仅存在于 HTTPS 服务上
- 加固建议:更改此服务的配置,使其不再接受所列出的易受攻击的的密码套件,windows远程桌面也可参考:https://www.cnblogs.com/xyb0226/p/14205536.html,linux可参考https://segmentfault.com/a/1190000038486901
二、修复过程
根据加固建议里面提供的网址,发现用nmap测试,没什么用,不知道为什么,可能跟我现场环境有关,尴尬。反正不管怎么的,版本往最新升级zongmeicuo
2.1 确认漏洞
OpenSSL 1.1.0 以后没有此漏洞,并且本地的openssl 版本高于1.1.0
很明显,我这是中招的:
openssl version
2.2 升级版本
2.2.1 安装依赖
yum install -y gcc openssl-devel zlib-devel wget
2.2.2 下载最新版本
目前最新版本是1.1.1q,可以通过修改版本号的方式下载最新版本,
可以在这个网站下载:https://www.openssl.org/source
wget http://www.openssl.org/source/openssl-1.1.1q.tar.gz
若授权过期,则通过以下方式下载
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate
2.2.3 安装服务
# 1、解压并编译,目录自定义,以下以/usr/local为例
tar xvf openssl-1.1.1q.tar.gz -C /usr/local/
cd /usr/local/openssl-1.1.1q/
./config shared --openssldir=/usr/local/openssl-1.1.1q --prefix=/usr/local/openssl
make && make install
# 备份旧文件
mv /usr/lib64/openssl /usr/lib64/openssl.bak
mv /usr/bin/openssl /usr/bin/openssl.bak
# 使用新版本
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 配置lib库
# 这里建议咱不用,因为弄了可能ssh的时候登录不上
echo "/usr/local/lib/" >> /etc/ld.so.conf
ldconfig -v
3 再次确认版本
# 查看版本后若报以下错误,这是库位置不正确
[root@wangzy openssl-1.1.1q]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
# 进行软件接更正
# libssl.so.1.1默认在以下位置,若不在则通过命令:find / -name libssl.so.1.1 查找对应位置
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
注意:虽然升级了OpenSSL,可是使用rpm -q openssl查看版本是,还是旧版(因为rpm只能管理rpm包),所以查看当前使用的openssl版本还是要以openssl version -a命令为准。