我有一个诊断日志,可以从MVC应用程序中的视图中查看。
原因是很难访问服务器,但仪表板类型的应用程序可以帮助工程师更轻松地远程诊断问题。
问题是,这可能会导致渗透测试失败,因为视图包含异常日志记录详细信息。解决此问题的一种方法是不允许记录异常,但这会阻止工程师调查导致错误的原因。
那么,如果MVC应用程序遭到入侵,我如何确保它足够安全?例如,异常日志记录包括堆栈跟踪,其中可能包含有关实施细节的敏感信息,这可能有助于黑客破坏系统。此异常还可能包括敏感数据库信息。
我们真的需要一些通过过滤器传递异常的方法,它可以修剪掉可能的细节。实现这一目标的最佳/标准方法是什么?
答案 0 :(得分:0)
我们在烧瓶(python)app中遇到了类似的问题。 我们最终在生产中提供了一般错误,同时记录了错误。
然后我们添加了一个仪表板,但每个用户都看不到仪表板,而是需要的特殊权限。 您可以使仪表板免费使用(例如,对于测试环境),但文档明确提到了安全风险。
最后,我认为教育客户关于风险是关键 - 对于一些人来说,风险完全是令人望而却步的,所以停用仪表板并向我们发送日志文件。有些人可以接受一些风险,因此他们会激活仪表板并为我们提供访问仪表板的特殊帐户。最后,在某些环境中,与利益相比风险最小,例如: G。一个内部测试环境,所以每个人都可以看到仪表板。
作为旁注:我见过的另一个概念:如果用户遇到问题,他的管理员可以为他激活跟踪 - 例如收集每个Web服务调用并将其保存到可在开发者PC上重放的文件中。由于数据可能非常敏感 - 该功能是选择加入的,并且用户在跟踪时会看到“跟踪”警告。此外,文件在一段时间后被加密并删除。