【问题标题】:How to make an exception message safe如何使异常消息安全
【发布时间】:2017-02-04 23:20:58
【问题描述】:

我有一个诊断日志,可以从 MVC 应用程序的视图中查看。

这样做的原因是很难访问服务器,但仪表板类型的应用程序可以帮助工程师更轻松地远程诊断问题。

问题是这可能会导致渗透测试失败,因为视图包含异常日志记录详细信息。解决此问题的一种方法是不允许记录异常,但这会阻止工程师调查导致错误的原因。

那么,如果 MVC 应用程序遭到入侵,我如何确保它足够安全而不会被窥探?例如,异常日志包括堆栈跟踪,其中可能包括有关实施细节的敏感信息,这些信息可能有助于黑客破坏系统。此外,异常可能包括敏感的数据库信息。

真的,我们需要某种方法将异常传递给一个过滤器,该过滤器可以去除可能的细节。实现这一目标的最佳/标准方法是什么?

【问题讨论】:

  • 在查看日志之前强制验证?
  • @AlexK。目前 MVC 应用程序上没有身份验证,因为它位于我们自己的 DMZ 内的服务器上,因此它不公开可见。我们可以在 IIS 中添加简单的 Auth 登录。这够了吗?
  • 您可以为网站forums.iis.net/t/…应用ip过滤器
  • 既然你在服务器上没有认证,为什么不把它放在数据上呢?换句话说,仪表板允许下载包含日志的高度加密的数据文件,然后帮助工程师可以运行可以解密和显示它们的应用程序。这样,所有异常数据都可以包含在日志中。
  • 如果您的内部网络被破坏,您可能会遇到更多的问题,而不仅仅是透露您的堆栈跟踪,不是吗?

标签: c# .net security exception


【解决方案1】:

我们在烧瓶 (python) 应用程序中遇到了类似的问题。 我们最终在生产中提供了一个通用错误,同时记录了该错误。

然后我们添加了一个仪表板,但不是每个用户都可以看到仪表板,而是在需要时提供特殊权限。 您可以免费提供仪表板(例如,用于测试环境),但文档明确提到了安全风险。

最后,我认为让客户了解风险是关键 - 对于某些人来说,完全有这种风险是令人望而却步的,因此请停用仪表板并将日志文件发送给我们。有些人可以接受一些风险,因此他们激活仪表板并为我们提供特殊帐户来访问仪表板。最后,在某些环境中,与收益相比,风险是最小的,例如。 G。一个内部测试环境,这样每个人都可以看到仪表板。

附带说明:我看到的另一个概念:如果用户遇到问题,他的管理员可以为他激活跟踪 - 例如。每个 Web 服务调用都被收集并保存到一个文件中,该文件可以在开发人员 PC 上回放。由于数据可能非常敏感 - 该功能是可选的,并且用户在被跟踪时会看到“跟踪”警告。此外,文件会在一段时间后被加密并删除。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 2016-07-02
    • 2016-06-16
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多