[ 安全運維 ] OpenSSH版本內網腳本升級


0x00.前言:

  最近做漏掃時,掃描出Linux系統的一些漏洞問題,其中有一個漏洞是關於OpenSSH低版本出現的一些漏洞,需要對這些使用低版本OpenSSH的服務器進行軟件升級,由於這些存在問題的Linux機器無法連接外網,需要在內網升級,並且需要操作的服務器數量多,最為關鍵的是客戶需要一個超級簡單的升級方案(拿網上的教程發過去就得挨P)。為了方便,我就找到最新版本OpenSSH 8.0p1安裝包,自己寫了個升級腳本,大大的簡化了客戶升級的難度。

 

0x01.檢查版本信息

使用命令: ssh -V
這里需要升級的版本為低於OpenSSH 8.0p1,可以看到這里的版本已經很老了,在網上可以查找到此OpenSSH版本的相關漏洞。

0x02.准備升級包

最新版本OpenSSH 8.0p1下載地址:

https://www.openssh.com/openbsd.html

腳本內容:(這里使用的是紅帽下的命令,同樣適用於Cent OS,其他linux版本自行更改相關命令)

#!/bin/sh
oldversion=`ssh -V 2>&1`
echo "開始執行 OpenSSH 版本升級腳本"
echo -e "當前OpenSSH版本為: \033[31m $oldversion \033[0m"
echo "正在解壓安裝OpenSSH 8.0p1源代碼......"
{
  tar -zxf openssh-8.0p1.tar.gz
} &>> install.log
echo "備份原版OpenSSH......"
{
	mv /etc/ssh/ ./ssh.bak
} &>> install.log
echo "安裝編譯所需依賴,耗時較長,請耐心等待......"
{
	yum -y install gcc zlib-devel openssl-devel
} &>> install.log
echo "配置並編譯OpenSSH......"
{
	cd openssh-8.0p1/
	./configure --prefix=/usr --sysconfdir=/etc/ssh
	make
} &>> install.log
echo "卸載舊版OpenSSH......"
{
	rpm -e --nodeps `rpm -qa | grep openssh`
} &>> install.log
echo "開始安裝......"
{
  make install
  chmod 0600 /etc/ssh/ssh_host_rsa_key   chmod 0600 /etc/ssh/ssh_host_ecdsa_key
  chmod 0600 /etc/ssh/ssh_host_ed25519_key   make install } &>> install.log newversion=`ssh -V 2>&1` echo "開始執行 OpenSSH 版本升級腳本" echo -e "安裝完成,當前SSH版本為: \033[32m $newversion \033[0m" echo "配置權限及啟動項......" { cp contrib/redhat/sshd.init /etc/init.d/sshd chkconfig --add sshd

腳本保存為sshfix.sh

然后將腳本和升級包放在同一文件夾下,壓縮后發送給客戶。

0x03.安裝使用步驟

注意因升級需要先卸載SSH,建議此操作在telnet或直接在服務器上操作。

解壓並執行腳本

tar xvf OpenSSH_update.tar

進入升級包解壓后目錄下,對需要運行的腳本附加執行權限,並執行腳本。
使用的命令:

cd OpenSSH_update
Chmod +x sshfix.sh
./sshfix.sh

0x04.安裝升級成功

腳本會提示當前SSH版本為OpenSSH 8.0p1

  


免責聲明!

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



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