CentOS linux 安裝openssl CentOS linux安裝nginx
一、安裝
1.下載相關openssl包
下載地址: https://www.openssl.org/source/
2.將下載好的壓縮包放到 /app/server/nginx 路徑下(根據自己實際需求定義)
3.切換至該路徑
cd /app/server/nginx
4.壓縮包解壓
壓縮包解壓 :tar -zxvf openssl-3.0.0.tar.gz
5.切換到解壓後的路勁
cd openssl-3.0.0
6.檢視一下原安裝版本
openssl version -a
7.設定配置
./config --prefix=/usr/local/openssl3.0.0 --openssldir=/usr/local/openssl3.0.0 shared zlib
①可能出現錯誤
1)安裝gcc(編譯依賴 gcc 環境)
yum install gcc-c++
2)安裝 PCRE pcre-devel (包括 perl 相容的正則表示式庫)
yum install -y pcre pcre-devel
3)安裝zlib(對 http 包的內容進行 gzip)
yum install -y zlib zlib-devel
②還可能出現的錯誤
Cant't locate IPC/Cmd.pm .......
需安裝perl-IPC-Cmd包
執行命令
yum -y install perl-IPC-Cmd
8.編譯安裝(編譯安裝完不報錯將會安裝到 /usr/local/openssl3.0.0)
make make install
二、配置連結庫
1.在目錄/etc/ld.so.conf.d目錄下建立一個名為openssl-3.0.0.conf的檔案
cd /etc/ld.so.conf.d vim openssl-3.0.0.conf
2.輸入(i:啟用編輯,esc:退出編輯,:wq:儲存退出,:q!:不儲存退出)
/usr/local/openssl3.0.0/lib64
3.建立軟連結
ln -s /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/ ln -s /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
若報已存在(File exist),則進行覆蓋
ln -sf /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/
ln -sf /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
4.重新載入動態連結
ldconfig -v
三、配置環境變數
1.備份舊的配置(/usr/bin/openssl為上個版本安裝路徑,此處為系統預設路徑)
mv /usr/bin/openssl /usr/bin/openssl.backup
2.建立環境變數檔案
vim /etc/profile.d/openssl.sh
3.寫入
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/openssl3.0.0/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
4.執行openssl.sh 檔案,並輸出環境變數
chmod +x /etc/profile.d/openssl.sh source /etc/profile.d/openssl.sh echo $PATH
5.檢查OpenSSL位置
which openssl
6.檢查系統配置
openssl version -a
2022-03-15
openssl出現拒絕服務漏洞【CVE-2022-0778】
由於證書解析時使用的 BN_mod_sqrt() 函式存在一個錯誤,它會導致在非質數的情況下永遠迴圈。可通過生成包含無效的顯式曲線引數的證書來觸發無限迴圈。由於證書解析是在驗證證書籤名之前進行的,因此任何解析外部提供的證書的程式都可能受到拒絕服務攻擊。此外,當解析特製的私鑰時(包含顯式橢圓曲線引數),也可以觸發無限迴圈。
影響範圍
OpenSSL版本1.0.2:1.0.2-1.0.2zc
OpenSSL版本1.1.1:1.1.1-1.1.1m
OpenSSL版本 3.0:3.0.0、3.0.1
官方修復提交記錄:
https://github.com/openssl/openssl/commit/9eafb53614bf65797db25f467946e735e1b43dc9#
解決辦法:
openssl3.0.0升級到->openssl3.0.2
與上述安裝步驟一致(將其中的其中openssl3.0.0修改為openssl3.0.2)
其中注意事項:
- 建立軟連結時,需進行覆蓋
-
ln -sf /usr/local/openssl3.0.2/lib64/libssl.so.3 /usr/lib64/ ln -sf /usr/local/openssl3.0.2/lib64/libcrypto.so.3 /usr/lib64/
- 備份時,需將路徑修改為上次安裝openssl的路徑
-
mv /usr/local/openssl3.0.0 /usr/bin/openssl.backup
- 升級完畢後,如果使用的nginx做服務分發代理,nginx需重新編譯安裝,其中openssl依賴路徑修改為最新路徑(nginx安裝可看:CentOS linux安裝nginx)
一、安裝
1.下載相關openssl包
下載地址: https://www.openssl.org/source/
2.將下載好的壓縮包放到 /app/server/nginx 路徑下(根據自己實際需求定義)
3.切換至該路徑
cd /app/server/nginx
4.壓縮包解壓
壓縮包解壓 :tar -zxvf openssl-3.0.0.tar.gz
5.切換到解壓後的路勁
cd openssl-3.0.0
6.檢視一下原安裝版本
openssl version -a
7.設定配置
./config --prefix=/usr/local/openssl3.0.0 --openssldir=/usr/local/openssl3.0.0 shared zlib
①可能出現錯誤
1)安裝gcc(編譯依賴 gcc 環境)
yum install gcc-c++
2)安裝 PCRE pcre-devel (包括 perl 相容的正則表示式庫)
yum install -y pcre pcre-devel
3)安裝zlib(對 http 包的內容進行 gzip)
yum install -y zlib zlib-devel
②還可能出現的錯誤
Cant't locate IPC/Cmd.pm .......
需安裝perl-IPC-Cmd包
執行命令
yum -y install perl-IPC-Cmd
8.編譯安裝(編譯安裝完不報錯將會安裝到 /usr/local/openssl3.0.0)
make make install
二、配置連結庫
1.在目錄/etc/ld.so.conf.d目錄下建立一個名為openssl-3.0.0.conf的檔案
cd /etc/ld.so.conf.d vim openssl-3.0.0.conf
2.輸入(i:啟用編輯,esc:退出編輯,:wq:儲存退出,:q!:不儲存退出)
/usr/local/openssl3.0.0/lib64
3.建立軟連結
ln -s /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/ ln -s /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
若報已存在(File exist),則進行覆蓋
ln -sf /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/
ln -sf /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
4.重新載入動態連結
ldconfig -v
三、配置環境變數
1.備份舊的配置(/usr/bin/openssl為上個版本安裝路徑,此處為系統預設路徑)
mv /usr/bin/openssl /usr/bin/openssl.backup
2.建立環境變數檔案
vim /etc/profile.d/openssl.sh
3.寫入
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/openssl3.0.0/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
4.執行openssl.sh 檔案,並輸出環境變數
chmod +x /etc/profile.d/openssl.sh source /etc/profile.d/openssl.sh echo $PATH
5.檢查OpenSSL位置
which openssl
6.檢查系統配置
openssl version -a
2022-03-15
openssl出現拒絕服務漏洞【CVE-2022-0778】
由於證書解析時使用的 BN_mod_sqrt() 函式存在一個錯誤,它會導致在非質數的情況下永遠迴圈。可通過生成包含無效的顯式曲線引數的證書來觸發無限迴圈。由於證書解析是在驗證證書籤名之前進行的,因此任何解析外部提供的證書的程式都可能受到拒絕服務攻擊。此外,當解析特製的私鑰時(包含顯式橢圓曲線引數),也可以觸發無限迴圈。
影響範圍
OpenSSL版本1.0.2:1.0.2-1.0.2zc
OpenSSL版本1.1.1:1.1.1-1.1.1m
OpenSSL版本 3.0:3.0.0、3.0.1
官方修復提交記錄:
https://github.com/openssl/openssl/commit/9eafb53614bf65797db25f467946e735e1b43dc9#
解決辦法:
openssl3.0.0升級到->openssl3.0.2
與上述安裝步驟一致(將其中的其中openssl3.0.0修改為openssl3.0.2)
其中注意事項:
- 建立軟連結時,需進行覆蓋
-
ln -sf /usr/local/openssl3.0.2/lib64/libssl.so.3 /usr/lib64/ ln -sf /usr/local/openssl3.0.2/lib64/libcrypto.so.3 /usr/lib64/
- 備份時,需將路徑修改為上次安裝openssl的路徑
-
mv /usr/local/openssl3.0.0 /usr/bin/openssl.backup
- 升級完畢後,如果使用的nginx做服務分發代理,nginx需重新編譯安裝,其中openssl依賴路徑修改為最新路徑(nginx安裝可看:CentOS linux安裝nginx)