前言
最近客户联系说nginx存在安全漏洞
F5 Nginx 安全漏洞(CVE-2024-7347)
F5Nginx是美国F5公司的一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。F5
Nginx存在安全漏洞,该漏洞源于可能允许攻击者使用特制的mp4文件过度读取NGINX工作内存导致其终止。
查了下官方更新版本,升级1.26.2及以上即可解决上述问题
因为服务器安装的虚拟机(Ubuntu20.04)有点久了,版本相对现在较低,最高可升级nginx1.26.1
查询了很多资料,尝试deb安装,都没有成功。最终在官网找到了解决方案,现做整理。
Ubuntu环境
1.安装前提条件:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
2.导入 NGINX 官方签名密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
3.验证密钥是否正确:
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出应包含以下完整指纹:
pub rsa2048 2011-08-19 [SC] [expires: 2027-05-24]573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
4.设置 APT 仓库(以下二选一):
对于稳定版 NGINX 包:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \| sudo tee /etc/apt/sources.list.d/nginx.list
如果需要使用主线版本,请运行:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \| sudo tee /etc/apt/sources.list.d/nginx.list
5.设置仓库优先级,优先选择 NGINX 官方包:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \| sudo tee /etc/apt/preferences.d/99nginx
6.安装 NGINX:
sudo apt update
sudo apt install nginx
7.重启nginx
sudo systemctl restart nginx
8.查看nginx版本:
nginx -v
看是否更新到了最新的版本,我这里使用的是稳定版,更新到了1.26.3