日志分析与安全
1、在Linux系统中,有三个主要的日志子系统
- 连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。也可以使用last命令查看用户登录信息
- 进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计
- 错误日志:由rsyslogd守护程序执行,各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的时间。另外有需要多Linux程序创建日志。
2、日志保存位置
默认位于:/var/log目录下
3、主要日志文件介绍
- 内核及公共消息日志: 1 /var/log/messages
- 计划任务日志: 1 /var/log/cron
- 系统引导日志: 1 /var/log/dmesg
- 邮件系统日志: 1 /var/log/maillog
- 用户登录日志:
1 /var/log/lastlog(最近的用户登录事件) 2 /var/log/secure(用户验证相关的安全性事件) 3 /var/log/wtmp (当前登录用户详细信息) 4 /var/run/utmp(用户登录、注销及系统开、关机等事件)
- Tomcat日志:
1 /usr/local/tomcat/logs/ 2 localhost_access_log.2020-02-28.txt(用户访问日志) 3 manager.2020-02-28.log(管理日志)
- Apache日志: 1 /etc/httpd/logs ,access_log(用户访问日志) ,error_log(错误日志)
- nginx日志: 1 /var/log/nginx
4、用户日志
- 有关当前登录用户的信息记录在文件utmp中;utmp文件被各种命令使用,包括who、w、 users和 Finger。
- 登录和退出记录在文件wtmp中;数据交换、关机以及重启的信息也都记录在wtmp文件中;wtmp文件被命令last和ac使用。
- 所有的记录都包含时间戳。时间戳对于日志来说非常重要,因为很多攻击行为分析都是与时间有极大关系的
- 这两个文件是二进制文件,不能用诸如tail、cat之类的命令来进行访问、操作。
5、内核及系统日志
- 由系统服务rsyslogd统一管理
- 软件包:rsyslog-7.4.7-7.el7_0.x86_64
- 主要程序:/sbin/rsyslogd
- 配置文件:/etc/rsyslog.conf
5.1 日志消息的级别
- 0 EMERG(紧急): 导致主机系统不可用的情况
- 1 ALERT(警告): 必须马上采取措施解决的问题
- 2 CRIT(严重): 比较严重的情况
- 3 ERR(错误): 运行出现错误
- 4 WARNING(提醒): 可能会影响系统功能的事件
- 5 NOTICE(注意): 不会影响系统但值得注意
- 6 INFO(信息): 一般信息
- 7 DEBUG(调试): 程序或系统调试信息等