一、 背景
公司主要服务与政府机构,政府部门对安全方面要求非常严格,时常会对平台进行漏洞扫描等,这篇文件主要记录一下常见openssh漏洞处理升级操作。
二、问题描述
升级一下openssh版本即可修复此问题
三、操作步骤
如下所示:
1. 下载编译器以及依赖库
yum install gcc zlib-devel pam-devel libselinux-devel openssl-devel -y
#操作之前请开启多个窗口以防止突然断开导致无法重新连接服务器的情况!!!
2. 下载ssh源码包
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
3. 解压并更改文件属主
tar -axf openssh-8.7p1.tar.gz && chown root.root -R openssh-8.7p1 && cd openssh-8.7p1
4. 备份操作
mv /etc/ssh{,_`date +%F`}
mv /usr/bin/ssh{,_`date +%F`}
mv /usr/sbin/sshd{,_`date +%F`}
mv /usr/lib/systemd/system/sshd.service{,_`date +%F`}
5. 编译安装
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --without-hardening
make -j 8
make install
# 注--with-ssl-dir=/usr/local/openssl 需要根据你自己实际openssl安装目录修改
# 如果默认可以不用指定目录即:--with-ssl-dir
6. 修改配置文件权限
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
7. 修改配置文件
vim /etc/ssh/sshd_config
#修改内容如下
Port 22 #sshd服务端口
PermitRootLogin yes #允许root用认证登录
PasswordAuthentication yes #开启密码认证
UsePAM yes #开启PAM认证
UseDNS no
8. 更换启动文件并设置服务开机自启(如果已经存在有直接替换即可)
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod u+x /etc/init.d/sshd
#设置开机启动
chkconfig --add sshd
chkconfig sshd on
#加载配置并重启sshd服务
systemctl daemon-reload && systemctl restart sshd
9. 新开窗口连接服务器登录验证。
[root@host-48 ~]# ssh -V
OpenSSH_8.7p1, OpenSSL 1.1.1l 24 Aug 2021
版本回退
回滚操作:
rm -rf /etc/ssh
mv /etc/ssh_`date +%F` /etc/ssh
mv /usr/bin/ssh_`date +%F` /usr/bin/ssh
mv /usr/sbin/sshd_`date +%F` /usr/sbin/sshd
整理不易,如果对你有帮助,可否点个赞?