關注我,不迷路,大家好,我是大王。--記錄運維中遇到的故障及排查方法
一、背景說明
今天收到客戶那邊通知,說伺服器有安全漏洞需要加強。漏洞一大堆,腦殼疼啊,一個一個慢慢分享。
通報内容如下:
- 影響端口: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指令為準。