问题标签 [nwebsec]

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 投票
0 回答
74 浏览

c# - NWebSec 在发布模式下重定向到 HTTPS

我正在使用 NWebSec 和 OWIN 对我的 MVC5 网站进行身份验证。

我遇到的问题是,当 web.config 文件中的 debug = false 时,这种方式:

当我尝试连接到http://localhost时,会自动重定向到https://localhost

当 debug = true 时,站点工作。我几乎可以肯定这种重定向是由于 NWebSec....

你有什么建议可以进一步调查这个问题吗?或者,给我一个可能是什么问题的线索?

这是配置身份验证的 Startup 类:

0 投票
0 回答
249 浏览

c# - 如何使用 NWebsec 实施内容安全策略

我正在 Asp.Net 应用程序中实施内容安全策略。(.Net Framework 3.5)。我已经通过 nuget 包安装了 NWebSec (4.0),并在 web.config 中添加了打击配置。

上面的配置生成下面的标题

Content-Security-Policy: default-src ‘self’; script-src ‘self’ 'unsafe-inline' *.abc.com

但我相信,上面的标题缺少“nonce”标签,它一定是这样的

Content-Security-Policy: default-src ‘self’; script-src ‘self’ 'unsafe-inline' 'nonce-Koegbg1128522' *.abc.com

为什么我没有在标题中得到这个“nonce”标签?

0 投票
1 回答
60 浏览

asp.net - NWebsec CSP for Google Analytics on ASP.NET -> 如何包含所有 Google 域

我们在 IIS ASP.NET 网站上使用 NWebsec。一切都很好,但为谷歌分析维护所有谷歌域有点痛苦。似乎对于用户所在的每个国家/地区,都使用不同的 Google 域:

现在,显然我们可以尝试尽可能多地添加它们,但这非常麻烦。还没有为顶级域尝试过通配符,但对我来说www.google.*似乎为坏域打开了闸门,比如www.google.ihackyou.com

有任何想法吗?

0 投票
0 回答
93 浏览

asp.net - 旧 ASP.NET 项目和 .NET Core 子项目中的 NWebSec 配置相同

在我们的“老式”ASP.NET 项目中,我们通过 web.config 文件配置了 NWebSec。现在我们有一个 ASP.NET Core 子项目,其中来自主项目的 NWebSec 规则似乎没有冒泡。除了使用属性之外,我也无法真正弄清楚如何在核心项目中配置 NWebSec。

https://docs.nwebsec.com/en/latest/nwebsec/Configuring-csp.html

我真正想要的是一个进行配置的中心位置,否则我知道我们最终会得到两个完全不同步的配置......

我还不是 .NET Core 专家,但我的印象是不再使用 web.config 文件,否则我们可以这样做:
Using configSource with NWebsec

0 投票
0 回答
174 浏览

asp.net-core - ASP Net Core 在 UseSpa 中间件中应用中间件

我正在尝试使用 Asp Net Core 在静态文件响应中包含安全标头。当我使用单页应用程序时,我需要在 UseSpa 方法中包含该标题。

我在做什么:

使用 NWebSec 包,我想在 useSpa 方法中执行 Csp 中间件。

0 投票
1 回答
463 浏览

javascript - NWebSec 非 MVC WebForms ASPX .Net 4.6.1 C# - 配置不起作用

我需要支持在 Asp.net、C# 和 .NET 4.6.1 上运行的旧网站。安全审计通知我们,我们需要执行内容安全政策。我搜索了谷歌,但没有找到关于 NWebSec 中是否支持网络表单(不是 MVC)的具体答案。 https://docs.nwebsec.com/en/latest/确实提到了对 Asp.net 4 的支持,如下所示:

为了测试对 asp.net webforms 的 NWebSec 支持,我按照以下步骤操作:

  1. 使用 .net 4.6.1 在 VS 2017 中创建了一个新的 Asp.net webforms 项目。测试它工作正常。

  2. 添加了此处指定的 NuGet 包 - https://www.nuget.org/packages/NWebsec/:Install-Package NWebsec -Version 6.0.0

  3. 更改了 Web.config 文件以包含以下内容:

4.保存并运行项目。

5.Google Chrome 控制台出现以下错误

`modernizr-2.8.3.js:134 拒绝应用内联样式,因为它违反了以下内容安全策略指令:“style-src 'self'”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-CwE3Bg0VYQOIdNAkbB/Btdkhul49qZuwgNCMPgNY5zw=”)或随机数(“nonce-...”)。

localhost/:20 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' maxcdn.bootstrapcdn.com code.jquery.com ajax.googleapis.com”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-uYoAmCrBFM4tx/Ww+6eFuIJxuwZ3YFRT7fWUTlgnPuE=”)或随机数(“nonce-...”)。

localhost/:39 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' maxcdn.bootstrapcdn.com code.jquery.com ajax.googleapis.com”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-2vr5KMButMK7a+bOf/ned/cPnF2yNooMulXA8E65wGw=”)或随机数(“nonce-...”)。

localhost/:52 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self' maxcdn.bootstrapcdn.com code.jquery.com ajax.googleapis.com”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-AJipRK0+ga273yKzZZX3BqTHwvwc1v3R9erdu31Wh6I=”)或随机数(“nonce-...”)。

例如,单击 Chrome 控制台中的粗体错误会导致以下 JavaScript 块被 Asp.net 框架注入到 aspx 页面中

我希望看到这些 Google 控制台错误消失,但是,我不想允许使用 'unsafe-inline' 关键字或使用哈希('sha256-uYoAmCrBFM4tx/Ww+6eFuIJxuwZ3YFRT7fWUTlgnPuE=')或随机数('nonce -...')。任何帮助/指针/支持表示赞赏。

0 投票
1 回答
157 浏览

asp.net-core - .NET Core - nwebsec - csp - 多个网址?

我很难将多个 url 添加为脚本源

我试过了:

  • 将它们全部设置在同一个 ScriptSource 字符串中,但运行失败,说 url 无效
  • 所以我将它们链接起来,但它不起作用,只有最后一个在标题中返回

chrome中收到的标头

.NET Core 方面:

有人可以帮我吗?

感谢您的帮助

0 投票
0 回答
36 浏览

security - .net core 3.1 api 子域安全响应标头

我有一个使用多个子域的子域的应用程序堆栈。例如develop.api.module.mydomain.com

develop.api.module.mydomain.com 是一个 .net core 3.1 API

我使用 nwebsec.aspnetcore.middleware 例如设置标题

当我通过此 URL 向 API 发出请求时,我可以看到响应标头已按预期正确设置

在此处输入图像描述

但!securityheaders.io 不高兴 :)

在此处输入图像描述

在让 securityheaders.io 识别响应标头确实回来方面,这是我可以解决的问题吗?

0 投票
0 回答
13 浏览

asp.net - 将 Swagger 与 NWebSec 一起使用

我有一个 ASP.NET MVC 网站,它在子文件夹中包含一个 Web API。该站点本身具有使用 NWebSec 实现的 CSP,它可以防止使用脚本标签。

我为 API 添加了 Swagger,但 CSP 阻止加载自动生成的 swagger ui,因为它使用内联脚本标签。

我需要找到一种方法只允许招摇页面的内联脚本标签。

我发现这篇有用的文章,用不同的 CSP 包来实现这一点,并尝试做类似的事情但没有运气。 https://mderriey.com/2020/12/14/how-to-lock-down-csp-using-swachbuckle/

如果有人知道如何做到这一点,请告诉我!

0 投票
0 回答
87 浏览

asp.net-core - 将 NWebSec 生成的 nonce 添加到另一个属性

我正在使用 NWebSec 将随机数添加到脚本标签,例如

但是,我需要将 nonce 添加到另一个属性,因此需要执行以下操作:

这对 NWebSec 是否可行,或者生成的 nonce 是否无法以任何方式访问?

对于上下文,这是尝试让 Google 标记管理器将 nonce 传播到自定义 HTML 脚本。

编辑

下面建议的解决方案似乎有效。所以我需要将它添加到 GTM 脚本中:

它采用 nonce 并将其添加到 data-nonce 属性中。不是最好的解决方案。我更喜欢访问后端的随机数。