日志为什么重要?
用于记录系统、程序运行时发生的各种事件
通过阅读日志,可以有效诊断和解决系统故障
日志是审计的基础
日志文件的分类
内核及系统日志
由系统服务rsyslogd统一进行管理,日志格式基本相似
用户日志
记录系统用户登录及退出系统的显相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
在Linux系统中,有三个重要的日志子系统:
1.连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统
2.进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计
3.错误日志:由rsyslogd守护进程执行,各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的事件。另外有许多Linux程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志
日志保存位置默认位于/var/log目录下
主要日志文件介绍:
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
邮件系统日志:/var/log/maillog
系统引导日志:/var/log/dmesg
用户登录日志:/var/log/lastlog(最近的用户登录事件)
/var/log/secure(用户验证相关的安全性事件)
/var/log/wtmp(当前登录用户详细信息)
/var/run/utmp(用户登录、注销及系统开关机等事件)
用户日志
有关当前登录用户的信息记录在文件UTMP中;utmp文件被各种命令使用,包括whowuser和finder
登录和退出记录在文件wtmp中;数据交换、关机以及重启的信息也都记录在wtmp文件中;wtmp文件被命令last和ac使用
所有的记录都包含时间戳。时间戳对于日志来说非常重要,因为很多攻击行为分析都是与时间有极大关系的
这两个文件是二进制文件,不能用诸如tail、cat之类的命令来进行访问、操作
命令:
who #访问utmp记录,显示当前正在登录的用户
last #访问wtmp文件,显示自从文件第一次创建以来登录过的用户
last 用户名 #查看该用户累计登录记录
ac 用户名 #统计该用户登录的总时间
lastlog 用户名 #统计用户最后登录的时间,记录在/var/log/lastlog文件中
内核及系统日志
由系统服务rsyslogd统一管理
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslogd
日志消息的级别:
用grep过滤检索查看日志文件
日志记录的一般格式:
程序日志
由相应的应用程序独立进行管理,如:
web服务:/var/log/httpd/
access_log、error_log
代理服务: /var/log/squid/
access.log、cache.log、squid.out、store.log
FTP服务: /var/log/xferlog
分析工具:
文本查看、grep过滤检索、webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
webbalizer、awstats等专用日志分析工具



