成功管理任何系统的关键之一是了解系统中正在发生什么。Linux提供了异常日志,日志的细节是可配置的。Linux日志都是明文存储的,所以用户不需要特殊的工具就可以搜索和阅读。您还可以编写脚本来扫描这些日志,并根据它们的内容自动执行某些功能。Linux日志存储在/var/log目录中。这里有几个由系统维护的日志文件,但是其他服务和程序也可能把它们的日志放在这里。大部分日志只能被root账号读取,但是修改文件的访问权限可以让其他人读取。
RedHat Linux的常见日志文件
RedHat Linux的常见日志文件详述如下
/var/log/boot.log
该文件记录了系统引导过程中的事件,是Linux系统引导自检时显示的信息。
/var/log/cron
该日志文件记录从crontab守护进程crond派生的子进程的操作,前面有用户、登录时间和PID,以及派生进程的操作。CMD的一个动作是cron派生一个调度进程的常见情况。REPLACE操作记录用户对其cron文件的更新,该文件列出了要定期执行的任务计划。RELOAD操作在REPLACE操作之后不久发生,这意味着cron注意到用户的cron文件被更新,cron需要将其重新加载到内存中。在这份文件中可能会发现一些异常。
/var/log/maillog
该日志文件记录了发送到系统或从系统发出的每封电子邮件的活动。它可以用来检查用户使用哪个系统来发送工具或向哪个系统发送数据。以下是日志文件的片段:
引用:
sep 4 17:23:52 UNIX sendmail[1950]:g 849 NPP 01950:from=root,size=25,
class=0,nrcpts=1,
msgid=200209040923.g849Npp01950@redhat.pfcc.com.cn,
relay=root@localhost
UNIX sendmail[1950]:g 849 NPP 01950:to=lzy@fcceec.net,
ctladdr=root (0/0),delay=00:00:04,xdelay=00:00:03,mailer=esmtp,pri=30025,
relay=fcceec.net. [10.152.8.2],dsn=2.0.0,stat=Sent(消息排队)
/var/日志/消息
这个日志文件是许多进程日志文件的汇总,从中可以看到任何入侵企图或成功的入侵。比如下面这几行:
引用:
9月3日08:30:17 UNIX登录[1275]:苏樱的登录2失败(空),
认证失败
9月4日17时40分28秒UNIX -苏樱[2017]:苏樱从
fcceec.www.ec8.pfcc.com.cn
sep 4 17:40:39 UNIX su(PAM _ UNIX)[2048]:苏樱为用户root打开了会话(uid=999)
该文件的格式是每行包含日期、主机名、程序名,后跟包含PID或内核ID的方括号、冒号和空格,最后是一条消息。这个文档有一个缺点,就是记录的入侵尝试和成功入侵事件被淹没在大量正常进程的记录中。但是这个文件可以由/etc/syslog文件定制。/etc /syslog.conf的配置文件决定了系统如何写入/var/messages。如何配置/etc/syslog.conf文件来确定系统日志的行将在后面详细描述。
/var/log/syslog
默认情况下,RedHat Linux不生成此日志文件,但是/etc/syslog.conf可以配置为让系统生成此日志文件。与/etc/log /messages日志文件不同的是,它只记录警告信息,而这些警告信息往往是系统问题的信息,所以我们更应该关注这个文件。要让系统生成此日志文件,请添加:*。将/var/log/syslog添加到/etc /syslog.conf文件中。该日志文件可以记录用户登录时login记录的错误命令、Sendmail的问题、su命令执行失败等信息。以下为实录:
引用:
Sep 6 16:47:52 UNIX登录(pam_unix)[2384]:检查通过;用户未知
/var/log/secure
该日志文件记录与安全相关的信息。日志文件的一部分如下:
引用:
sep 4 16:05:09 UNIX xinetd[711]:START:FTP PID=1815 from=127 . 0 . 0 . 1
sep 4 16:05:09 UNIX xinetd[1815]:USERID:FTP其他:root
sep 4 16:07:24 UNIX xinetd[711]:EXIT:FTP PID=1815 duration=135(秒)
sep 4 16:10:05 UNIX xinetd[711]:START:FTP PID=1846 from=127 . 0 . 0 . 1
sep 4 16:10:05 UNIX xinetd[1846]:USERID:FTP其他:root
sep 4 16:16:26 UNIX xinetd[711]:EXIT:FTP PID=1846 duration=381(秒)
sep 4 17:40:20 UNIX xinetd[711]:START:telnet PID=2016 from=10 . 152 . 8 . 2
/var/log/lastlog
日志文件记录上次成功登录事件和上次不成功登录事件,由login生成。每次用户登录时,都会被查询。这个文件是一个二进制文件,需要使用lastlog命令来查看。根据UID显示登录名、端口号和上次登录时间。如果用户从未登录,将显示为“**从未登录* *”。该命令只能以root权限执行。只需输入lastlog命令,您将看到如下内容:
引用:
最新用户名端口
根tty2星期二2002年9月3日08时32分27秒0800
bin **从未登录* *
守护进程**从未登录* *
adm **从未登录* *
lp **从未登录* *
同步**从未登录* *
关机**从未登录* *
暂停**从未登录* *
邮件**从未登录* *
新闻**从未登录* *
uucp **从未登录* *
操作员**从未登录* *
游戏**从未登录* *
gopher **从未登录* *
2002年9月3日星期二14:49:04 0800
没有人**从未登录* *
nscd **从未登录* *
mailnull **从未登录* *
标识**从未登录* *
rpc **从未登录* *
RPC用户**从未登录* *
xfs **从未登录* *
gdm **从未登录* *
postgres **从未登录* *
apache **从未登录* *
2002年7月15日星期一08:50:37
苏樱tty 2 2002年9月3日星期二08:31:17 0800
bin、daemon、adm、uucp、mail等账号。永远不要登录。如果发现这些账号被登录过,可能是系统被入侵了。如果发现记录的时间不是用户最后一次登录的时间,说明用户的账号已经泄露。
/var/log/wtmp
日志文件永久记录每个用户的登录和注销,以及系统的启动和关闭事件。所以随着系统正常运行时间的增加,文件大小会越来越大,增加的速度取决于系统用户的登录次数。该日志文件可用于查看用户的登录记录。最后一个命令通过访问该文件来获取这些信息,并以相反的顺序从后向前显示用户的登录记录。last还可以根据用户、终端tty或时间显示相应的记录。
该命令最后有两个可选参数:
last -u用户名显示用户的上次登录状态。
Last -t days显示用户在指定天数之前的登录状态。
/var/run/utmp
该日志文件记录了当前登录的每个用户的信息。因此,该文件会随着用户登录和注销系统而不断变化。它只保留当时在线用户的记录,不会为用户保留永久记录。系统中需要查询当前用户状态的程序,如who,W,users,finger等。需要访问这个文件。日志文件不可能包含所有准确的信息,因为一些意外的错误会终止用户登录会话,而且系统没有及时更新utmp记录,所以日志文件记录不是100%可信的。
上面提到的三个文件(/var/log/wtmp,/var/run/utmp,/var/log/lastlog)是日志子系统的关键文档,它们都记录了用户的登录状态。这些文件的所有记录都包含时间戳。这些文件是以二进制存储的,不能直接用less、cat之类的命令查看,需要使用相关命令才能查看。其中,utmp和wtmp文件具有相同的数据结构,而lastlog文件使用另一种数据结构。它们的具体数据结构可以通过man命令查询。
每次用户登录时,登录程序都会在文件lastlog中检查用户的UID。如果是,则用户的上次登录时间、注销时间和主机名被写入标准输出,然后登录程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录将被删除,直到用户登录和注销。Utmp文件被各种命令使用,包括who、w、users和finger。
接下来,登录程序打开文件wtmp以附加用户的utmp记录。当用户登录和注销时,带有更新时间戳的相同utmp记录被附加到该文件。Wtmp文件最后被程序使用。
/var/log/xferlog
该日志文件记录FTP会话,并可以显示用户将哪些文件复制到FTP服务器或从FTP服务器复制了哪些文件。这个文件会显示用户复制到服务器上入侵服务器的恶意程序,以及用户复制了哪些文件供他使用。
文件的格式是:第一个字段是日期和时间,第二个字段是下载文件所需的秒数,远程系统名称,文件大小,本地路径名称,传输类型(A: ASCII,B: binary),压缩相关标志或tar,或' _ '(如果没有压缩),传输方向(相对于服务器:I代表传入,O代表传入)以下是文件的记录:
引用:
9月4日星期三