问题标签 [hsts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
373 浏览

node.js - 强制从网络服务器重置 HTST 缓存

nginx用作反向代理和nodejs应用程序。我想知道是否有任何解决方案可以HSTS从网络服务器强制或 HTTPS 严格传输安全?

我不想让用户重置他们的浏览器缓存,因为它确实是技术性的,他们不知道如何解决这个问题。

0 投票
1 回答
817 浏览

ssl - 在 Etherpad 中为子域禁用 HSTS

我有一个带有两个不同证书的网站。一个供官方使用,因此用户看不到自签名警报。还有一个供私有子域内部使用(用于 phpmyadmin、roundcube 等)。这些子域仅供管理员使用,因此对我来说花钱购买通配证书似乎毫无用处。因此通配符证书是自签名的,我已经记住了哈希。

此外,我在与 http 不同的端口(不是不同的子域)上的该服务器上获得了 etherpad-Installation。Etherpad 现在似乎发送此标头“Strict-Transport-Security: max-age=31536000; includeSubDomains”,这很愚蠢,因为我找不到关闭“includeSubDomains”的选项。

现在,当我在我的垫子里,然后尝试使用我的管理子域时,由于 HSTS,我得到了一个错误,没有设置异常的选项,因此这些现在对我来说是不可用的。

有人知道如何摆脱 etherpad 安装中的“includeSubDomains”吗?

如果有人可以帮助我,我会很高兴。谢谢你。

0 投票
1 回答
7119 浏览

http - 使用 sslstrip+ 和 dns2proxy 绕过 HSTS

我试图了解如何绕过 HSTS 保护。我读过 LeonardoNve 的工具(https://github.com/LeonardoNve/sslstrip2https://github.com/LeonardoNve/dns2proxy)。但我完全不明白。

  • 如果客户端第一次请求服务器,它将随时工作,因为 sslstrip 将简单地剥离 Strict-Transport-Security: 标头字段。所以我们又回到了原来的 sslstrip 的旧案例中。

  • 如果不 ... ?发生什么了 ?客户端知道它应该只使用 HTTPS 与服务器交互,所以它会自动尝试使用 HTTPS 连接到服务器,不是吗?那样的话,MitM就没用了……><

查看代码,我有点明白 sslstrip2 将更改客户端所需资源的域名,因此客户端不必使用 HSTS,因为这些资源不在同一个域上(是真的吗?)。客户端将发送一个 DNS 请求,dns2proxy 工具将拦截并发回真实域名的 IP 地址。最后,客户端将 HTTP 应该以 HTTPS 方式完成的资源。

示例:从服务器响应中,客户端必须下载 mail.google.com。攻击者将其更改为 gmail.google.com,因此它不是同一个(子)域。然后客户端将对该域进行 DNS 请求,dns2proxy 将使用 mail.google.com 的真实 IP 进行响应。然后,客户端将简单地通过 HTTP 询问该资源。

在此之前我没有得到的是......攻击者如何在从客户端到服务器的连接应该是 HTTPS 的情况下进行 html-strip......?

缺少一块……:s

谢谢

0 投票
0 回答
150 浏览

google-chrome - Chrome 是否真的预加载了 HSTS?

我在 Ubuntu 14.04.2 LTS 下使用 Chrome 版本 32.0.1700.107。如果我清除我的缓存,看起来没有域留在 HSTS 集中,尽管应该预加载一些域。我正在使用我认为安全的旧域,例如 mail.google.com,但在 chrome://net-internals/#hsts 的“查询域”下,我得到“未找到”,直到我真正访问 mail.google .com 第一次。

这似乎比预加载您的站点更重要。有什么想法吗?

0 投票
2 回答
1537 浏览

javascript - 有没有办法在没有 SSL 证书的情况下清除 HSTS?

最近,我为我的站点切换服务器,我设法丢失了解密的 SSL 密钥,我不记得加密的密码。原来是服务器开启了HSTS,现在很多访问者无法加载页面,因为我没有有效的SSL证书,他们的浏览器由于HSTS拒绝通过http连接。

所以,我需要一种从他们的浏览器中禁用 HSTS 的方法。要求他们清除浏览数据是不行的,但我想知道我是否可以制作一个与 firefox/chrome 兼容的 javascript 来清除它。(脚本将位于不同的域中)

我一直在挖掘,但没有找到太多关于我应该如何解决这个问题的信息,如果可能的话。也欢迎所有其他建议。

0 投票
1 回答
946 浏览

https - HSTS 标头 Strict-Transport-Security 中的大小写是否重要?

在 http 响应中,可以有标头Strict-Transport-Security。我确信它必须用 Train-Case 编写,就像在 dropbox.com 上一样:

但是在一个网站上,我看到它是用 kebab-case 写的(这个网站不能公开访问,这就是为什么我不给出它的链接):

在 Strict-Transport-Security 标头中使用所有小写字母是否正确?

0 投票
1 回答
2134 浏览

c# - 停止 HSTS HTTPS 强制

所以我把它放在我的 Global.asax.cs 中以使用 HSTS 强制执行 HTTPS

现在,问题是这种强制是基于我的应用程序中的一个设置,它决定是否强制执行,当它设置为不强制时,它仍然在强制执行。如何让它清除并停止重定向?

我尝试添加一个我把

将 max-age 设置为 0 不起作用。如何删除它?似乎 max-age 不起作用(我正在使用 chrome),因为它已经超过 300 秒(5 分钟)

编辑:我现在尝试在 IE 中加载,但它不执行重定向,我尝试进入 chrome 设置并删除条目,但仍然没有。

0 投票
1 回答
1102 浏览

node.js - HSTS:我应该强制用户在负载平衡或 Web 服务器上使用 HTTPS 吗?

我的环境:

1.) 1 台负载均衡服务器 (nginx)

2.) 2 个网络服务器(express.js 在 node.js 上运行)

3.) 1 台数据库服务器

您好,我正试图强制我的用户使用 https。我浏览了许多关于如何在 express.js 中实现 https 的教程。

但是,当我浏览许多教程时,我发现了两种将用户 http 重定向到 https 的方法。

  1. 将用户重定向到 nginx 配置上的 https(在负载平衡服务器上)
  2. 将用户重定向到 express.js 上的 https(在 Web 服务器上)

我的问题是:

  • 这是为我的网络应用程序(在负载平衡或网络服务器上)实施 HSTS 的更好方法

  • 也请提供一些关于每个选项的优缺点的信息

非常感谢 :)

0 投票
1 回答
313 浏览

http - UWSGI 在 Heroku 上实现 hsts

我已经按照 uwsgi 的片段之一尝试启用 hsts。这是我当前的配置:

我想要做的是对除本地主机之外的任何东西强制执行 hsts。该站点在 localhost 上运行,但在 heroku 上,对主页的请求根本不会被重定向,对静态资产的请求会进入无限循环,甚至 https 请求也会被重定向。

编辑

问题是 Heroku 的负载均衡器没有安全地连接到测功机。有没有办法基于X-Forwarded-Proto标头路由,或者基于完整的请求 url,包括协议(所以我可以匹配它^https:)?

0 投票
0 回答
2816 浏览

google-chrome - “此网页不可用 ERR_SSL_VERSION_OR_CIPHER_MISMATCH” - 安装 SSL 后我的网站出错

我为我的网站启用了 comodo SSL 和 HSTS。但不久之后,许多用户抱怨他们在 chrome 中收到此错误:

此网页不可用 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Firefox 没有这个问题。

我怎样才能帮助他们克服这个问题?即使我禁用 HTTPS,站点仍会重定向到 HTTPS。