背景:远程日志聚合被认为是提高安全性的一种方法。通常,这解决了危害系统的攻击者可以编辑或删除日志以破坏取证分析的风险。我一直在研究通用日志工具中的安全性选项。
但是有些不对劲。我看不到如何配置任何常见的远程记录器(例如rsyslog,syslog-ng,logstash)以验证传入消息确实是来自所声称的主机的。在没有某种策略约束的情况下,一个日志创建者可以代表另一个日志创建者伪造消息。
rsyslog的作者似乎警告要验证日志数据:
最后一个警告:transport-tls保护发送方和接收方之间的连接。它不一定能防御消息本身中存在的攻击。特别是在中继环境中,该消息可能源自恶意系统,该恶意系统将无效的主机名和/或其他内容放入其中。如果没有针对此类情况的配置,则这些记录可能会显示在接收者的存储库中。-transport-tls不能防止这种情况的发生(但是如果正确使用它可能会有所帮助)。请记住,syslog-transport-tls提供了逐跳安全性。它不提供端到端的安全性,并且不对消息本身(仅是最后一个发送者)进行身份验证。
因此,后续问题是:什么是可以提供一定程度真实性的良好/实用配置(在您选择的任何常用日志工具中-rsyslog,syslog-ng,logstash等)?
或者...如果没有人对日志数据进行身份验证,那为什么不呢?
-
(此外:在讨论/比较中,使用RFC 5424中的某些图表或术语可能会有所帮助:第4.1节:示例部署方案 -例如,“发起者” vs“中继” vs“收集器”)