環境: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等命令,發現可以使用了...