升級Openssl 1.1.1i


環境:centos 7
由於OpenSSL 拒絕服務漏洞(CVE-2020-1971)
需要將openssl進行升級
參考網站:https://jingyan.baidu.com/article/08b6a5916ecc5214a9092244.html
1.准備rpm包,從官網下載:http://www.rpmfind.net/linux/rpm2html/search.php
准備預備ssh無法連接從telnet連接的方式.
pam-1.1.8-23.el7.x86_64.rpm
pam-devel-1.1.8-23.el7.x86_64.rpm
systemd-219-78.el7.x86_64.rpm
systemd-libs-219-78.el7.x86_64.rpm
systemd-sysv-219-78.el7.x86_64.rpm
telnet-0.17-65.el7_8.x86_64.rpm
telnet-server-0.17-65.el7_8.x86_64.rpm
xinetd-2.3.15-14.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
注意:這下rpm包可能隨時間更新,版本有所變化,所以還是根據官網下載當時的包。
升級次序
1.1 rpm -Uvh pam-1.1.8-23.el7.x86_64.rpm --nodeps --force
1.2 rpm -Uvh pam-devel-1.1.8-23.el7.x86_64.rpm --nodeps -force
1.3 rpm -Uvh xinetd-2.3.15-14.el7.x86_64.rpm --nodeps -force
1.4 rpm -Uvh zlib-1.2.7-18.el7.x86_64.rpm --nodeps -force
1.5 rpm -Uvh zlib-devel-1.2.7-18.el7.x86_64.rpm --nodeps -force
備注:其它運行時提醒需要什么,就安裝什么。在官網去下載.
2.啟動xinetd
#systemctl   start  xinetd
查看狀態
#systemctl   status  xinetd
#systemctl  enable  xinetd

3.啟動telnet
# systemctl start telnet.socket
# systemctl status telnet.socket
# systemctl enable telnet.socket

4.默認情況下,telnet是不允許root登錄的。
執行命令:
# echo "pts/0" >> /etc/securetty
# echo "pts/1" >> /etc/securetty

5.關閉防火牆
# systemctl stop  iptables

6.編輯pam配置文件,以便telnet允許root登錄。
# vi /etc/pam.d/login
注釋 這一行
auth [user_unknown=ignore succes=ok ignore=ignore ...]

7.編輯配置文件:
#vi  /etc/pam.d/remote
如圖注釋這一行
auth       required     pam_securetty.so

8.重啟xinetd,telnet服務
#systemctl  restart  xinetd
#systemctl  restart  telnet.socket

9.然后從其他服務器利用telnet測試登錄(當然另外一台服務器上已經安裝了telnet)
#telnet  ip
輸入賬號密碼,登錄成功。
telnet可以登錄,實際上是開了另外一條可以登錄服務器的通道,以免ssh升級出錯,造成無法登錄服務器。

10.升級 openssl
11.先確保你的服務器上已經有gcc,gcc-c++。這兩個是編譯工具。
#rpm  -qa  |grep  gcc
沒有安裝。
則執行安裝,這里我已經下載了gcc,gcc-c++的包。
如果你的服務器聯網,可以執行:
#yum  install  gcc  gcc-c++

12.官網下載openssl-1.1.1i.tar.gz,並解壓 tar -zxvf openssl-1.1.1i.tar.gz
13.下載基線openssl版本:openssh-1.0.le.tar.gz,
並解壓 tar -zxvf openssh-1.0.le.tar.gz 
(https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz)
14.卸載舊的openssl包。
#for  i   in  $(rpm  -qa |grep  openssl);do  rpm  -e  $i --nodeps  ;done
15.進入openssl-1.1.1i  目錄
cd openssl-1.1.1i
執行
./config shared
16.執行 make&&make install
17.安裝完畢。
執行命令:
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig
配置ssl庫
#cp /usr/local/ssl/lib/libssl.so.1.1  /usr/lib64
#cp /usr/local/ssl/lib/libcrypto.so.1.1  /usr/lib64
#ln -s /usr/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so.10
#ln -s /usr/lib64/libcrypto.so.1.1  /usr/lib64/libcrypto.so
#ln -s /usr/lib64/libssl.so.1.1  /usr/lib64/libssl.so.10
#ln -s /usr/lib64/libssl.so.1.1  /usr/lib64/libssl.so
#ln -s /usr/local/ssl/bin/openssl  /usr/bin/openssl
#ln -s /usr/local/ssl/include/openssl   /usr/include/openssl
查看openssl版本
#openssl  version  -a
升級成功
18.此時由於openssl升級到最新,導致老版本的wge、yum等命令無法使用
參考網址:https://blog.csdn.net/uniom/article/details/54092570
19.進入openssh-1.0.le
20.
#./config shared zlib-dynamic
#make
21.
將生成的 libssl.so.1.0.0,libcrypto.so.1.0.0兩個文件拷貝到/usr/lib64
22.#cd /usr/lib64/
23.ln -s libssl.so.1.0.0          libssl.so.10 (如果提示已經存在,則先刪除鏈接)
24.ln -s libcrypto.so.1.0.0    libcrypto.so.10 (如果提示已經存在,則先刪除鏈接)
25.嘗試、wget、yum等命令,發現可以使用了...
  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM