centos升級openssh7.4,OpenSSH遠程代碼執行漏洞

漏洞編號

CVE-2016-10009


漏洞名稱

OpenSSH遠程代碼執行漏洞


漏洞描述

sshd服務可以利用轉發的agent-socket文件,欺騙本機的ssh-agent來加載一個惡意的PKCS#11模塊,從而可以遠程執行代碼。


官方評級

中危


漏洞危害

***利用漏洞實現遠程命令執行,嚴重情況下可能會導致數據泄露。


漏洞利用條件

可以實現遠程利用。


該漏洞利用依賴ssh-agent。該進程默認不啓動,只在多主機間免密碼登錄時纔會用到,漏洞利用條件也比較苛刻。

漏洞影響範圍


OpenSSH 7.3

OpenSSH 7.2p2

OpenSSH 7.2

OpenSSH 7.1p2

OpenSSH 7.1p1

OpenSSH 7.1

OpenSSH 7.0

OpenSSH 6.9p1

OpenSSH 6.9

OpenSSH 6.6

OpenSSH 6.5

OpenSSH 6.4

OpenSSH 6.3

OpenSSH 6.2

OpenSSH 6.1

OpenSSH 6.0

OpenSSH 5.8

OpenSSH 5.7

OpenSSH 5.6

OpenSSH 5.5

OpenSSH 5.4

OpenSSH 5.3

OpenSSH 5.2

OpenSSH 5.1

OpenSSH 5.0

漏洞檢測


使用以下命令查看當前版本。

ssh -V

使用安騎士檢查。


漏洞修復建議(或緩解措施)

阿里雲提供的ECS操作系統中默認的OpenSSH,不受該漏洞影響。如果您變更過OpenSSH版本,並確認當前OpenSSH版本在受影響範圍內,阿里雲建議您將SSH服務端升級到OpenSSH version 7.4及以上。升級方法見下文。


同時,建議您不要直接將SSH服務等高風險端口服務直接開放到互聯網。推薦您使用***和堡壘機等更安全的方式進行遠程運維,防止發生暴力破解和漏洞利用***事件。


升級OpenSSH

推薦您使用yum update升級,如果更新源無最新安裝包,您可以按照以下升級方法升級。下文以CentOS 6.8 64bit爲例進行說明。


注意:

在升級前,強烈建議您做好快照和文件備份,防止出現升級失敗無法遠程管理等意外事件。


在執行以下安裝操作時,請務必再開一個SSH窗口連接所需要升級的服務器,避免SSH升級失敗後,無法連接服務器。或者,在升級前最好安裝Telnet服務作爲備用方案,直到升級成功後再停止Telnet。

執行以下代碼升級zlib。


wget wget http://zlib.net/zlib-1.2.11.tar.gz
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

使用以下命令查看升級後的libz版本。

ll /usr/local/lib

結果如下所示。


zlib

升級openssl-flips。在安裝前查看是否爲最新版本。如果是,請直接到第4步;如果不是,執行以下代碼下載最新版本並升級。


wget https://www.openssl.org/source/openssl-fips-2.0.14.tar.gz
tar zxvf openssl-fips-2.0.14.tar.gz
cd openssl-fips-2.0.14
./config
make
make install

執行以下代碼升級openssl。


wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz
tar zxvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e
./config
make
make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

查看升級後的OpenSSL版本,結果如下:


openssl

執行以下代碼安裝PAM。

yum install pam*  -y

升級安裝OpenSSH。


wget https://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
tar zxvf openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure   --prefix=/usr   --sysconfdir=/etc/ssh   --with-md5-passwords   --with-pam    --with-privsep-path=/var/lib/sshd  --with-ssl-dir=/usr/local/lib64   --without-hardening
make
make install

# 備份sshd文件,重命名爲sshd_20170209_old

mv /etc/init.d/sshd  /etc/init.d/sshd_20170209_old

# 複製配置文件、賦權、添加到開機啓動項

cd /root/openssh-7.4p1/contrib/redhat
cp sshd.init  /etc/init.d/sshd
cp ssh_config /etc/ssh/ssh_config

# 根據提示,輸入y進行覆蓋(若對原文件重命名,則無需覆蓋)

cp -p sshd_config /etc/ssh/sshd_config

# 根據提示,輸入y進行覆蓋(若對原文件重命名,則無需覆蓋)

chmod u+x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on

# 重啓sshd服務

service sshd restart

查看升級版本,顯示爲最新版本。

ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2i  22 Sep 2016



OpenSSH_7.4p1升級源碼包: http://down.51cto.com/data/2447161 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章