日志系统

一、日志的功能

日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时***者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。

二、日志的介绍

1、linux上的日志系统有syslogsyslog-ngsyslog的升级版)

2、日志系统:syslog

它产生的两个进程Syslogd:系统,非内核产生的信息

 Klogd:内核,专门负责记录内核产生的日志信息

三、日志的配置文件/etc/syslog.conf

格式:Facility.level    action

1Facility(日志的子系统)是产生信息的系统应用程序或工具,是产生日志的来源。

Facility包含有: auth       认证相关的 

     authpriv   权限,授权相关的 

     cron       任务计划相关的 

     daemon     守护进程相关的 

      kern       内核相关的 

     lpr       打印相关的 

     mail          # 邮件相关的 

     mark          # 标记相关的 

     news          # 新闻相关的 

     security  安全相关的,auth 类似  

     syslog         # syslog自己的 

     user      # 用户相关的 

     uucp      # unix to unix cp 相关的 

     local0 到 local7  用户自定义使用 

     *         *表示所有的facilityAction(动作)

2、日志的级别level

Level(日志的级别):debug         程序或系统的调试信息 

    info           一般信息   

notice         不影响正常功能,需要注意的消息 

warning/warn   可能影响系统功能,需要提醒用户的重要事件 

  err/error       错误信息 

crit            # 比较严重的 

alert           必须马上处理的 

emerg/panic     会导致系统不可用的 

*              表示所有的日志级别 

none           相反,表示啥也没有 

3action(动作)日志记录的位置 

     系统上的绝对路径   普通文件 如: /var/log/xxx 

     |                   # 管道  通过管道送给其他的命令处理 

     终端               终端   如:/dev/console 

      @HOST           远程主机 如: @10.0.0.1      

     用户               系统用户 如: root 

     *                   # 登录到系统上的所有用户,一般emerg级别的日志是

这样定义的

定义格式例子: 

mail.info   /var/log/mail.log # 表示将mail相关的,级别为info及 

                              # info以上级别的信息记录到/var/log/mail.log文件中 

auth.=info  @10.0.0.1         # 表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去 

                              # 前提是10.0.0.1要能接收其他主机发来的日志信息 

user.!=error                  # 表示记录user相关的,不包括error级别的信息 

user.!error                   # user.error相反 

*.info                        # 表示记录所有的日志信息的info级别 

mail.*                        # 表示记录mail相关的所有级别的信息 

*.*                           # 你懂的

cron.info;mail.info           # 多个日志来源可以用";" 隔开 

cron,mail.info                # cron.info;mail.info 是一个意思 

mail.*;mail.!=info            # 表示记录mail相关的所有级别的信息,但是不包括info级别的 

四、查询日志

我们可以看到LINUX系统信息日志的途径基本有以下2种:

1dmesg查看----这个命令比较常见dmesg是从kernel ring buffer(环缓冲区)中读取信息的

2/var/log/下的文件

五、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

该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。下面是该日志文件的片段:

/var/log/messages: 系统标准错误日志信息;非内核产生引导信息;各子系统产生的信息;