1. 程式人生 > 其它 >CentOS linux 安裝openssl CentOS linux安裝nginx

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