保姆级ssh ssl升级(OpenSSH用户名枚举漏洞)
近期因扫描出现OpenSSH用户名枚举漏洞,查出是因为ssh版本低于7.7导致,需要对服务器进行ssh版本升级,流程如下
安装插件
yum update openssh -y
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
yum install -y pam* zlib*
下载ssl和ssh升级包
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificate
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz --no-check-certificate
直接官网下载比较慢,我这里上传了资源,也可以通过其他渠道获取
解压文件
tar xfz openssh-8.3p1.tar.gz
tar xfz openssl-1.1.1g.tar.gz
chown -R root.root openssh-8.3p1
chown -R root.root openssl-1.1.1g
升级SSL
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak
cd /usr/openssl-1.1.1g/
./config --prefix=/usr/local/openssl shared && make && make install
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig
openssl version
升级SSH
cp -r /etc/ssh /tmp/
rm -rf /etc/ssh
cd /usr/openssh-8.3p1/
./configure --with-zlib --with-ssl-dir=/usr/local/openssl --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh
make && make install
service sshd restart
检查SSH版本
ssh -V
>>> OpenSSH_8.3p1, OpenSSL 1.1.1g 21 Apr 2020
其他问题
- Question:
- 升级后服务器链接不上
- Answer:
- 因为升级后秘钥变更,重新删除原有秘钥或者创立新的链接即可