当前位置:首页 » 《我的小黑屋》 » 正文

Linux OpenSSH最新版9.7p1升级操作详细教程

28 人参与  2024年05月08日 14:17  分类 : 《我的小黑屋》  评论

点击全文阅读


原创声明:非本人许可,谢绝转载!

1.背景说明

前几天与朋友闲聊中得知他朋友圈有服务器因OpenSSH漏洞遭受攻击的事情,OpenSSH重要性这里就不废话了,在网上一查,公布的漏洞还真不少,其中还有不少利用难度很低的漏洞。查了下自已管辖服务器的OpenSSH版本,天啊,这不妥妥的是待宰的羔羊、喷香的肉鸡吗。还没遭到攻击,这分明就是羊汤不香肉鸡吃够还没功夫搭理你的节奏啊,要黑你分分钟就会被拿下。
漏洞披露

2.升级目标

从各渠道及官方公布的漏洞来看,9.6p1以下版本均受到影响。截止发稿前,Openssh官方查看最新版本为2024年3月11日发布的9.7p1,本次将更新升级至此版本,来提高系统安全系数。
图表来源于国家信息安全漏洞共享平台

3.准备工作

3.1.环境评估

本次以测试服务器为例讲解,系统为Centos7.9 2009版本,升级前OpenSSH版本7.4p1,OpenSSL版本1.0.2k,案例仅供更新参考,其他系统及版本请自行测试。
升级前版本

3.2.备份现有配置

cp -rf /etc/ssh /etc/ssh.bakcp -rf /usr/bin/openssl /usr/bin/openssl.bakcp -rf /etc/pam.d /etc/pam.d.bakcp -rf /usr/lib/systemd/system /system.bak

配置备份

3.3.TELNET安装配置

#1.telnet安装yum install -y telnet telnet-server xinetd#2.启动telnet服务systemctl start xinetd && systemctl start telnet.socket#3.开放防火墙23端口firewall-cmd --zone=public --add-port=23/tcp --permanent#4.重新加载防火墙规则firewall-cmd --complete-reload#5.查询23端口放行情况firewall-cmd --query-port=23/tcp#6.开放telnet明文登录sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so/#&/' /etc/pam.d/remote#7.测试telnet登录telnet ip#8.加入开机启动systemctl enable telnet.socket

telnet安装及验证

4.升级步骤

4.1.依赖及编译环境安装

yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano

依赖已安装

4.2.下载源码包

cd /usr/local/srcwget https://www.zlib.net/zlib-1.3.1.tar.gzwget https://www.openssl.org/source/openssl-3.2.1.tar.gzwget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

源码包下载

4.3.解压源码包

cd /usr/local/src/tar -zxvf zlib-1.3.1.tar.gztar -zxvf openssl-3.2.1.tar.gztar -zxvf openssh-9.7p1.tar.gz

查看解压包

4.4.安装Zlib

#1.进入zlib-1.3.1目录cd /usr/local/src/zlib-1.3.1#2.配置./configure --prefix=/usr/local/src/zlib#3.编译及安装(编译时间预计几分钟,视机器而定)make -j 4 && make test && make install

安装zlib

4.5.安装OpenSSL

#1.进入openssl-3.2.1目录cd /usr/local/src/openssl-3.2.1#2.配置./config --prefix=/usr/local/src/openssl#3.编译及安装(编译时间预计几分钟,视机器而定)make -j 4 && make install

openssl安装

#4.配置mv /usr/bin/openssl /usr/bin/oldopensslln -s /usr/local/src/openssl/bin/openssl /usr/bin/opensslln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3#5.更新动态库echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.confldconfig#6.查看更新后的版本openssl version -v

openssl配置

4.6.安装OpenSSH

4.6.1.老版本OpenSSH卸载

#1.卸载openssh7.4p1yum remove -y openssh#2.清理残余文件rm -rf /etc/ssh/*

卸载老版本

4.6.2.OpenSSH安装

#1.进入openssh-9.7p1目录cd /usr/local/src/openssh-9.7p1#2.配置./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib #3.编译及安装make -j 4 && make install#4.查看目录版本/usr/local/src/ssh/bin/ssh -V#5.复制新ssh文件cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshdcp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.pam /etc/pam.d/sshdcp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshdcp -rf /usr/local/src/ssh/bin/ssh /usr/bin/sshcp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen#6.允许root登录echo 'PermitRootLogin yes' >> /etc/ssh/sshd_configecho 'PasswordAuthentication yes' >> /etc/ssh/sshd_config#重启sshd服务/etc/init.d/sshd restart#查看服务运行状态/etc/init.d/sshd status#添加开机启动chkconfig --add sshd#查看升级后ssh版本ssh -V

openssh配置

openssh编译
openssh复制新文件
配置启动服务等
验证SSH服务

#任意终端工具测试验证(例如windows)ssh root@服务器IP

SSH验证
可以看到OpenSSH已升级至9.7p1版本 OpenSSL已升级至3.2.1版本,接着把备份的配置还原,关闭及卸载telnet服务,至此升级全部完成!

原创声明:非本人许可,谢绝转载!


点击全文阅读


本文链接:http://zhangshiyu.com/post/105161.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1