CVE-2023-38408漏洞修复 - 升级openssl和openssh

2024-03-30 23:52

本文主要是介绍CVE-2023-38408漏洞修复 - 升级openssl和openssh,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CVE-2023-38408 OpenSSH 代码问题漏洞修复 - 升级openssl和openssh

※ 重要说明:
1、升级后会导致无法用ssh远程登录,提示“Permission denied, please try again.”
2、解决方案请查看本章节【三、解决升级后无法用ssh远程登录】

目录

  • CVE-2023-38408 OpenSSH 代码问题漏洞修复 - 升级openssl和openssh
  • 一、漏洞说明
    • 1、CVE-2023-38408漏洞
  • 二、解决方案
    • 1、安装zlib
      • 1.1、下载zlib源码
      • 1.2、上传并解压
      • 1.3、编译源码并安装
    • 2、安装openssl
      • 2.1、下载openssl源码
      • 2.2、上传并解压
      • 2.3、编译源码并安装
      • 2.4、更新系统的 OpenSSL
    • 3、升级openssh
      • 3.1、下载openssh源码
      • 3.2、上传并解压
      • 3.3、编译源码并安装
  • 三、解决升级后无法用ssh远程登录
    • 1、修改配置文件
    • 2、新增PAM控制文件
    • 3、重启sshd服务
    • 4、使用ssh远程连接服务器

一、漏洞说明

1、CVE-2023-38408漏洞

CVE-2023-38408 漏洞是OpenSSH 代码问题漏洞。

OpenSSH(OpenBSD Secure Shell)是加拿大OpenBSD计划组的一套用于安全访问远程计算机的连接工具。
该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击
。** OpenSSH 9.3p2**之前版本存在安全漏洞,该漏洞源于ssh-agent的PKCS11功能存在安全问题。
攻击者可利用该漏洞执行远程代码。

序号应用项说明
1系统CentOS Linux release 7.9.2009 (Core)
2opensslopenssl-1.0.2k
3opensshopenssh_7.4p1

当前系统openssh版本
在这里插入图片描述

二、解决方案

解决方案是将openssl升级到v1.1.1;将openssh升级到openssh-9.3p2

序号应用项说明
1zlibzlib-1.2.13
2opensslopenssl-1.1.1u
3opensshopenssh-9.3p2

1、安装zlib

※ 说明:

  • 如果编译openssl源码或openssh源码时提示 fatal error: zlib.h: No such file or directory,则需要重新用源码编译安装zlib. 否则可以直接进入第2步 【2、安装openssl】

1.1、下载zlib源码

wget http://www.zlib.net/zlib-1.2.13.tar.gz

1.2、上传并解压

tar -xzvf ./zlib-1.2.13.tar.gz

1.3、编译源码并安装

cd zlib-1.2.13/
./configure --shared
make
make installcp zutil.h /usr/local/include
cp zutil.c /usr/local/include

2、安装openssl

2.1、下载openssl源码

wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz

2.2、上传并解压

tar -zxvf openssl-1.1.1u.tar.gz

2.3、编译源码并安装

cd openssl-1.1.1u
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
make install

2.4、更新系统的 OpenSSL

# 更新系统的 OpenSSL 链接,首先备份旧版本的 openssl 可执行文件
mv /usr/bin/openssl /usr/bin/openssl.old
# 创建新的符号链接:
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 更新系统库链接
echo "/usr/local/openssl/lib" | sudo tee -a /etc/ld.so.conf.d/openssl-1.1.1k.conf
sudo ldconfig
# 验证系统openssl版本
openssl version

在这里插入图片描述

3、升级openssh

3.1、下载openssh源码

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz# 备份
mv /etc/ssh /etc/ssh@20240327

3.2、上传并解压

tar -zxvf openssh-9.3p2.tar.gz

3.3、编译源码并安装

cd openssh-9.3p2/
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/lib64/ --with-zlib --with-ssl-engine
make
make install

在这里插入图片描述

三、解决升级后无法用ssh远程登录

产生该问题的原因是升级后的OpenSSH启用了PAM登录认证,因此需要提供一个/etc/pam.d/sshd 控制文件。解决方案如下

1、修改配置文件

#vim /etc/ssh/sshd_config

在配置文件中新增下面配置

PermitRootLogin yes			    #允许root帐号远程登录
PasswordAuthentication yes         #开启密码认证方式
UsePAM yes                          #开启UsePAM登录

在这里插入图片描述

2、新增PAM控制文件

#vim /etc/pam.d/sshd

#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

在这里插入图片描述

3、重启sshd服务

#systemctl restart sshd

在这里插入图片描述

4、使用ssh远程连接服务器

# ssh root@ip

在这里插入图片描述

以上就是全部修复漏洞【CVE-2023-38408】的全部过程。

这篇关于CVE-2023-38408漏洞修复 - 升级openssl和openssh的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/862913

相关文章

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中