引言
一般系统日志分为三大类:用户行为日志、业务变更日志、系统运行日志。日志文件能够详细记录系统每天发生的各种各样的事件,对设备安全、网络安全等起着非常的重要作用。所以,对与常见的日志的采集,如何更加方便的进行查看。当可以统一查看相关日志时,可以节省大量时间。Windows、linux、交换机作为常见的系统资产,其日志包含的价值信息较多,如何高效无误地采集到这些资产的日志。
二、常见的日志采集方法
1.Windows日志采集方法及工具
3)修改配置文件
Nxlog默认配置文件位置为:C:\Program Files\nxlog\conf\nxlog.conf
td-agent配置文件/etc/td-agent/td-agent.conf
3、启动服务
4、查看log文件
已经可以接收到相关日志1 2020-11-10T17:31:18.953475+08:00 WIN-BUBQGGIFSJB.server.com Microsoft-Windows-Security-Auditing 484 - [seci-win-2008 Keywords="-9214364837600034816" EventType="AUDIT_SUCCESS" EventID="4720" ProviderGuid="{54849625-5478-4994-A5BA-3E3B0328C30D}" Version="0" Task="13824" OpcodeValue="0" RecordNumber="4858" ThreadID="3140" Channel="Security" Category="用户帐户管理" Opcode="信息" TargetUserName="admin" TargetDomainName="SERVER" TargetSid="S-1-5-21-3732349250-2750458932-4192379908-1119" SubjectUserSid="S-1-5-21-3732349250-2750458932-4192379908-1116" SubjectUserName="test" SubjectDomainName="SERVER" SubjectLogonId="0x13439b1" PrivilegeList="-" SamAccountName="admin" DisplayName="%%1793" UserPrincipalName="-" HomeDirectory="%%1793" HomePath="%%1793" ScriptPath="%%1793" ProfilePath="%%1793" UserWorkstations="%%1793" PasswordLastSet="%%1794" AccountExpires="%%1794" PrimaryGroupId="513" AllowedToDelegateTo="-" OldUacValue="0x0" NewUacValue="0x15" UserAccountControl=" %%2080 %%2082 %%2084" UserParameters="%%1792" SidHistory="-" LogonHours="%%1793" EventReceivedTime="2020-11-10 17:31:21" SourceModuleName="in" SourceModuleType="im_msvistalog"]
可以通过日志看出,在2020年11月9日,下午四点十六分创建了一个账户名为admin的账号
二、通过winlogbeat收集日志
进入到winlogbeat目录
安装winlogbeat
如果在系统上禁用了脚本执行,则需要为当前会话设置执行策略以允许脚本运行。PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1。3)修改配置文件本文测试使用winlogbeat收集日志,发送到elasticsearch修改配置文件 :winlogbeat.yml填写要输出到es的地址output.elasticsearch:hosts:- localhost:92002.Linux日志采集方法及工具
一、通过Rsyslog采集1、环境准备两台Linux主机(centos7)接收方IP:192.168.1.168发送方IP:192.168.1.191当系统中新建账号时,产生如下日志
Nov 17 15:17:10 secisland2 useradd[21830]: new user: name=esuser, UID=1001, GID=1001, home=/home/esuser, shell=/bin/bash
可以根据日志分出:在11月17号下午三点十七分,新建了一个账号名为esuser的账号。
3.交换机常用的日志采集方法(config)# logging <10.x.x.x> ## 注意syslog日志服务器接收地址,根据实际情况修改。
(config)# logging facility local7 ## 将记录事件类型定义为local7。
(config)# logging trap notifications ## 将记录事件严重级别定义为从notifications开始,一直到最紧急级别的事件全部记录到前边指定的syslog server。
开始,一直到最紧急级别的事件全部记录到前边指定的syslog server。
huawei switch:
#指定发送消息基本,表示从0-7都发送
info-center source default channel 2 log level debugging
#指定从哪个接口发送
info-center loghost source Vlanif1
#指定远程syslog服务器ip
info-center loghost x.x.x.x
例如tail -f /var/log/switch01.log
May 5 16:17:27 switch01 %%01SHELL/6/DISPLAY_CMDRECORD(s)[1]: Recorded display command information. (Task=VT0, Ip=x.x.x.x, ***Name=, User=**, AuthenticationMethod="Password", Command="display info-center statistics")
可以看出在五月五号的下午四点十七分,执行了display info-center statistics命令
三、小结
本文介绍了一些简单的日志采集方法,以及使用到的工具。当然还有一些比较更加完善的采集方式,例如:利用filebeat采集日志,然后发送到消息队列kafka,然后logstash去获取,利用filter功能过滤格式,然后存储到elasticsearch中,最后通过kibana展示。
还比如通过日志采集框架Flume等等。在这个大数据时代,它们的重要性是不言而喻的。
后续我们将从日志过滤归并角度探讨如何提高日志存储效率,减少不必要的冗余信息采集,不是所有的日志都适合采集,对业务、运维、安全等分析场景无价值的日志需要被过滤归并处理。