OpenSSL 遠程升級到 3.2.1
文章目錄
- OpenSSL 遠程升級到 3.2.1
- 背景
- 升級 OpenSSL
- 1. 查看 OpenSSL版本
- 2. 下載最新穩定版本 OpenSSL
- 3. 解壓縮,安裝
- 4. 配置
背景
最近的護網行動,被查出來了好幾個關于OpenSSH的漏洞。需要升級OpenSSH,升級OpenSSH需要同時升級OpenSSL
系統信息如下:
centos: 7
openssl: 1.0.1
升級 OpenSSL
1. 查看 OpenSSL版本
openssl version
2. 下載最新穩定版本 OpenSSL
wget https://www.openssl.org/source/openssl-3.1.2.tar.gz
3. 解壓縮,安裝
## 進入文件目錄cd /usr //文件下載在 /usr## 解壓文件tar -zxvf openssl-3.1.2.tar.gz## 編譯,并指定編譯參數./config --prefix=/usr/local/openssl #如果此步驟報錯,需要安裝perl以及gcc包# 安裝make && make install#備份默認的openssl,防止升級失敗恢復mv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bak
部分編譯參數說明
–openssldir=OPENSSLDIR:安裝目錄,默認是 /usr/local/ssl 。
–prefix=PREFIX:設置 lib include bin 目錄的前綴,默認為 OPENSSLDIR 目錄。
shared / no-shared:是否生成動態連接庫。
4. 配置
安裝完,還需要做配置
openssl version ## 如果不做配置,直接查看安裝后的openssl版本則會報錯
// 報錯如此: openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory## 將原來的openssl命令入口剪切至/tmp做備份mv /usr/bin/openssl /tmp## 軟鏈接,將新版的openssl命令入口做一個軟鏈接到/usr/bin目錄下做替換ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ## 注意,軟鏈接此處的源文件路徑,我們可能不一致,是由我們在編譯階段傳入的配置參數控制的,具體要 在/usr/local目錄下尋找確定一下 ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ## 軟鏈接ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 ## 軟鏈接## 再次查看openssl版本,可以看到更新成功openssl version
