如何在 Apache 服务器配置HTTP Security Headers安全标头

如何在Apache服务器配置HTTP Security Headers安全标头

如何在Apache服务器配置HTTP Security Headers安全标头

   HTTP Security Headers安全标头是网站安全的重要组成部分,因为它可以保护您免受不同类型的攻击,包括XSS、SQL注入、点击劫持等。

  当你访问任何网站时,浏览器会从网站的Web服务器请求该网站,然后Web服务器使用HTTP响应头进行响应。这些标头包含元数据、状态错误代码、缓存规则等。当使用网络与网站交互时,您的浏览器会存储其信息。这些标头在服务器中全局应用,如果您想更改为特定文件,请在位置(nginx)或filesMatch(apache)块中添加标头。

  之前,我们已经介绍过如何在Nginx服务器配置HTTP Security Headers安全标头,本文晓得博客为你介绍如何在Apache服务器配置HTTP Security Headers安全标头。

1. HTTP 严格传输安全 (HSTS)

  此标头指示用户代理仅使用HTTPs连接,并且它也由Strict-Transport-Security声明。这将阻止Web浏览器通过非HTTPS连接访问Web服务器。目前所有主要的网络浏览器都支持HTTP严格传输安全。

  通过HTTP访问您的网站时,浏览器会忽略Strict-Transport-Security标头。这是因为攻击者可能会拦截HTTP连接并注入或删除标头。

  您可以通过在/etc/apache2/sites-enabled/example.conf文件中添加以下条目在Apache中实现HSTS:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

  保存文件,然后重新启动 Apache 服务以应用更改。

  注意:如果要将这些头文件应用到特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

  推荐:如何使用Lighthouse分析网站

2. 内容安全政策(CSP)

  Content-Security-Policy 标头是 X-XSS-Protection 标头的改进版本,提供了额外的安全层。它非常强大的头部旨在防止 XSS 和数据注入攻击。CSP 指示浏览器加载允许在网站上加载的内容。目前所有主要浏览器都提供对内容安全策略的全部或部分支持。

  您可以通过在 /etc/apache2/sites-enabled/example.conf 文件中添加以下条目在 Apache 中实现 CSP:

Header always set Content-Security-Policy "default-src 'self'; font-src *;img-src * data:; script-src *; style-src *;"

保存文件,然后重新启动 Apache 服务以应用更改。

注意:如果要将这些头文件应用到特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

3. X-XSS-保护

  X-XSS 也称为跨站点脚本头,用于防御跨站点脚本攻击。XSS 过滤器在现代 Web 浏览器(例如 Chrome、IE 和 Safari)中默认启用。当页面检测到反射的跨站点脚本 (XSS) 攻击时,此标头会阻止页面加载。

  您可以根据具体需要使用三个选项来实施 XSS 保护。

  1. X-XSS-Protection: 0:这将完全禁用过滤器。
  2. X-XSS-Protection: 1 : 这将启用过滤器,但只会清理潜在的恶意脚本。
  3. X-XSS-保护:1;mode=block:这将启用过滤器并完全阻止页面。

  要在 Apache 中启用 X-XSS-Protection 标头,请在 Apache Web 服务器默认配置文件 /etc/apache2/sites-enabled/example.conf 中添加以下行:

Header set X-XSS-Protection "1; mode=block"

  接下来,重新启动 Apache 服务以应用更改。

  注意:如果要将这些头文件应用到特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

  推荐:什么是Trackback?WordPress怎么禁用Trackback

4. X-Frame-Options

如何在Apache服务器配置HTTP Security Headers安全标头

  X-Frame-Options 标头用于通过禁用您网站上的 iframe 来保护您的网站免受点击劫持攻击。目前,所有主要的网络浏览器都支持它。使用此标头,您可以告诉浏览器不要将您的网页嵌入到 frame/iframe 中。

  X-Frame-Options 的配置方式有以下三种:

  1. DENY :这将完全禁用 iframe 功能。
  2. SAMEORIGIN : iframe 只能由同源的人使用。
  3. ALLOW-FROM :这将允许仅从特定 URL 将页面放入 iframe。

  要在 Apache 中启用 X-Frame-Options 标头,请在 Apache Web 服务器默认配置文件 /etc/apache2/sites-enabled/example.conf 中添加以下行:

Header always set X-Frame-Options "SAMEORIGIN"

  接下来,重新启动 Apache 服务以应用更改。

  注意:如果要将这些头文件应用到特定文件,请在 location 块(Nginx)或 filesMatch 块(Apache)中的 Header set 行中添加 add_header 行。

5. X-Content-Type-Options

  x-content-type 标头也称为“浏览器嗅探保护”,以告诉浏览器遵循标头中指示的 MIME 类型。它用于防止网络浏览器(例如 Internet Explorer 和 Google Chrome)从声明的 Content-Type 中嗅探响应。nosniff 标头并不能保护所有与嗅探相关的漏洞。除了 nosniff 之外,此标头也没有有效值。

  要在 Apache 中添加 X-Frame-Options 标头,请在 Apache Web 服务器默认配置文件 /etc/apache2/sites-enabled/webdock.conf 中添加以下行:

Header always set X-Content-Type-Options "nosniff"

  接下来,重新启动 Apache 服务以应用更改。

  注意:如果要将这些头文件应用到特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

6. 推荐人政策

  Referrer-Policy 是一个安全标头字段,用于标识请求当前网页的网页地址。通过检查引用者,新网页可以看到请求的来源。Referrer-Policy 可以配置为使浏览器不通知目标站点任何 URL 信息。

  要在 Apache 中添加 Referrer-Policy 标头,请在 Apache Web 服务器默认配置文件 /etc/apache2/sites-enabled/webdock.conf 中添加以下行:

Header always set Referrer-Policy "strict-origin"

  接下来,重新启动 Apache 服务以应用更改。

  注意:如果要将这些头文件应用到特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

  推荐:Perfmatters插件教程轻量WordPress性能优化插件

7. 权限政策

  Permissions-Policy 是一个新标头,允许站点控制可以在浏览器中使用哪些 API 或功能。

  要在 Apache 中添加 Permissions-Policy 标头,请在 Apache Web 服务器默认配置文件 /etc/apache2/sites-enabled/webdock.conf 中添加以下行:

Header always set Permissions-Policy "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()"

  接下来,重新启动 Apache 服务以应用更改。

  注意:根据您的网站需要更改权限,此处显示的值只是示例策略,没有实际用例的基础。如果要将这些标头应用于特定文件,请在位置块 (Nginx) 或 filesMatch 块 (Apache) 中的 Header set 行中添加 add_header 行。

测试配置的HTTP Security Headers安全标头

  如果想要测试网站是否添加已 HTTP 安全标头,可以使用免费的安全标头工具测试您的配置。只需输入您的网站 URL,然后单击“扫描”按钮。

检查网站的Security Headers

  然后它会检查您网站的 HTTP 安全标头,并向您显示报告。该工具会生成一个等级标签,它将显示您的网站发送了哪些 HTTP 安全标头,以及哪些安全标头不包括在内。如果您想设置的安全标头列在那里,那么您就完成了。   

  注意:如果要取得A,需要将上述所有的 Security Headers安全标头添加到网站。

结论

  以上是晓得博客为你介绍的如何在Apache服务器配置HTTP Security Headers安全标头,希望本文提供的有关设置安全相关标头的指南和提示有用。如果任何问题或意见,欢迎评论。

  推荐:[已解决]如何修复另一个更新正在进行中WordPress升级错误


滚动至顶部