漏洞修复系列:nginx平滑升级nginx升级解决漏洞CVE-2024-7347




nginx平滑升级nginx升级解决漏洞CVE-2024-7347

因服务器漏扫F5 Nginx 安全漏洞(CVE-2024-7347)

这里选择升级nginx解决

笔者服务器 nginx 目前是nginx-1.23.3 安装在/usr/local/nginx

此次版本为1.27.2 需要保留原来配置

以下为操作步骤:

一、备份现有 Nginx 配置和文件

备份 Nginx 配置文件:

   cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak

备份 Nginx 安装目录:

 cp -r /usr/local/nginx /usr/local/nginx-1.23.3.bak
二、下载并解压 Nginx 1.27.2

下载 Nginx 1.27.2 安装包,可以从 Nginx 官方网站下载

cd /usr/local/   
tar -zxvf nginx-1.27.2.tar.gz 
三、编译和安装 Nginx 1.27.2
cd /usr/local/nginx-1.27.2

配置编译选项,确保保留原来的模块和配置:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --with-pcre

这里的配置选项可以根据你的实际需求进行调整。如果在 1.23.3 版本中有自定义的模块或配置,可以在这个步骤中添加相应的选项以确保新的版本也包含这些功能。

编译并安装

make && make install
四、平滑升级
1. 发送信号给旧版本的 Nginx 主进程,让它重新加载配置文件并启动新的工作进程:
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
2. 关闭旧版本的工作进程:
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
3. 确认升级成功后,可以关闭旧版本的主进程:
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
五、检查升级结果
1. 检查 Nginx 状态:
/usr/local/nginx/sbin/nginx -t
2. 查看 Nginx 版本:
/usr/local/nginx/sbin/nginx -V
3. 查看 Nginx 运行状态:
ps -ef | grep nginx

如果没有看到 Nginx 进程在运行,说明 Nginx 可能没有启动或者已经意外停止了。如果看到进程在运行,但仍然出现错误,可能是 pid 文件出现了问题。

先删除现有的 nginx.pid 文件

rm /usr/local/nginx/logs/nginx.pid

尝试重新启动

cd /usr/local/nginx/sbin
./nginx

如果启动成功,Nginx 会自动创建一个新的 pid 文件,其中包含正确的进程 ID。

文章内容参考:豆包ai







m0_74823827

nginx平滑升级nginx升级解决漏洞CVE-2024-7347

### F5 Nginx 安全漏洞 CVE-2024-24989 和 CVE-2024-24990 的修复方案 针对F5 Nginx安全漏洞CVE-2024-24989和CVE-2024-24990,官方已经发布了更新版本来修补这些漏洞。为了确保系统的安全性,建议按照以下方法进行修复: #### 下载并安装最新的Nginx版本 对于Windows Server环境,可以从官方网站下载适用于该操作系统的最新版Nginx压缩包[^3]。 ```bash wget https://nginx.org/download/nginx-1.25.4.zip unzip nginx-1.25.4.zip ``` #### 备份现有配置文件 在执行任何更改之前,先备份当前使用的Nginx配置及相关数据,以防出现问题时可以快速恢复。 ```bash cp -r /usr/local/nginx /usr/local/nginx-backup ``` #### 编译新版本的Nginx 解压源码包后进入解压后的目录,并运行`./configure`脚本来设置编译参数,接着通过`make`命令构建新的二进制文件。最后一步是覆盖旧的服务程序文件以及完成平滑升级过程[^4]。 ```bash tar -zxvf nginx-1.24.0.tar.gz cd ./nginx-1.24.0/ ./configure --prefix=/usr/local/nginx make cp ./objs/nginx /usr/local/nginx/sbin/ make upgrade ``` #### 验证安装成功与否 确认新版Nginx已正确部署并且能够正常工作非常重要。可以通过测试语法正确性和查看具体版本号来进行验证[^2]。 ```bash /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -V ``` 以上步骤完成后,应该解决了由CVE-2024-24989和CVE-2024-24990引起的安全隐患。不过需要注意的是,在实际环境中实施上述措施前,请务必仔细阅读官方文档中的指导说明,以适应特定场景下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值