前言
最近客戶聯系說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