问题标签 [iis-logs]
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.
ssl - crypt-protocol 值为“-”的 IIS 日志表示什么?
我已在 Azure 云服务中启用 TLS 连接日志记录,以了解我的客户使用的 TLS 版本,遵循此处的指导 - https://www.microsoft.com/security/blog/2017/09/07/new-iis -功能帮助识别弱tls使用/
但是我注意到很多条目的所有四个字段都设置为空。我看到来自少数使用 TLS1.2(crypt-protocol = 400)的客户端的请求,以及来自相同客户端的一些请求,其中 crypt-protocol 设置为空。音量很低,但是我想知道为什么要记录这些条目?我的预感只是 IIS 中记录默认空值的边缘情况或错误情况。还是因为 IIS 无法确定连接使用的协议?
我想在我的服务器上禁用早于 1.2 的 TLS 版本,因此需要找出答案。看着音量,我可能最好禁用它,但想看看社区是否有更多的见解,如果这是由于真正的原因,可能会在关闭旧 TLS 版本之前与客户联系以修复它。
编辑:该值为空而不是“-”。
iis - 为什么 IIS 关心查询字符串中是否拼错了“convert”?
我试图了解经典 ASP 页面的行为,通过查看 IIS 日志和浏览器上的行为来深入了解注入向量。
在浏览器中,我注意到有时从不请求页面,具体取决于查询字符串中的拼写。
例如,https://example.com/test.asp?id=convert()
打开页面,我可以使用 Request.Querystring 读取查询字符串。当然它可能是一个 sql 注入向量,但我的页面会读取它(并丢弃请求)。
但是,https://example.com/test.asp?id=conveert()
永远不会传递给页面。该页面未打开,并且浏览器上出现一个完全空白的页面。
IIS 服务器是否预处理查询字符串并基于拼写“拒绝”某些 QS?这两个请求都在 IIS 日志中,状态为 200。但只有一个进入 test.asp 页面。这是服务器上的正常行为吗?服务员告诉我他没有过滤“convert()”。
记录查询字符串的代码示例:
在 IIS 日志中,当查询字符串使用“CONVERT”时,我的日志中有一个条目。当完全相同的查询字符串使用“CONVEERT”时,没有条目,这意味着该页面从未被引用。为什么会这样?
感谢您在这里的任何见解。
azure - 带有 Windows 容器 http 日志的 Azure 应用服务缺少 cs 用户名
我在 .NET Framework 4.8 上有一个 asp.net 5 Web 应用程序,它作为带有 Windows Server 2019 容器映像的 azure 应用程序服务运行。我设置了一个诊断设置以将“AppServiceHTTPLogs”发送到事件中心,并且在检查日志时,我注意到经过身份验证的请求缺少 CsUsername 属性。
在本地或什至作为 Azure 容器实例运行相同的容器映像并检查容器上的 IIS 日志我可以看到用户名,因此这与作为日志不运行的应用服务运行时捕获 https 日志的方式和位置有关'不获取经过身份验证的主体的身份名称。
有没有其他人遇到过这个?我是否需要将主体公开为日志记录以获取它的响应标头?
更新:2022 年 2 月 24 日
除了在这里询问之外,我还启动了一个与 azure 支持有关的案例,询问为什么运行 Windows 容器的 Windows 应用服务计划上的 azure 应用服务中的 Web 服务器日志缺少 cs-username 信息,而正在安慰正在运行的容器应用服务并检查 C:\inetpub\logs\LogFiles\W3SVC1 中的 w3c 日志会显示 cs-username 值。
他们终于回过神来,说:
目前恐怕您设置的体系结构不支持此功能,获取 CsUsername 详细信息的唯一方法是部署 Linux 应用服务,然后将 Azure 存储帐户作为数据端点。
这对我一点帮助都没有,因为我无法在 Linux 应用服务计划中运行 .NET Framework 4.8 ASP.NET MVC 5 应用程序容器。通常,通过部署 Windows 容器以作为 azure 应用程序服务运行的考验,使用 Azure DevOps 管道将容器作为 azure 应用程序服务运行,我发现微软对运行基于 Windows 的容器的支持非常具有挑战性,而且没有太多持续性支持。他们试图推动 linux 托管环境,不幸的是,只有当您的架构基于 .NET 核心框架时,这才是一种选择。