问题标签 [windows-security]

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 回答
557 浏览

asp.net - 在 ASP.NET 中混合表单和 Windows 安全性

我在使用混合形式身份验证和 Windows 安全性时遇到问题。

我对IIS和安全性不太熟悉。我今天找到了这篇文章:

https://msdn.microsoft.com/en-us/library/ms972958.aspx#mixedsecurity_topic5

我首先通过向我的 web.config 文件添加身份验证模式开始:

上面的教程说我的 loginURL 应该是 WinLogin.aspx,我想这就是我的困惑开始的地方。

与上面的教程一样,它声明了以下内容:

我在 IIS 管理器中没有看到 WinLogin.aspx。

我的问题是,我是否需要在我的 IIS 管理器中创建一个站点并为我的项目创建一个 WinLogin.aspx 文件?

我正在使用 MVC,所以如果我将我的项目添加到 IIS,我是否对 WinLogin.aspx 执行相同的步骤,但对于我的登录控制器文件?登录控制器.cs ? 我对这个问题很困惑。

谢谢,

0 投票
0 回答
1424 浏览

windows - Microsoft 根证书颁发机构 2010 无效

在我的 Windows 8.1 机器(新安装)上,Microsoft Root Certificate Authority 2010证书被列为无效(如下面的屏幕截图所示)。

无效的证书属性页面

另一方面,我的 Windows 10 机器显示了这一点:

有效证书属性页面

这种行为的原因是什么?

0 投票
0 回答
4232 浏览

security - 设置 Microsoft 消息队列 (MSMQ) 的安全权限

我正在尝试为 Microsoft 消息队列 (MSMQ) 的组添加权限。在 Windows Server 的服务器管理器中,我直接右键单击位于顶层 > 属性 > 安全的 MessageQueuing。我想确保我的 Windows 服务或 Web 应用程序将有权在必要时创建新队列。

单击应用时,我收到以下消息:

然后是另一条消息:

我已经尝试转到安全>高级>所有者并将所有者更改为我,但是当我这样做时我收到了相同的消息。

我在服务器上以管理员身份登录。

0 投票
1 回答
2277 浏览

c# - 来自 SSRS 的间歇性 401 - 未经授权的响应

(使用 C#、Web API、带有报告服务器的 SQL Server2012,身份验证为 NTLM)

尝试从 SSRS 下载报告(作为 Excel 文档)时出现间歇性错误。我构建了正确的 URL 来呈现报告,例如:

http://sqlServer/ReportServer/Pages/ReportViewer.aspx?/TheReportName&rs:Command=Render&rs:format=excel&rc:Parameters=false&Region=WEST&CutOffDate=10/25/2015

这里的目标是面向公众的 IIS 上的 Web API 控制器从受内部/防火墙保护的 SSRS 下载文件流,然后将流中继到浏览器。这有时会起作用...当它不起作用时,它会在最后一行返回 401 错误...注释掉的行表示尝试解决不起作用的问题。

0 投票
1 回答
753 浏览

c# - 打开文件时的 Windows 安全消息

我有一个带有 webBrowser 控件的 Windows 窗体桌面应用程序。我导航到服务器上的一个目录,webBrowser1.Navigate(new Uri("\\\\srvername\\share\\directory\\"))以允许用户从该目录打开文件。

在此处输入图像描述

当他们双击文件时,他们每次都会收到一条 Windows 安全消息。

在此处输入图像描述

当他们单击确定时,文件将根据需要打开。

如果我设置导航到本地目录webBrowser1.Navigate(new Uri("C:\\Temp\\"));,我不会收到消息。

是否有一种编程方式来防止这种情况显示,或者这是否必须作为受信任的站点添加到浏览器中?我们网络上的标准用户无权添加受信任的站点。我试图在 IE 的本地 Intranet 部分中检查“包括所有网络路径 UNC”。

我努力了

但这不起作用,因为它似乎意味着控件中显示的网页发生脚本错误。

0 投票
1 回答
6157 浏览

windows - 主令牌和模拟令牌有什么区别

一些 Windows API 返回一个主令牌,一些返回一个模拟令牌。一些 API 需要主令牌,而其他 API 需要模拟令牌。

例如,LogonUser通常返回一个主令牌,除非LOGON32_LOGON_NETWORK用作登录类型 ( dwLogonType):

在大多数情况下,返回的句柄是您可以在调用 CreateProcessAsUser 函数时使用的主要标记。但是,如果您指定 LOGON32_LOGON_NETWORK 标志,LogonUser 会返回一个模拟令牌,除非您调用 DuplicateTokenEx 将其转换为主令牌,否则您无法在 CreateProcessAsUser 中使用该令牌。

SetThreadToken需要一个模拟令牌,而ImpersonateLoggedOnUser这似乎做几乎相同的事情需要任何一个。

CreateProcessAsUser并且CreateProcessWithTokenW两者都需要主令牌,并且都注意到可以通过调用从模拟令牌中获取主令牌DuplicateTokenEx,但是令牌类型是什么意思

词汇表是这样说的:

访问令牌

访问令牌包含登录会话的安全信息。当用户登录时,系统会创建一个访问令牌,并且代表用户执行的每个进程都有一个令牌副本。令牌标识用户、用户的组和用户的权限。系统使用令牌来控制对安全对象的访问,并控制用户在本地计算机上执行各种与系统相关的操作的能力。有两种访问令牌,主要的和模拟的。

主令牌

通常仅由 Windows 内核创建的访问令牌。它可以分配给一个进程来表示该进程的默认安全信息。

模拟令牌

为捕获客户端进程的安全信息而创建的访问令牌,允许服务器在安全操作中“模拟”客户端进程。

但这并不完全有用。似乎有人想使用像“内核”这样的大字眼,但这只会引发更多问题,例如主令牌还可以用于什么(除了分配给进程)以及除了内核之外还有谁可以创建访问权限代币?

(他们的意思是微软认为内核只是在内核模式下运行的一部分,还有执行程序等。还是他们的意思是用户模式代码也可以创建令牌?无论如何,即使用户-模式代码可以创建令牌,它必须通过系统调用来完成,就像任何对象管理器对象一样,所以无论如何令牌实际上都是在内核模式下创建的。)

无论如何,这并没有回答基本问题:令牌类型之间有什么区别?不是它们用途或它们通常是如何创建的。

0 投票
3 回答
535 浏览

c++ - 是否可以禁止获取文件的所有权?

我很好奇是否有办法阻止用户(包括属于管理员组的用户)获得文件的所有权?

我最初从在Local System帐户下运行的服务创建此类文件。然后我将该文件设置DACLD:(A;OICI;GA;;;SY)仅让SYSTEM帐户具有完全访问权限,并设置my service为所有者:

但完成这一切之后,我仍然可以通过 Windows 资源管理器以管理员身份获得该文件的所有权:

在此处输入图像描述

0 投票
1 回答
1434 浏览

windows-authentication - Windows 可执行文件身份验证

通过搜索 Windows 身份验证方法和协议,我决定了解在一个简单的可执行文件中使用的 Negotiate、Kerberos 和 NTLM 之间的确切区别,然后再将其与 IIS 和 Web 身份验证一起使用。

我取得了很好的结果,但我仍然需要有关 Negotiate 和 Kerberos 的更多详细信息。

我有以下情况:

我创建了一个非常简单的 C# windows 窗体应用程序,它显示一个消息框,显示以下值:

请注意,我是本地计算机上具有管理员权限的域用户,我有以下结果:

  1. 当我在主动连接到 DC 时运行 exe 文件(双击)时,我得到了“协商”。

  2. 当我在主动连接到 DC 时运行 exe 文件(以不同用户身份运行/使用本地用户)时,我得到了“NTLM”。

  3. 当我使用“以管理员身份运行”或“以不同用户身份运行”运行 exe 文件时,我得到了“Kerberos”。

  4. 当我使用本地帐户在本地登录时运行 exe 文件时,我得到了“NTLM”。

我了解 LSA 将对本地帐户使用NTLM。此外,我了解 Active Directory 使用Kerberos对域用户和计算机进行身份验证。

我的问题是,为什么当我通过(双击)使用我的帐户运行 exe 或使用我的相同帐户“以不同用户身份运行”时,我得到协商身份验证类型?

更新:我注意到以下内容:

- 如果本地用户正在运行 exe,那么它是NTLM
- 如果域用户运行 exe,那么它是Negotiate(如果该用户是本地管理员)但是是Kerberos(如果该用户不是本地管理员)
- 如果域管理员运行 exe,那么它是Kerberos

我只是澄清一下这种行为。

0 投票
0 回答
291 浏览

windows - Windows 服务器安全

在 Windows Server 的事件查看器中,我们发现了将近 30,000 多个日志,其事件 ID 为 4625 。提供了一个细节。每个都相似,但登录类型和进程名称不同。在防火墙中,我们已经阻止了除三个 RDP、DB 和 App Server 之外的所有端口。背后的原因是什么?我们觉得有人在攻击服务器并使服务器停机。是真的吗?如何控制这种威胁?每分钟产生 100 次事件。

0 投票
0 回答
92 浏览

c++ - 按下运行按钮时 Code::Blocks 程序无法正常运行

我长期以来一直在 Code::Blocks 上用 C++ 编译和运行程序,但今天我的一个程序编译成功,但是当我运行该程序时,它返回 -12,时间为 -0.00s。每当我用 C++ 编写一个新程序时,程序都会编译但它不会运行。此外,当我在同一目录中打开由 Code::Blocks 创建的可执行文件时,Windows 会获得我的许可,以允许可执行文件对计算机进行更改。我一直在尝试一整天,但我无法弄清楚可能出了什么问题。

此外,当我尝试卸载 Code::Blocks 时,它并没有完全卸载,当我在 Program Files 中打开 Code::Blocks 文件夹并尝试删除该文件夹时,MinGW 文件夹无法删除,因为访问被拒绝。

如果您能理解问题并了解该问题,请提供帮助。