webgoat-Security Logging Failures安全日志记录失败

概念

日志记录对于现代系统非常重要。我们出于各种原因使用它:

应用程序监视和调试。

审计日志记录:例如,记录用户和系统的特定操作。

安全事件监控:例如,向 SIEM 或 SOAR 系统提供信息,该系统将根据这些日志中提供的信息触发。

本课程目标

用户应该对日志记录和日志记录的位置有基本的了解。

用户了解日志欺骗和日志信息泄露的风险。

用户将能够进行简单的日志欺骗攻击。

用户将能够分辨日志记录所涉及的基本风险。

预防日志欺骗

当用户尝试日志欺骗时,日志欺骗可能会成为一个问题。做到日志欺骗可以有很多种方式,如向服务器提交表单,攻击者设计的 URL 或者请求body。建议如下做法来预防日志欺骗。

1、应用适当的输入过滤
2、确保您可以建立源真实性并实施完整性控制以检测日志篡改。
3、确保用户无法从任何通道注入日志
4、确保日志存储受到保护

不要在日志记录敏感信息

在上一个练习中,我们只看到用户名经过,但没有密码。为什么?因为我们希望确保应用程序日志不包含任何敏感信息。让我们确保当我们的日志被泄露时,我们不必担心身份验证信息被重用。

同样,我们不应记录任何其他敏感信息,例如对称密钥或私钥、访问令牌等。

记录个人信息

记录个人信息时要小心。例如:不要记录银行帐户详细信息,不要记录用户的个人身份信息如身份证号。不要记录可以确定被记录对象身份的信息。

What you basically want to prevent, is that people use the logs to profile people or spy on them. You want to protect the privacy of the subjects using your system.

特殊情况:访问日志 access log

一种特殊情况是入口和/或应用程序服务器提供的访问日志。这些日志应至少包含以下内容:请求来自何处、请求发出的时间,以及响应code是什么。其他的信息是否可以显示在access log中,取决于日志的安全性。例如:you don't want to share the raw request in the access logs to safeguard the privacy of your users.

这里经常出现问题:访问日志有时会捕获用于请求的完整 URL。这可能包括敏感的 URL 参数。因此:小心那些被作为URL参数的字段,并确保你没有将这些内容记录在可公开访问的日志中。

阅读更多关于日志记录信息

OWASP 日志记录备忘单https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html

维基百科上的GDPR文章https://en.wikipedia.org/wiki/General_Data_Protection_Regulation#Principles

更多关于日志记录 (2)

使用简单的编码/解码不是保护日志中敏感信息的方法。建议做法

1、最好使用不同的技术

2、完全不记录数据

3、使用另一个共享密钥对其进行加密。

日志级别

解释日志级别

异常处理

exception handling (maybe an example of logging exception towards the client with cryptography and why this is a bad idea)

审计日志记录、安全事件监控和应用程序日志

请注意,日志记录通常不仅仅用于应用程序调试。应用程序日志通常用作其他目的,请考虑:

审计日志记录:应用程序日志需要记录特定事件,以创建可用于重建代表用户/由用户执行的操作的跟踪。例如,这以后可以在法庭上用于证明在发生争议时发生了什么。

安全事件监视 (SEM):安全部门通常可以使用应用程序生成的事件来了解组织的应用程序环境中发生的情况。有各种类型的事件以及各种属性可以发挥作用,以检测组织是否陷入困境。例如:仅用作破玻璃过程的特权管理登录对他们来说已经是一个非常有价值的事件。另一个示例:虽然经常使用的管理登录可以很好地记录,但它们本身可能不会触发安全部门的事件,除非为该管理角色使用完全不同的位置。与安全部门一起进行威胁模型练习通常有助于了解他们需要哪些类型的日志,以及它们应立即触发安全警报的内容。

欺诈检测:您的应用程序日志可以帮助进行欺诈检测。例如:日志显示有人试图转移比他们拥有的更多的钱,这可能表明出了问题。

业务流程监控:您的应用程序日志可用于查看业务流程是否仍在按预期进行。例如:在流程的下游缺少新事件可能表明业务流程已停止。在指导公司时,这对企业来说可能是有价值的信息。

请注意,这些日志记录目的中有很多彼此之间有很大不同! it is best to separate your application (debug) logging, from your SEM, and audit logs in terms of output by your application, storage and processing of the logs within your organization.

更多阅读

OWASP 日志记录备忘单 https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html

相关推荐
‘’林花谢了春红‘’21 分钟前
计算机网络习题(第5章 网络层 第6章 传输层)
网络·计算机网络
哎呦不错哦.28 分钟前
简单园区网拓扑实验
网络·智能路由器
baihb102433 分钟前
Jenkins 构建流水线
运维·jenkins
BUG 40439 分钟前
LINUX--shell
linux·运维·服务器
菜鸟小白:长岛icetea44 分钟前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
过过过呀Glik1 小时前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu
Java小白中的菜鸟3 小时前
centos7的磁盘扩容
linux·运维·服务器
黑客老陈4 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展
橘子师兄4 小时前
如何在自己的云服务器上部署mysql
运维·服务器·mysql
@泽栖4 小时前
Docker 常用命令
运维·服务器·docker