OpenSSH 漏洞补丁更新笔记

ops/2024/10/18 18:15:59/

OpenSSH 漏洞补丁更新笔记

  • 相关背景
  • OpenSSH 8.8 以后版本弃用RSA 以及影响
  • centos 更新openssh9.7p1
    • 通过rpm包进行安装
  • Ubuntu更新openssh-9.5p1
    • 前置条件
    • 下载的源码包导入服务器后操作

相关背景

客户通过第三方扫漏工具发现服务器centos8和Ubuntu22.04有OpenSSH 相关高危漏洞
扫出以下漏洞:

OpenSSH 输入验证错误漏洞(CVE-2019-16905)
OpenSSH 操作系统命令注入漏洞(CVE-2020-15778)
OpenSSH 安全漏洞(CVE-2021-41617)
OpenSSH 代码问题漏洞(CVE-2023-38408)
OpenSSH 信息泄露漏洞(CVE-2020-14145)
OpenSSH 授权问题漏洞(CVE-2021-36368)

加固建议

若您不需要使用该应用或服务,请关闭该应用或服务即可。
目前厂商已经发布了升级补丁以修复这个安全问题,截止20231017日,建议升级到到当前最新的版本9.5,或后续更高版本。
Linux系统请在以下页面进行下载:
http://www.openssh.com/portable.html其他版本系统请到厂商主页下载最新版本:
http://www.openssh.com/

OpenSSH 8.8 以后版本弃用RSA 以及影响

https://www.openssh.com/txt/release-8.8
OpenSSH 弃用 RSA 签名主要是因为 RSA 签名算法的安全性在现代密码学标准中已经开始受到一些质疑。
OpenSSH 8.8 版本开始建议用户使用 ECDSA 或 Ed25519 签名算法,而不是 RSA。这样做可以提高系统的安全性,并且通常不会影响到用户的使用。
OpenSSH 8.8 版本中弃用 RSA 签名对安全性的影响是很小的,因为 RSA 签名仍然被广泛支持和使用,而且通常不会在短期内完全淘汰。
可能需要更新配置:如果您的 OpenSSH 配置中明确指定了使用 RSA 签名算法,您可能需要更新配置以使用推荐的 ECDSA 或 Ed25519 签名算法。您可以编辑 OpenSSH 的配置文件(通常是 /etc/ssh/sshd_config),将 HostKeyAlgorithms 和 PubkeyAcceptedKeyTypes 指定为 ECDSA 和 Ed25519,以确保使用这些更现代的签名算法。
兼容性考虑:尽管 OpenSSH 8.8 弃用了 RSA 签名,但由于 RSA 仍然被广泛使用,因此这个变化不太可能导致大规模的兼容性问题。但是,如果您的系统与使用 RSA 签名的旧客户端或服务端有交互,可能需要进行一些调整和测试,以确保兼容性。

在这里插入图片描述

centos 更新openssh9.7p1

通过rpm包进行安装

请大佬同事对源码包构建成rpm包后进行安装
文件在文章最上面

#上传rpm包至服务器后解压
unzip x86_64.zip
yum install ./openssh-server-9.7p1-1.el8.x86_64.rpm ./openssh-clients-9.7p1-1.el8.x86_64.rpm ./openssh-9.7p1-1.el8.x86_64.rpm
#备份/etc/ssh
cp -a /etc/ssh /etc/ssh.bak
#删除历史ssh_host相关配置,重启后会自动生成
rm -rf /etc/ssh/ssh_host_*
systemctl enable sshd
systemctl restart sshd

更新完成后,在单开个终端测试登录是否正常
远程工具重新登录可能出现以下提示点OK即可
重启服务器进行验证
如是堡垒机连接,因sshd更新,导致无法远程连接,需要删除堡垒机内服务器资源,重新添加可解决该问题

在这里插入图片描述

Ubuntu更新openssh-9.5p1

前置条件

从相关网站下载源码包,我下载的openssh-9.5p1.tar.gz
http://www.openssh.com/portable.html
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
在这里插入图片描述

下载的源码包导入服务器后操作

tar -zxvf openssh-9.5p1.tar.gz
cd openssh-9.5p1

预配置,会提示需要pam,不确定不安装pam是否有影响,未测试。

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-pam --with-ssl-dir=/usr/local

安装pam

apt-get install -y  libpam-pwquality

编译安装

make && make install

修改默认配置,避免无法登录服务器

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

备份历史配置文件,并替换

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_configmv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshdmv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/sshmv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygenmv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

修改sshd服务

# modify Type=notify to Type=simple
sed -i "s/Type\=notify/Type\=simple/g" /etc/systemd/system/sshd.service

更新完看到sshd 是disabled
故更新完成后对sshd服务重启,并添加开机自启,以及检查

systemctl daemon-reload
systemctl enable sshd
systemctl restart sshd
systemctl list-unit-files --type=service | grep enabled

查看ssh版本是否更新

ssh -V

单开个终端进行远程连接测试,如异常还可进行调整
重启服务器再次登录验证


http://www.ppmy.cn/ops/26910.html

相关文章

面试:ThreadLocal

目录 1、ThreadLocal可以实现〔资源对象】的线程隔离,让每个线程各用各的【资源对象】,避免争用引发的线程安全问题 2、ThreadLocal同时实现了线程内的资源共享 3、原理 4、为什么ThreadLocalMap 中的 key (即 ThreadLocal )要设计为弱引用…

【热闻速递】Google 裁撤 Python研发团队

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 【🔥热闻速递】Google 裁撤 Python研发团队引入研究结论 【&#x1f5…

【PC游戏】【World of Warcraft 魔兽世界(法语版)】怀旧版 CD-ROM 安装及使用记录(一)

一、前言 正值最近暴雪和网易重修旧好之时,笔者在新加坡从一个宅男朋友nerd bro那里淘到了一套法语版的World of Warcraft,共5张CD-ROM光碟。该套光碟的发行年份是2005年,于欧盟制造。推荐的操作系统是Windows 2000或者Windows XP或者Mac OS…

Python 深度学习(一)

原文:zh.annas-archive.org/md5/98cfb0b9095f1cf64732abfaa40d7b3a 译者:飞龙 协议:CC BY-NC-SA 4.0 序言 随着全球对人工智能的兴趣不断增长,深度学习引起了广泛的关注。每天,深度学习算法被广泛应用于不同行业。本书…

数据库(MySQL)基础:函数

函数:是指一段可以直接被另一段程序调用的程序或代码。 1.字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 函数功能concat(S1,S2,...Sn)字符串拼接,将S1,S2,...Sn拼接成一个字符串lower(str)将字符串str全部转为小写…

Github2024-04-25 开源项目日报Top10

根据Github Trendings的统计,今日(2024-04-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4非开发语言项目2TypeScript项目2PowerShell项目1C++项目1Dart项目1JavaScript项目1GPT4All: 在边缘运行开源大型语言模型 创建周期:…

SpringMVC中常见注解和用法

一.建立连接 RequestMapping 来实现 URL 路由映射。RequestMapping是Spring Web MVC 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的,表⽰服务收到请求时,路径为 /sayHi 的请求就会调⽤ sayHi 这个⽅法的代码。 路由映射: 当…

latex+vscode一直报错,配置文件json和环境变脸配置

1、json配置文件 {"latex-workshop.latex.tools": [{"name": "xelatex","command": "xelatex","args": ["-synctex1","-interactionnonstopmode","-file-line-error","%DOCF…