天天看點

漏洞修複:使用弱雜湊演算法簽署的 SSL 證書(CVE-2004-2761)

作者:羊毛與狗

關注我,不迷路,大家好,我是大王。--記錄運維中遇到的故障及排查方法

一、背景說明

今天收到客戶那邊通知,說伺服器有安全漏洞需要加強。漏洞一大堆,腦殼疼啊,一個一個慢慢分享。

通報内容如下:

  • 影響端口:443
  • 漏洞名稱:使用弱雜湊演算法簽署的 SSL 證書(CVE-2004-2761)(原理掃描)
  • CVE ID:CVE-2004-2761
  • 漏洞描述:遠端服務使用已使用加密弱雜湊演算法(例如 MD2、MD4、MD5 或 SHA1)簽名的 SSL 證書鍊。 衆所周知,這些簽名算法容易受到碰撞攻擊。 攻擊者可以利用它生成具有相同數字簽名的另一個證書,進而允許攻擊者僞裝成受影響的服務。請注意,此插件會将 2017 年 1 月 1 日之後到期的所有使用 SHA-1 簽名的 SSL 證書鍊報告為易受攻擊。 這與 Google 逐漸淘汰 SHA-1 加密雜湊演算法是一緻的。
  • 加強建議:使用了弱的 SHA-1、MD5、MD4 或 MD2 雜湊演算法簽名的 SSL/TLS 證書的伺服器将需要擷取新的 SHA-2 簽名 SSL/TLS 證書以避免 Web 浏覽器 SSL/TLS 證書警告。

二、排查過程

2.1 确認漏洞

首先需要确認目前 OpenSSL 的版本是否存在漏洞。可以使用以下指令檢視 OpenSSL 的版本

openssl version           

如果輸出的版本号在 0.9.6d 和 0.9.7c 之間(包括這兩個版本),則表示 OpenSSL 存在漏洞。

很明顯,我這是中招了

漏洞修複:使用弱雜湊演算法簽署的 SSL 證書(CVE-2004-2761)

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           
漏洞修複:使用弱雜湊演算法簽署的 SSL 證書(CVE-2004-2761)

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           
漏洞修複:使用弱雜湊演算法簽署的 SSL 證書(CVE-2004-2761)

注意:雖然更新了OpenSSL,可是使用rpm -q openssl檢視版本是,還是舊版(因為rpm隻能管理rpm包),是以檢視目前使用的openssl版本還是要以openssl version -a指令為準。

繼續閱讀