由于通过Ubuntu 20.04 软件源安装的Apache2最新版本是2,4.41, 这个版本目前存在诸多的t高危安全漏洞,所以需要对Apache2升级到最新版本。Apache HTTP Server 2.4 漏洞列表:
查询Apache2现有版本:
apache2 -v
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2021-10-14T16:24:43
添加Apace2 PPA 软件源并获取可升级的软件包信息:
Ondřej 是Debian 上PHP 的维护者,并为Ubuntu 以及Nginx 和PHP 维护最新的Apache PPA。
sudo add-apt-repository ppa:ondrej/apache2 -y && sudo apt update
从PPA 软件源升级Apache2
apt upgrade apache2 -y
验证Apache2升级后的版本
apache2 -v
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2021-12-28T20:18:12
测试设置是否成功
设置完成了后,可以用curl命令验证下是否设置成功。如果出来的结果中含有Strict-Transport-Security的字段,那么说明设置成功了。(仅做演示,尚未部署。)
$ curl -I https://ywnz.com
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 10 Jul 2018 03:52:19 GMT
Content-Type: text/html; charset=utf-8
...
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
...
对于HSTS以及HSTS Preload List,建议是只要不能确保永远提供HTTPS服务,就不要启用。因为一旦HSTS生效,之前的老用户在max-age过期前都会重定向到HTTPS,造成网站不能正确访问。唯一的办法是换新域名。