我正在从Linux机器和Windows机器收集日志,并将其以以下格式存储在收集器中。 现在,我想使用日志消息中包含主机名的syslog标头生成正确的syslog。哪种方法最好? python有办法吗?寻求专家的建议。
注意:我希望输出为RFC5424格式。最终,我希望将日志发送到qradar。
对于Linux,
1月8日00:19:28 somehostname sshd [25548]:pam_unix(sshd:session): (uid = 0)为用户uddiscover打开会话
对于Windows,
2019年1月8日11:10:50 WinEvtLog:安全性:AUDIT_SUCCESS(4624): Microsoft Windows安全审核:(无用户):无域:somedomain: 帐户已成功登录。主题:安全ID: S-1-0-0帐户名称:-帐户域:-登录ID:0x0
登录信息:登录类型:3受限管理模式:-
虚拟帐户:否高级别令牌:是模拟级别: 模拟新登录:安全ID: S-1-5-21-1407541682-534602969-1849977318-8421帐户名称: somename帐户域:somedomain登录ID:0x1C93213C0
链接的登录ID:0x0网络帐户名称:-网络帐户 域:-登录GUID:{CAE95522-E854-B3D5-CA81-2F9B765D3F56}
进程信息:进程ID:0x0进程名称:-网络 信息:工作站名称:-源网络地址:x.x.x.46 源端口:55967详细的身份验证信息:登录 进程:Kerberos身份验证程序包:传输的Kerberos 服务:-e名称(仅NTLM):-密钥长度:0此事件是 创建登录会话时生成。它是在 被访问的计算机。主题字段指示帐户 在要求登录的本地系统上。这是最常见的 服务(例如服务器服务)或本地进程(例如 Winlogon.exe或Services.exe。登录类型字段指示 发生的登录类型。最常见的类型是2(互动) 和3(网络)。 “新登录”字段指示谁的帐户 创建新的登录名,即登录的帐户。的 网络字段指示远程登录请求的来源。 工作站名称并非始终可用,在某些情况下可能会留空 案件。模拟级别字段指示 登录会话中的进程可能会冒充。认证方式 信息字段提供有关此特定信息的详细信息 登录请求。 -登录GUID是可以使用的唯一标识符 将此事件与KDC事件相关联。 -转运服务 指出哪些中间服务参与了此登录 请求。 -包名称指示使用了哪个子协议 NTLM协议。 -键长表示 生成的会话密钥。如果未请求会话密钥,则该值为0。