- 作者|卢梦予
- 信息收集|卢梦予
本文部分信息来源出处:《Linux信息安全实用教程》
0. 前言
要维持Linux系统的安全,必须清楚地知道系统一直在忙碌什么。Linux日志对于安全来说非常重要,它记录了系统每天发生的各种各样的事情,可以通过日志来检查错误发生的原因,或者找出受到攻击时攻击者留下的痕迹。
1. 日志分类
1.1 连接时间日志
连接时间日志由多个程序执行,把日志记录写入到/var/log/wtmp、/var/run/utmp、/var/log/lastlog 三个文件中,使系统管理员能够跟踪到用户在何时登录到系统。
utmp、wtmp、lastlog日志文件记录了用户登录系统和退出系统的有关信息,这三个日志文件记录的内容如下:
- 当前登录的每个用户的信息记录在utmp中;
- 每个用户登录、注销及系统的启动、停机的事件的信息记录在wtmp中,所有的记录都包含时间戳;
- 每个用户最后的登录信息记录在lastlog中。
1.2 进程统计日志
进程统计由系统内核执行。当一个进程终止时,为每个进程向进程统计文件(pacct或acct)中写一条记录,进程统计的目的是为了统计系统执行命令的情况。Linux可以跟踪每个用户运行的每条命令,分析进程统计日志对跟踪一个入侵者有帮助。与连接时间日志不同,进程统计子系统缺省状态下不激活,它必须先启动。在Linux系统中启动进程统计使用action命令,它必须用root身份来运行。
1.3 错误日志
错误日志由syslogd执行。各种系统守护进程、用户程序和内核都通过syslog向文件/var/log/messages报告值得注意的事件。像HTTP和FTP这些提供网络服务的服务器也保存着详细的日志。
2. 常见的日志文件及查看方式
3. 日志消息的级别
根据日志信息的重要程度不同,分为不同的级别:
4. 日志安全分析实例
网络管理人员时刻需要提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合理的时间记载。例如:
下面通过一些实例来学习如何进行可疑事件分析:
上面这几行就是一些可疑记录,系统账号诸如bin、daemon、adm、uucp、mail等绝不应该登录,如果发现这些账号已经登录,就说明系统可能已经被入侵了,例子中mail账号出现源IP地址为200.1.1.1的外来登录记录。另外,若发现记录的时间不是用户上次登录的时间,则说明该用户的账号已经被他人获得了。
发现sshd服务记录上有一条从192.168.2.5主机上来的,试图以hahalupa用户名来登录的信息,由于本机上没有hahalupa用户,所以记录成Illegal user。