美畅物联丨OpenSSH安全漏洞及Nginx缓冲区错误漏洞的修复

2024年11月26日
美畅物联丨OpenSSH安全漏洞及Nginx缓冲区错误漏洞的修复

概述

系统安全扫描时,发现了以下漏洞:

1、Nginx 缓冲区错误漏洞;

2、OpenSSH 安全漏洞

并给出了修复建议:

1、升级Nginx至1.26.0以后版本;

2、升级openSSH至9.8及以后版本。

以下记录了 Nginx 升级至 1.26.2 和 OpenSSH 升级至 9.8p1的过程,操作系统为:centOS 7。

一、升级 Nginx 到 1.26.2

步骤 1:检查当前 Nginx 版本

nginx -v


步骤 2:备份现有配置文件

在升级前,备份现有 Nginx 配置文件:


cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
cp -r /etc/nginx/conf.d /etc/nginx/conf.d.bak


步骤 3:下载 Nginx 1.26.2

wget http://nginx.org/download/nginx-1.26.2.tar.gz


步骤 4:解压源码包:

tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
./configure \
> --prefix=/usr/local/nginx \
> --with-http_ssl_module \
> --with-http_v2_module \
> --with-http_gzip_static_module \
> --with-pcre \
> --with-zlib \
> --with-openssl

执行提示: ./configure: error: invalid option “–with-zlib”。

下载:zlib

wget https://zlib.net/fossils/zlib-1.2.13.tar.gz


解压:

tar -zxvf zlib-1.3.tar.gz


再次执行:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-pcre --with-zlib=./zlib-1.2.13  --with-openssl
./configure: error: invalid option “–with-openssl”

说明:

Nginx 1.26.2 官方支持 OpenSSL 1.1.1 系列和 3.x 系列。

• 如果你的系统依赖的是 OpenSSL 1.1.1 系列,建议使用最新的 1.1.1v。

• 如果你希望采用 OpenSSL 最新特性,选择 OpenSSL 3.1.x(最新为 3.1.3,同时需要确保系统和依赖支持)。

OpenSSL 3.x 系列改动较大,仅适用于对兼容性有较高要求或希望使用最新特性的情况。只为解决Nginx缓冲区错误漏洞;所以我选择OpenSSL 1.1.1


解压 并再次执行:

tar -zxvf openssl-1.1.1v.tar.gz 
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-pcre --with-zlib=./zlib-1.2.13  --with-openssl=./openssl-1.1.1v

说明:由于指定了zlib和openssl的位置,这里不需要到相关的目录编译和安装zlib和openssl


步骤 5:编译并安装 Nginx:

完成配置后,继续执行以下命令完成编译和安装:

make 
make install


步骤 6: 配置并启动新版本:

/usr/local/nginx/sbin/nginx -v


示例输出:

nginx version: nginx/1.26.2

。替换备份的配置文件到新路径:

cp /etc/nginx/nginx.conf.bak /usr/local/nginx/conf/nginx.conf
cp -r /etc/nginx/conf.d.bak /usr/local/nginx/conf/conf.d


启动 Nginx:

/usr/local/nginx/sbin/nginx


检查 Nginx 是否启动成功:

ps aux | grep nginx


二、升级 OpenSSH 到 9.8p1

步骤 1:检查OpenSSH版本并下载指定版本

ssh -V


从 OpenSSH 官方网站 下载源码:

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz


步骤 2: 解压源码包:

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


步骤 3: 编译并安装 OpenSSH:

./configure
make
make install


步骤 4:配置环境变量:

编辑文件

vi ~/.bashrc


输入:

export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
export CFLAGS="-I/usr/local/openssl/include"
export LDFLAGS="-L/usr/local/openssl/lib


修改生效:

source ~/.bashrc


步骤 5:验证版本:

ssh -V


通过以上步骤完成升级后,您的系统将更安全,已知漏洞将被修复。

————————————————

关注“美畅物联”,了解更多视频汇聚及AIoT底座解决方案。

美畅美畅物联畅联畅联云平台视频监控云平台云视频监控视频云平台视频开放平台视频感知云视频接入网关AIoT综合接入网关视频中台物联网中台无插件播放H265播放EhomeISUP GB28181GB35114gat1400JT808JT1078