小蜜锋 - 云代码空间
—— 技术宅拯救世界!
阿里云扫描出来CentOS 6自带OpenSSH存在大量高危漏洞,遂有了如下的升级步骤,再扫的时候没有漏洞了。
软件: openssh 5.3p1-xxx 命中: openssh version less than 0:5.3p1-xxx
升级前版本
openssl-1.0.1e-48.el6_8.1.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
升级后版本
OpenSSL 1.0.2j
OpenSSH 7.3p1
第一步,先去官网下载好这两个包放在/tmp目录下。
wget --no-check-certificate https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-5.3p1.tar.gz wget https://openssl.org/source/openssl-1.0.2j.tar.gz
安装gcc
yum install gcc
为确保升级过程没有意外导致ssh会话断开,还是开个telnet服务。
嫌麻烦的,不怕低概率意外的可跳过telnet安装,直接用ssh操作。
yum install telnet-server xinetd sed -i '/disable/s/yes/no/g' /etc/xinetd.d/telnet service xinetd restart
此时换telnet登陆服务器执行后续命令
#备份旧的ssh配置和用户家目录的相关ssh文件
cp -raf /etc/ssh /etc/ssh.old cp -raf /etc/init.d/sshd /etc/init.d/sshd.old cp -raf /root/.ssh/ /root/.ssh.old
r_list=`cat /etc/passwd | awk -F ":" '{if($3>=500) print $6}'` for i in $r_list;do cp -raf $i/.ssh/ $i/.ssh.old done
删掉旧的openssl和openssh
yum remove -y openssh rpm -qa | grep openssl | xargs rpm -e --nodeps
安装openssl
tar zxf openssl-1.0.2j.tar.gz cd openssl-1.0.2j ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib --shared zlib-dynamic make depend && make make MANDIR=/usr/share/man MANSUFFIX=ssl install && install -dv -m755 /usr/share/doc/openssl-1.0.2j && cp -vfr doc/* /usr/share/doc/openssl-1.0.2j ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10 ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10 ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10 ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10
openssl version
安装openssh
cd /tmp/ tar zxf openssh-7.3p1.tar.gz cd openssh-7.3p1
sed -i '/SSH_VERSION/s/OpenSSH_7.3/Goodbye/g' version.h sed -i '/SSH_PORTABLE/s/p1/./g' version.h
echo "/usr/include/openssl/">>/etc/ld.so.conf ldconfig ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-ssl-dir=/usr/local/ssl/ --with-privsep-path=/var/empty/sshd make make install && install -v -m755 contrib/ssh-copy-id /usr/bin && install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1 && install -v -m755 -d /usr/share/doc/openssh-7.3p1 && install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.3p1
cp -raf /etc/init.d/sshd.old /etc/init.d/sshd mv /etc/ssh/sshd_config /etc/ssh/sshd_config.new cp -raf /etc/ssh.old/sshd_config /etc/ssh/sshd_config sed -i 's/GSSAPI/#GSSAPI/g' /etc/ssh/sshd_config sed -i 's/UsePAM/#UsePAM/g' /etc/ssh/sshd_config
service sshd restart
安装完成。