升级OpenSSH修复高危漏洞
OpenSSH 是一款用于远程登录的连接工具,它使用 SSH 协议。 它会加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击。
最近服务器安全扫描产生的五六个与openssh有关的漏洞,漏洞描述基本都是服务器所使用的openssh版本过低,存在严重的高危漏洞和中危漏洞。因此,处理方法是升级openssh至最新版本。该漏洞比较常见,处理过程中也出现了几个问题,因此记录此文。
1、查看当前版本信息
[root@CourageHe ~]# ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
2、安装基础组件
[root@CourageHe ~]# yum install gcc gcc-c++ openssl-devel autoconf automake zlib zlib-devel pcre-devel pam-devel rpm-build pam-devel telnet -y
3、卸载系统老版本openssh,备份配置文件
[root@CourageHe ~]# rpm -e --nodeps $(rpm -qa | grep openssh)
[root@CourageHe ~]# cp -r /etc/ssh/ /tmp/ssh
[root@CourageHe ~]# cd /etc/ssh/
[root@CourageHe ssh]# rm /etc/ssh/* -rf
4、下载openssh安装包编译安装
[root@CourageHe ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[root@CourageHe ~]# tar xvf openssh-8.8p1.tar.gz
[root@CourageHe ~]# cd openssh-8.8p1
[root@CourageHe openssh-8.3p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl
[root@CourageHe openssh-8.3p1]# make -j 4
[root@CourageHe openssh-8.3p1]# make install
5、设置/etc/ssh/sshd_config文件参数
# 这三行改为 yes
PermitRootLogin yes #这项一定要改成yes,否则登陆不进去
PubkeyAuthentication yes
PasswordAuthentication yes
6、复制配置文件、设置开机启动
[root@CourageHe openssh-8.3p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd #之前解压的包里面可以找到这个文件
[root@CourageHe openssh-8.3p1]# chmod +x /etc/init.d/sshd
[root@CourageHe openssh-8.3p1]# chkconfig sshd on
[root@CourageHe openssh-8.3p1]# systemctl restart sshd
7、最后查看版本号
[root@CourageHe ~]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2k-fips 26 Jan 2017