近期對100多台伺服器進行漏洞掃瞄,發現都有乙個中危漏洞,openssh
漏洞。該漏洞在openssh7.8
版本以下都有該問題。故採用更新openssh
版本進而修復漏洞。由於伺服器過多,不可能每一台都去手動原始碼編譯安裝,故採用指令碼方式,再通過ansible
進行批量更新。
補充:通過yum安裝openssh8.x版本
這裡伺服器作業系統均為centos7.x系列
漏洞描述:
國家漏洞庫編號:cnnvd-201808-902cncve編號:cncve-201815919
cve編號:cve-2018-15919
漏洞描述:openssh(openbsd secure shell)是openbsd計畫組所維護的一套用於安全訪問遠端計算機的連線工具。該工具是ssh協議的開源實現,支援對所有的傳輸進行加密,可有效阻止竊聽、連線劫持以及其他網路級的攻擊。openssh 7.8及之前版本中的auth-gss2.c檔案存在安全漏洞。遠端攻擊者可利用該漏洞檢測其指定的使用者是否存在。
該指令碼只支援centos7.x
系列
openssh-update.sh
#!/bin/bash
# @time :2020/8/5 22:06
# @auther :yanjie.li
# @email :[email protected]
# @file :openssh-update.sh
# @desc :修復openssh7.8版本以下的漏洞,公升級openssh版本為8.2版本。
echo
echo -e "\033[40;31;1m*** 安裝完成後請勿立即退出當前終端(斷開連線),先新開終端進行連線測試ok後再關閉該終端 ***\033[0m"
echo
echo "即將公升級openssh"
sleep 10
# check if user is root
if [ $(id -u) != "0" ]; then
echo "error: you must be root to run this script!!"
exit 1
fibase_dir=`pwd`
openssh="openssh-8.2p1"
openssl="openssl-1.1.1f"
#download the installation package
function download().tar.gz ];then
wget -c
else
echo 'skipping: openssh already downloaded'
fiif [ ! -f $.tar.gz ];then
wget -c wget
else
echo 'skipping: openssl already downloaded'
fi}#安裝依賴包
function install_relyon()
#備份ssh
function back_ssh()
#安裝openssl
function install_openssl()/openssl-1.1.1f.tar.gz
echo "備份openssl..."
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.bak
echo "開始安裝openssl..."
sleep 3
cd $/openssl-1.1.1f
./config shared --prefix=/usr/local/openssl && make -j 4 && make install -j 4
ln -fs /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -fs /usr/local/openssl/include/openssl /usr/include/openssl
ln -fs /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "載入動態庫..."
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
/sbin/ldconfig
echo "檢視確認版本。。。"
openssl version
echo "openssl 公升級完成..."
}#安裝openssh
function install_openssh()
/usr/bin/tar -zxvf $/openssh-8.2p1.tar.gz
cd $/openssh-8.2p1
chown -r root.root $/openssh-8.2p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include \
--with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam && make -j 4 && make install -j 4
[ $? -eq 0 ] && echo "openssh 公升級成功..."
cd $/openssh-8.2p1
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
}# 配置ssh
function config_ssh()
function main()
main
連線伺服器執行指令碼
# bash openssh-update.sh
CentOS下OpenSSH版本公升級
1 進入centos系統後,切換到root使用者,檢視當前openssh版本 安裝依賴環境 yum install gcc gcc c autoconf automake yum y install zlib zlib devel openssl openssl devel pcre pcre de...
Openssh版本公升級(Centos6 7)
實現前提 公司伺服器需要進行安全測評,掃瞄漏洞的裝置掃出了關於 openssh 漏洞,主要是因為 openssh的當前版本為5.3,版本低了,而yum最新的openssh也只是5.3,沒辦法只能到 rpm 官網找新的包,找到最新的是 6.4,然後通過 yum localinstall 公升級了,但是...
漏洞修復 centOS公升級openssh到8 0
近期在伺服器安全掃瞄發現一大堆漏洞,上百臺伺服器的漏洞都差不多,主要是關於openssh的。漏洞有很多,掃瞄系統給出的解決辦法是打各種補丁,但通過了解到,將openssh直接公升級基本可以解決所有漏洞問題,一勞永逸。現將7.4版本的openssh公升級到8.0版本。安裝telnet 得先安裝teln...