ubuntu 18.04 apt 升级 nginx 1.14 到 nginx 1.21.0

升级原因:服务器安全扫描低版本安全漏洞

nginx 安全漏洞(CVE-2021-23017)   nginx存在安全漏洞,该漏洞源于一个离一错误在该漏洞允许远程攻击者可利用该漏洞在目标系统上执行任意代码。
受影响版本:0.6.18-1.20.0
NGINX 环境问题漏洞(CVE-2019-20372) NGINX 1.17.7之前版本中存在环境问题漏洞。攻击者可利用该漏洞读取未授权的Web页面。
nginx 安全漏洞(CVE-2018-16843)  nginx 1.15.6和1.14.1之前的版本的HTTP/2实现过程中存在安全漏洞。攻击者可利用该漏洞消耗大量的内存空间。
nginx 安全漏洞(CVE-2018-16845) Nginx 1.15.5及之前的版本和1.14.1版本中的ngx_http_mp4_module组件存在内存泄露漏洞,该漏洞源于程序没有正确处理MP4文件。远程攻击者可利用该漏洞获取敏感信息或造成拒绝服务。
nginx 安全漏洞(CVE-2019-9511)    Nginx 1.9.51 至 16.0版本及1.17.2.版本中的HTTP/2实现中存在拒绝服务漏洞,攻击者以多个数据流请求特定资源上的大量数据,通过操纵窗口大小和流优先级,强迫服务器将数据排列在1字节的块中,导致CPU及内存资源耗尽,造成拒绝服务。
nginx 安全漏洞(CVE-2019-9516) Nginx 1.9.51 至 16.0版本及1.17.2.版本中的HTTP/2实现中存在拒绝服务漏洞,攻击者以多个数据流请求特定资源上的大量数据,通过操纵窗口大小和流优先级,强迫服务器将数据排列在1字节的块中,导致CPU及内存资源耗尽,造成拒绝服务。
nginx 安全漏洞(CVE-2018-16844)   Nginx 1.15.5之前的版本和1.14.1版本中的HTTP/2实现过程中存在安全漏洞。远程攻击者可通过发送恶意的请求利用该漏洞造成拒绝服务。
nginx 安全漏洞(CVE-2019-9513)  Nginx 1.9.51 至 16.0版本及1.17.2.版本中的HTTP/2实现中存在拒绝服务漏洞,攻击者以多个数据流请求特定资源上的大量数据,通过操纵窗口大小和流优先级,强迫服务器将数据排列在1字节的块中,导致CPU及内存资源耗尽,造成拒绝服务。

最后将nginx升级为1.21.0

备份旧的nginx安装目录

sudo cp -r /etc/nginx /backup

卸载旧的nginx

sudo apt remove nginx nginx-common nginx-full nginx-core

保留了相关配置文件

更新apt源文件

# 进入目录
cd /etc/apt
# 备份源文件
sudo cp sources.list sources.list.bak
# 编辑配置文件
sudo vim sources.list
# 文件末尾添加以下两行并保存
deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx

导入nginx公钥

 sudo wget http://nginx.org/keys/nginx_signing.key
 sudo apt-key add nginx_signing.key

安装新的nginx

#更新源
sudo apt-get update
#查看可安装的nginx版本
sudo apt-cache show nginx
#安装nginx 1.21.0
sudo apt-get install nginx=1.21.0-1~bionic
#安装过程中可能会出现是否替换原先得配置文件  选择 N  会保留旧版本的配置
(在腾讯云上的ubuntu 18.04 上面升级没有出现,在客户机上出现了)
# 安装完成后查看nginx版本
sudo nginx -v
#遇到再 /etc/nginx/config.d/ 中多出来一个默认配置文件将此文件屏蔽
sudo mv default.conf default.conf_bak
# 还原备份的配置文件(nginx.conf,证书文件和自定义的配置文件等等,视情况而定)
# 在测试过程中发现原先得配置都保留了
sudo cp /backup/nginx.conf /etc/nginx
sudo cp -r /backup/cert /etc/nginx  #这是用来存放证书文件的目录,没有可以不还原
# 重启服务
sudo service nginx restart

隐藏响应头中得 nginx版本号

在nginx.conf 中 http 中配置 server_tokens off;

http {
……省略配置
server_tokens off;   ->即可隐藏版本号
…….省略配置
}

参考 

Ubuntu 18.04 nginx1.14升级到1.19

隐藏响应头中Apache、nginx或PHP的版本信息

你可能感兴趣的:(nginx,ubuntu,nginx)